池化知识点
1.池化的作用
- 下采样
- 引入非线性因素
- 特征减小、保留主要的特征,减少参数和计算量,达到降维的效果
- 防止过拟合
- 扩大感受野
- 实现平移旋转不变性
2.池化的分类
最大池化、平均池化、全局平均池化、金字塔池化,、全局加权池化(分组卷积提到)
特征提取的误差主要来自两个方面: (1)邻域大小受限造成的估计值方差增大; (2)卷积层参数误差造成估计均值的偏移。
平均池化能减小第一种误差(方差增大),更多的保留图像的背景信息, 最大池化能减小第二种误差(均值偏移),更多的保留纹理信息。
3.池化的反向传播
原则:把1个像素的梯度传递给4(n*n)个像素,但是需要保证传递的loss(或者梯度)总和不变 平均池化:将梯度平均分给池化之前的每个像素 最大池化:将梯度只分给之前最大值的像素,其他的为0
4.全局平均池化
GAP1 GAP2 在Class Activation Mapping(CAM)中提出,就是对整张特征图(比如有256张特征图,对每张都)求个平均值出来,一般用于后面的全连接层。
现在使用很广泛,一般的分类网络都使用了这个。
5.空间金字塔池化
空间金字塔池化1 空间金字塔池化的思想来自SPP。它将一个池化变成了多尺度的池化,用不同大小的窗口对特征进行池化。这样做的好处是,空间金字塔池化可以把任意尺度的卷积特征转化成相同维度的特征向量,这不仅可以让CNN处理任意尺度的图像,还能避免cropping和warping操作导致的一些信息丢失,具有非常重要的意义。
- 我们把一张完整的图片,分成了16个块,也就是每个块的大小就是(w/4,h/4);
- 我们把一张完整的图片,划分了4个块,每个块的大小就是(w/2,h/2);
- 我们把一张完整的图片,作为了1个块,也就是块的大小为(w,h)。
- 空间金字塔最大池化的过程,就是对这21块,分别计算每块的最大值(分别最大池化),从而得到一个输出神经元。
在YOLO V4里,SPP也使用了,进行了 1 x 1, 5 x 5, 9 x 9, 13 x 13的池化,然后在通道上cat,这样做增加了不同尺度的特征
|