Max Pooling理解

Max Pooling是什么

在卷积后还会有一个 pooling 的操作。

max pooling 的操作如下图所示:整个图片被不重叠的分割成若干个同样大小的小块(pooling size)。每个小块内只取最大的数字,再舍弃其他节点后,保持原有的平面结构得出 output。

注意区分max pooling(最大值池化)和卷积核的操作区别:池化作用于图像中不重合的区域(这与卷积操作不同)

这个图中,原来是4*4的图片。优于不会重合,所以filter的大小和步长stride是相等的,为2.

粉色区域最大值为6,得到的该区域结果是6,绿色是8,黄色是3,紫色是4.

有一个动图:

PS:发现其实是有重叠池化的(overlapping pooling)相邻池化窗口之间会有重叠区域,此时filter的大小sizeX>stride步长。

 

Max Pooling的作用

作用1:invariance(不变性)

invariance(不变性),这种不变性包括translation(平移)不变性,rotation(旋转)不变性,scale(尺度)不变性。

(1)translation平移

图中左边两个大图,表示数字1,但是两个的位置不同,上者经过向右平移得到下者。经过池化后,得到了相同的结果。

(2)rotation

左边大图表示的是汉字“一”(姑且这么理解吧,明白就行)。经过两次池化得到了相同的结果。

(3)scale

左边大图表示的是数字0,经过两次池化得到了相同的结果。

再举一个例子:

考虑黄色区域中黑色的形状-----“横折”。经过2*2的filter之后,得到了3*3的output;

经过3*3的最大池化后,都得到了1*1的output 为3.

可以看出,“横折”这个形状,在经过池化后得到的结果是相同的,这就减小下一层输入大小,减小计算量和参数个数,降维(减小feature map的尺寸)。

作用2:增大感受野

可能跟作用1的结论有些因果关系。

首先它第一个作用是降低feature map的尺寸,减少需要训练的参数;其次,因为有缩小的作用,所以之前的4个像素点,现在压缩成1个。那么,相当于我透过这1个点,就可以看到前面的4个点,这不就是把当前map的感受野一下子放大了

听说pooling层可以消失

因为我们可以用步长大于1的卷积来替代。

害,我觉得这肯定是要付出时间代价的emmmm,参数也多。

有人做了实验。

上图是3个CNN的结构模型:①Strided-CNN-C直接使用的conv. + ReLU; ② ConvPool-CNN-C使用了max-pooling,大小为2;③All-CNN-C未使用max-pooling,使用的是步长为2的卷积。

结果如下:

错误率降低了。

Springenberg J T, Dosovitskiy A, Brox T, et al. Striving for Simplicity: The AllConvolutional Net[J]. Eprint Arxiv, 2014.

还是可以用pooling的

因为pooling相对于带步长的卷积操作,毕竟减少了计算量,所以对于很多需要concat/add featuremap通道的小模型,pooling仍然可以以小搏大。比如下面的shufflenet的block。

Zhang X, Zhou X, Lin M, et al. ShuffleNet: An Extremely EfficientConvolutional Neural Network for Mobile Devices[J]. 2017.

参考链接

https://www.jianshu.com/p/c3ba4ca849d3

https://blog.csdn.net/jiachen0212/article/details/78548667

https://www.cnblogs.com/ying-chease/p/8658351.html

https://www.sohu.com/a/160924449_651893

https://www.cnblogs.com/guoyaohua/p/8674228.html

https://blog.csdn.net/dulingtingzi/article/details/79848625

https://blog.csdn.net/u010402786/article/details/51541465

https://blog.csdn.net/weixin_41513917/article/details/102514739

原文地址:https://www.cnblogs.com/cy0628/p/14192058.html