【动手学深度学习】6.5 汇聚层(个人向笔记)
- 通常当我们处理图像时,我们希望逐渐降低隐藏表示的空间分辨率、聚集信息,这样随着我们在神经网络中层叠的上升,每个神经元对其敏感的感受野(输入)就越大。
- 而我们的机器学习任务通常会跟全局图像的问题有关(例如,“图像是否包含一只猫呢?”),所以我们最后一层的神经元应该对整个输入的全局敏感。通过逐渐聚合信息,生成越来越粗糙的映射,最终实现学习全局表示的目标,同时将卷积图层的所有优势保留在中间层。
- 此外,当检测较底层的特征时(例如 6.2节中所讨论的边缘),我们通常希望这些特征保持某种程度上的平移不变性。
- 本节将介绍汇聚(pooling)层,它具有双重目的:降低卷积层对位置的敏感性,同时降低对空间降采样表示的敏感性。
1. 最大汇聚层和平均汇聚层
- 汇聚层不包含参数,池运算时确定性的
- 我们通常计算汇聚窗口中所有元素的最大值或平均值
- 下面是一个最大池化的例子
- 汇聚窗口形状给 p × q p×q p×q 的汇聚层被称为 p × q p×q p×q 汇聚层,汇聚操作被称为 p × q p×q p×q 汇聚
- 对于汇聚操作来说,在模式识别时,就算识别目标进行了平移也能被识别到
- 下面是最大或平均汇聚的一个例子
2. 填充与步幅
-
与卷积层一样,汇聚层也可以改变输出形状。即可以通过填充和步幅来获得所需的输出形状
-
默认情况下,步幅和汇聚窗口的大小相同。因此,如果我们使用形状为(3, 3)的汇聚窗口,那么默认情况下,我们得到的步幅形状为(3, 3)
-
也可以手动设定
-
可以设定任意大小的窗口
3. 多个通道
- 在处理多个通道的输入数据时,汇聚层在每个输入通道上单独计算,最后不会像卷积层一样对输入进行汇总
- 这就意味着输出通道数和输出通道数相同