卷积层
任务
:对输入的图像进行特征提取
用一个小的权重矩阵去覆盖输入数据,对应位置元素加权相乘,其和作为结果的一个像素点。
这个权重在输入数据上滑动,形成一张新的矩阵
这个权重矩阵就被称为
卷积核
(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
池化层
`任务`:对特征进行采样,即用一个数值替代一块区域,主要是为了降低网络训练参数及模型的过拟合程度。以及降低计算量。
池化/采样的方式通常有以下两种:
- 最大池化(Max Pooling: 选择Pooling窗口中的最大值作为采样值;
- 均值池化(Mean Pooling): 将Pooling窗口中的所有值相加取平均,以平均值作为采样值
- 高斯池化:借鉴高斯模糊的方法。不常用。
- 可训练池化:使用一个训练函数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倒是有不错的结果,但是很少