经过 @纸上得来终觉浅~ 同学指点,更新之前的错误:
下采样和池化其实只是叫法不同,是同一个东西。
更正:下采样和池化应该是包含关系,池化属于下采样,而下采样不局限于池化,如果卷积 stride=2,此时也可以把这种卷积叫做下采样。
# 池化
通常池化层紧跟在 CNN 的卷积层之后。
池化方法:
- max-pooling:对邻域内特征点取最大值
- mean-pooling:对邻域内特征点求平均
池化的作用:
- 降维,减少网络要学习的参数数量
- 防止过拟合
- 扩大感受野
- 实现不变性(平移、旋转、尺度不变性)
关于池化的神解释:
池化 = 涨水
池化的过程 = 升高水位(扩大矩阵网格)
池化的目的是为了得到物体的边缘形状
可以想象水要了解山立体的形状,水位低时得出山脚的形状,水位中等时得出山腰的形状,水位高时得出山顶的形状,三点就可以大致描出山的简笔画。
而卷积的过程是区分哪里是水,哪里是山。
对于网络结构而言,上面的层看下面的层经过 pooling 后传上来的特征图,就好像在太空上俯瞰地球,看到的只有山脊和雪峰。这即是对特征进行宏观上的进一步抽象。
那么为什么需要 进行抽象 呢?
因为经过池化后,得到的是 概要统计特征 。它们不仅 具有低得多的维度 (相比使用所有提取得到的特征),同时还会 改善结果(不容易过拟合) 。
max_pooling: 夜晚的地球俯瞰图,灯光耀眼的穿透性让人们只注意到最max的部分,产生亮光区域被放大的视觉错觉。故而 max_pooling 对较抽象一点的特征(如纹理)提取更好。
average_pooling: 白天的地球俯瞰图,幅员辽阔的地球表面,仿佛被经过了二次插值的缩小,所有看到的都是像素点取平均的结果。故而 average_pooling 对较形象的特征(如背景信息)保留更好。