卷积神经网络池化层的作用和种类

池化层(Pooling Layer)也称为子采样层(Subsampling Layer),一般都紧跟在卷积层之后,它的作用是进行特征选择,减少特征的数量,进而减少网络参数的数量。

对于一个特征映射,我们可以将其划分为多个区域(这些区域可以有重合部分),池化就是对这些划分后的区域进行下采样(Down Sampling),然后得到一个值,并将这个值作为该区域的概括。

池化层的方式有多种,一般常用的有最大池化(Maximum Pooling)和平均池化(Mean Pooling):
  • 最大池化:选取区域内的最大值的神经元作为该区域的概括;
  • 平均池化:选取区域内所有神经元的均值作为该区域的概括。

图 1 所示的是一个最大池化和均值池化的示例,这里将一个特征映射划分 4 个区域,即池化窗口的大小为 2×2,步长为 2。
最大池化和平均池化示例
图 2:最大池化和平均池化示例

目前在大多数卷积神经网络中,池化层仅包含下采样操作,没有需要训练的参数。但在一些早期的卷积网络中,会在池化层中使用一个非线性激活函数,例如后面会介绍的 LeNet-5。现在,池化层的作用已经越来越小,通过增加卷积的步长也可以达到池化层同样的效果。因此目前在一些比较新的卷积神经网络中,池化层出现的频率已经越来越低。