Max Pooling介绍

卷积神经网络CNN中,一般在卷积层后还会有一个 pooling层,即池化层,池化层做的实际是数据降维,简化计算。
max pooling的操作如下图所示:整个图片被不重叠的分割成若干个同样大小的小块(pooling size),每个小块内只取最大的数字,舍弃其他节点后,保持原有的平面结构得出output。
池化Pooling中的Max Pooling
注意区分max pooling(最大值池化)和卷积核的操作区别:池化作用于图像中不重合的区域(这与卷积操作不同),上图是4*4的图片,由于不会重合,所以filter的大小和步长stride是相等的,均为2。

Max Pooling的作用

1.translation(平移)不变性(invariance)
左边两个大图中表示数字1,但是两个1的位置不同,上者向右平移得到下者,在经过池化后,得到了相同的结果。
池化Pooling中的Max Pooling
2.rotation(旋转)不变性
左边两个大图中表示数字1,但是两个1的角度不同,上者旋转得到下者,在经过池化后,得到了相同的结果。
池化Pooling中的Max Pooling
3.scale(尺度)不变性
左边两个大图中表示数字0,但是两个0的尺度不同,上者缩小得到下者,在经过池化后,得到了相同的结果。
池化Pooling中的Max Pooling
4.举例
池化Pooling中的Max Pooling
黄色区域中黑色的形状均为“横折”,经过22的filter之后,得到了33的output,再经过33的最大值池化后,都会得到11的output–3。可以看出,“横折”这个形状,在经过池化后得到的结果是相同的,这就减小了下一层输入大小,减小计算量和参数个数,完成了降维(减小feature map的尺寸)。

相关文章: