1.9 池化层(Pooling layers)
Previous1.8 简单卷积网络示例(A simple convolution network example)Next1.10 卷积神经网络示例(Convolutional neural network example)
Last updated
Last updated
Pooling layers是CNN中用来减小尺寸,提高运算速度的,同样能减小noise影响,让各特征更具有健壮性
Pooling layers没有卷积运算,仅在滤波器算子滑动区域内取最大值,即max pooling,这是最常用的做法。超参数p很少在pooling layers中使用
Max pooling的好处是只保留区域内的最大值(特征),数字大意味着可能探测到了某些特定的特征,忽略了其它值,降低了noise影响,提高了模型健壮性。max pooling需要的超参数仅为滤波器尺寸f和滤波器步进长度s,没有其他参数需要模型训练得到,计算量很小
如果是多个通道,每个通道单独进行max pooling操作:
average pooling是在滤波器算子滑动区域计算平均值:
实际应用中,max pooling比average pooling更为常用,也有例外,深度很深的神经网络可以用平均池化来分解规模为7×7×1000的网络的表示层,在整个空间内求平均值,得到1×1×1000
总结:
池化的超级参数包括过滤器大小和步幅,常用的参数值为,,应用频率非常高,其效果相当于高度和宽度缩减一半。最大池化时,往往很少用到超参数padding,最常用的值是0,即。最大池化的输入就是:
假设没有padding,则输出:
输入通道与输出通道个数相同,因为对每个通道都做了池化。最大池化只是计算神经网络某一层的静态属性,池化过程中没有需要学习的参数。执行反向传播时,反向传播没有参数适用于最大池化