卷积神经网络理论

卷积层

任务:对输入的图像进行特征提取

  • 用一个小的权重矩阵去覆盖输入数据,对应位置元素加权相乘,其和作为结果的一个像素点。

  • 这个权重在输入数据上滑动,形成一张新的矩阵

  • 这个权重矩阵就被称为卷积核(convolution kernel)

  • 其覆盖的位置称为感受野(receptive fileld )

  • 生成的新矩阵叫做特征图(feature map)

如下图所示:

步长(stride):

  • 步长为1,表示跳过1个像素

  • 步长为2,就表示跳过2个像素

补齐(padding)方式:

  • valid方式

  • same方式(会在图像的边缘用0补齐)

输出维度计算公式:

  • VALID: W-F+1/S

  • SAME: W/S

注意:彩色图像的卷积核是三阶的,所有的通道的结果要做累加。

实例:

padding=same;步长设置为2

池化层

`任务`:对特征进行采样,即用一个数值替代一块区域,主要是为了降低网络训练参数及模型的过拟合程度。以及降低计算量。

池化/采样的方式通常有以下两种:

  1. 最大池化(Max Pooling: 选择Pooling窗口中的最大值作为采样值;
  2. 均值池化(Mean Pooling): 将Pooling窗口中的所有值相加取平均,以平均值作为采样值
  3. 高斯池化:借鉴高斯模糊的方法。不常用。
  4. 可训练池化:使用一个训练函数y=f(x)y=f(x)。不常用。

全链接层

任务:全连接层的每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来。
由于其全相连的特性,一般全连接层的参数也是最多的。

dropout层

任务:在模型训练时随机让网络某些隐含层节点的权重不工作,不工作的那些节点可以暂时认为不是网络结构的一部分,但是它的权重得保留下来(只是暂时不更新而已),因为下次样本输入时它可能又得工作了。主要是为了防止过拟合

激活层

任务:卷积后的结果压缩到某一个固定的范围做非线性映射,这样可以一直保持一层一层下去的数值范围是可控的。

激活函数:

  • Sigmoid
  • Tanh(双曲正切)
  • ReLU
  • Leaky ReLU
  • ELU
  • Maxout

卷积神经网络一般采用的激活函数是ReLU(The Rectified Linear Unit/修正线性单元),它的特点是收敛快,求梯度简单,但较脆弱,图像如下:

激活层的实践经验:   

  • 不要用sigmoid!不要用sigmoid!不要用sigmoid!   
  • 首先试RELU,因为快,但要小心点   、
  • 如果2失效,请用Leaky ReLU或者Maxout   
  • 某些情况下tanh倒是有不错的结果,但是很少
------ 本文结束 🎉🎉 谢谢观看 ------
0%