1. 池化层
如果我们拍摄黑白之间轮廓清晰的图像X,并将整个图像向右移动一个像素,即Z[i, j] = X[i, j + 1],则新图像Z的输出可能大不相同。而在现实中,随着拍摄角度的移动,任何物体几乎不可能发生在同一像素上。即使用三脚架拍摄一个静止的物体,由于快门的移动而引起的相机振动,可能会使所有物体左右移动一个像素(除了高端相机配备了特殊功能来解决这个问题)。
因此,引入汇聚(pooling)层,它具有双重目的:降低卷积层对位置的敏感性,同时降低对空间降采样表示的敏感性。
2. 二维最大池化
池运算是确定性的,我们通常计算汇聚窗口中所有元素的最大值或平均值。这些操作分别称为最大汇聚层(maximum pooling)和平均汇聚层(average pooling)。
回到本节开头提到的对象边缘检测示例,现在我们将使用卷积层的输出作为2 * 2最大汇聚的输入。 设置卷积层输入为X,汇聚层输出为Y。 无论X[i, j]和X[i, j + 1]的值相同与否,或X[i, j + 1]和X[i, j + 2]的值相同与否,汇聚层始终输出Y[i, j] = 1。
也就是说,使用2 * 2最大汇聚层,即使在高度或宽度上移动一个元素,卷积层仍然可以识别到模式。
3. 填充,步幅和多个通道
- 池化层与卷积层类似,都具有填充和步幅
- 没有可学习的参数
- 在每个输入通道应用池化层以获得相应的输出通道
- 输出通道数 = 输入通道数
4. 平均池化层
5. 总结
- 池化层返回窗口中最大或平均值
- 缓解卷积层对位置的敏感性
- 同样有窗口大小、填充和步幅作为超参数
6. 一些Q&A
Q1:池化层一般是放在卷积层后面吗?池化层能放在卷积层前面吗?
A1:通常语义上来说,池化层一般是放在卷积层后面
Q2:池化时,窗口有重叠和没有重叠影响如何?
A2:没什么影响,区别不大。
ps:池化层能减少运算量,但现在计算力越来越高,就越来越少的池化,例如Alphago就一个池化都没有