对于池化操作,大部分人想到的可能就是Max_Pooling和Average_Pooling,但实际上卷积神经网络的池化方法还有很多,本文对业界目前所出现的一些池化方法进行了归纳总结。
卷积神经网络(Convolution Neural Network, CNN)因其强大的特征提取能力而被广泛地应用到计算机视觉的各个领域,其中卷积层和池化层是组成CNN的两个主要部件。理论上来说,网络可以在不对原始输入图像执行降采样的操作,通过堆叠多个的卷积层来构建深度神经网络,如此一来便可以在保留更多空间细节信息的同时提取到更具有判别力的抽象特征。然而,考虑到计算机的算力瓶颈,通常都会引入池化层,来进一步地降低网络整体的计算代价,这是引入池化层最根本的目的。
作用
池化层大大降低了网络模型参数和计算成本,也在一定程度上降低了网络过拟合的风险。概括来说,池化层主要有以下五点作用:
-
增大网络感受野
-
抑制噪声,降低信息冗余
-
降低模型计算量,降低网络优化难度,防止网络过拟合
-
使模型对输入图像中的特征位置变化更加鲁棒
对于池化操作,大部分人第一想到的可能就是Max_Pooling和Average_Pooling,但实际上卷积神经网络的池化方法还有很多,本文将对业界目前所出现的一些池化方法进行归纳总结:
池化大盘点
1. Max Pooling(最大池化)
定义
最大池化(Max Pooling)是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。其定义如下:
解说
对于最大池化操作,只选择每个矩形区域中的最大值进入下一层,而其他元素将不会进入下一层。所以最大池化提取特征图中响应最强烈的部分进入下一层,这种方式摒弃了网络中大量的冗余信息,使得网络更容易被优化。同时这种操作方式也常常丢失了一些特征图中的细节信息,所以最大池化更多保留些图像的纹理信息。
2. Average Pooling(平均池化)
定义
平均池化(Average Pooling)是将输入的图像划分为若干个矩形区域,对每个子区域输出所有元素的平均值。其定义如下:
解说
平均池化取每个矩形区域中的平均值,可以提取特征图中所有特征的信息进入下一层,而不像最大池化只保留值最大的特征,所以平均池化可以更多保留些图像的背景信息。