《深度学习之图像识别:核心技术与案例实战》 ——1.2.3 感受野与池化
1.2.3 感受野与池化
感受野(Receptive Field)是卷积神经网络的重要概念之一,当前流行的物体识别方法的架构大都围绕感受野的设计。
从直观上讲,感受野就是视觉感受区域的大小。在卷积神经网络中,从数学角度看,感受野是CNN中某一层输出结果的一个元素对应输入层的一个映射,即Feature Map上的一个点所对应的输入图上的区域,具体示例如图1.8所示。
图1.8 感受野示例图
如果一个神经元的大小受到上层N×N的神经元区域的影响,那么就可以说该神经元的感受野是N×N,因为它反映了N×N区域的信息。在图1.8Conv2中的像素点为5,是由Conv1的2×2区域计算得来,而该2×2区域,又是由Raw Image中5×5区域计算而来,因此该像素的感受野是5×5。可以看出,感受野越大,得到的全局信息越多。
有了感受野再来解释池化(Pooling)也很简单,从图1.8中的Raw Image到Conv1,再到Conv2,图像越来越小,每过一级就相当于一次降采样,这就是池化。池化可以通过步长不为1的卷积实现,也可以通过Pool直接插值采样实现,本质上没有区别,只是权重不同。
通过卷积获得了特征之后,下一步则是用这些特征去做分类。理论上讲,人们可以把所有解析出来的特征关联到一个分类器上,例如,Softmax分类器,但计算量非常大,并且极易出现过度拟合(Over-fitting)。而池化层则可以对输入的特征图进行压缩,一方面使特征图变小,简化网络计算复杂度;另一方面进行特征压缩,提取主要特征。
池化作用于图像中不重合的区域(这与卷积操作不同),一般而言池化操作的每个池化窗口都是不重叠的,因此池化窗口的大小等于stride。如图1.9所示,这里的移动步长stride=2,采用一个大小为2×2的池化窗口,Max Pooling是在每一个区域中寻找最大值,最终在原特征图中提取主要特征得到图1.9的右图。
图1.9 最大池化操作示意图
最常见的池化操作为平均池化(Mean Pooling)和最大池化(Max Pooling)。平均池化是计算图像区域所有元素的平均值作为该区域池化后的值,最大池化则是选图像区域中元素的最大值作为该区域池化后的值。
在ICLR2013上,Zeiler提出了随机池化(Stochastic Pooling),只需对Feature Map中的元素按照其概率值大小随机选择,元素被选中的概率与其数值大小正相关,并非如同max pooling那样直接选取最大值。这种随机池化操作不但最大化地保证了取值的Max,也部分确保不会所有元素都被选取max值,而造成过度失真。
在池化操作提取信息的过程中,如果选取区域均值(Mean Pooling),往往能保留整体数据的特征,较好地突出背景信息;如果选取区域最大值(Max Pooling),则能更好地保留纹理特征。但最理想的还是小波变换,不但可以在整体上更加细微,还能够保留更多的细节特征。池化操作本质是使特征图缩小,有可能影响网络的准确度,对此我们可以通过增加特征图的深度来弥补精度的缺失。
本章首先从神经网络的生物学原理到感知机的提出和BP优化算法,阐述了传统神经网络的核心思想,然后对卷积神经网络的核心概念进行了详细介绍,这是全书的基础。
- 点赞
- 收藏
- 关注作者
评论(0)