1.9卷积神经网络笔记——池化层

时间:2024-03-15 22:10:54

1.池化层之最大池化

1.9卷积神经网络笔记——池化层

用到池化层的原因:cnn中经常用到池化层来缩减表示大小,提高计算速度,同时提高提取特征的鲁棒性。

1.最大池化方法:输入时4*4,输出是2*2;把4*4拆分成不同区域,(用不同颜色标记)每个颜色区域取最大值作为对应2*2矩阵输出值。

2.相当于应用过滤器参数为:维度f=2,步长s=2。

3.含义:可以把4*4输入矩阵看成某些特征集合(或许不是),即神经网络中某一层非**值集合,数字大意味着检测到了某些特定特征。输入矩阵的左上角存在大数字,具有某个特定特征;右上角数字小,没检测到某特定特征。

4.最大池化作用:只要在过滤器任何地方检测到某特征,在最大池化输出里保留最大值;如果没提取到这一特征,输出的最大值依然很小。最大池化效率高的原因:有一组超级参数,但没有参数需要学习,一旦确定了s、f,梯度下降就是固定运算,梯度下降不改变任何值。

eg最大池化举例:

1.9卷积神经网络笔记——池化层

输入是5*5矩阵,过滤器参数f=3,s=1,利用计算卷积层输出大小的公式计算最大池化层输出大小。如果输入是3维(5*5*nc),输出也是3维(3*3*nc),此时需要对每个通道分别执行二维最大池化过程。

2.平均池化

1.9卷积神经网络笔记——池化层

不是取区域最大值而是取平均值,过滤器参数f=2,s=2。可以用平均池化来分解深度很深的神经网络表示层:例如7*7*1000——>1*1*1000。神经网络中最大池化比平均池化常用到。

3.总结

1.9卷积神经网络笔记——池化层

常用参数f=2,s=2,效果相当于表示层高度宽度缩减一半;f=3,s=2也有时会用到。其他非常用滤波器参数就要看池化类型了,也可自行增加padding参数,但是很少用,目前p常用值=0,但也有例外,以后会讲到。

需要注意的是:池化过程没有参数要学习,执行反向传播时,反向传播没有参数适用于最大池化,只有已经设置好的参数f、s。最大池化只是计算神经网络某一层的固定函数。