#池化方法

池化操作是卷积神经网络中的一个特殊的操作,主要就是在一定的区域内提出该区域的关键信息(一个亚采样过程)。其操作往往出现在卷积层之后,它能起到减少卷积层输出的特征量数目的作用,从而能减少模型参数同时能改善过拟合现象。池化操作通过池化模板和步长两个关键变量构成。模板描述了提取信息区域的大小(size_PL),一般是一个方形窗口;步长(stride)描述了窗口在卷积层输出特征图上的移动步长,一般和模板边长相等(即模板移动前后不重叠)。


##平均池化(averager pooling)

平均池化是对池化模板进行均值化操作,这能保留模板内的数据的整体特征从而背景信息。

Java池化 技术 什么是池化操作_pooling


##最大池化(max pooling)

最大池化是保留模板内信息的最大值,这是在提取纹理特征,保留更多的局部细节。

Java池化 技术 什么是池化操作_pooling_02


##随机池化(stochastic pooling)

模板内元素值大的被选中的概率也大,这种方法既不会一直选择max值。但这种池化效果并不稳定即不能保证池化的结果一定是好的,可能产生更坏的结果。随机池化伴随着概率矩阵,每个元素对应一个被选取的概率,模板内概率和为1。

Java池化 技术 什么是池化操作_Java池化 技术_03


##重叠池化(overlapping pooling)

前三种池化方法一般设置stride和size_PL相等,可以称之为一般方法。如果步长和池化模板尺寸不相等且两个池化区域存在重叠,这种池化方法称之为重叠池化。

Java池化 技术 什么是池化操作_卷积神经网络CNN_04


##金字塔池化(spatial pyramid pooling)

一般CNN对输入的图像尺寸有着特定的要求,因为这是全卷积层的神经元个数对输入的特征维度是固定的。但采用金字塔池化,则可以将任意图像的卷积特征图像转化为所指定维度的特征向量输入给全卷积层。这就解决了CNN输入图像可以是任意尺寸的问题。

空间金字塔池化是将池化层转化为多尺度的池化,即利用多个不同大小尺度的池化模板来进行池化操作。

Java池化 技术 什么是池化操作_pooling_05