卷积神经网络的一些细节思考(卷积池化层的作用)
Posted Hearthougan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了卷积神经网络的一些细节思考(卷积池化层的作用)相关的知识,希望对你有一定的参考价值。
卷积神经网络由卷积核来提取特征,通过池化层对显著特征进行提取,经过多次的堆叠,得到比较高级的特征,最后可以用分类器来分类。这是CNN的一个大概流程,其具体实现的结构是丰富多样的,但总的思想是统一的。
CNN整个的计算过程,最重要的有两点:组合性和局部不变性(平移、旋转、尺度放缩)。
组合性:
每个卷积核可以看做某种特征的提取器。所谓组合性就是将卷积核提取的一些简单特征进行组合,得到更高级的特征。比如图像的人脸分类:
第一个卷积层,可能只是从原始图像像素中学习到一些边缘特征,第二个卷积层可以从这些边缘特征中探测到简单的形状特征,然后接下来的卷积层,就可以用这些简单的形状特征探测到更高级的特征。比如人脸的形状。
局部不变性:
所谓局部不变性,比如图像,就是图像经过简单的平移、旋转、尺度放缩,池化层在相同的位置依旧可以提取到相同的特征。是的,这是池化层完成的任务。那么怎么样理解不变性呢,为了方便理解,如下图示例(来源知乎):
(1)平移不变性:
假设有一个16x16的图片,里面有个数字1,我们需要识别出来,这个数字1可能写的偏左一点(图1),这个数字1可能偏右一点(图2),图1到图2相当于向右平移了一个单位,但是图1和图2经过max pooling之后它们都变成了相同的8x8特征矩阵,主要的特征我们捕获到了,同时又将问题的规模从16x16降到了8x8,而且具有平移不变性的特点。图中的a(或b)表示,在原始图片中的这些a(或b)位置,最终都会映射到相同的位置。
(2)旋转不变性:
下图表示汉字“一”的识别,第一张相对于x轴有倾斜角,第二张是平行于x轴,两张图片相当于做了旋转,经过多次max pooling后具有相同的特征。
(3)尺度不变性:
下图表示数字“0”的识别,第一张的“0”比较大,第二张的“0”进行了较小,相当于作了缩放,同样地,经过多次max pooling后具有相同的特征。
注:这三种操作只能保证小幅度的变换,如果变换幅度较大,池化层并不能保证这种局部不变性。
池化层:
maxpooling除了刚刚所讲的有局部不变性,还有可以提取显著特征的同时降低模型的参数,从而降低模型的过拟合。
因为只是提取了显著特征,而舍弃了不显著的信息,是的模型的参数减少了,从而一定程度上可以缓解过拟合的产生。
以上是关于卷积神经网络的一些细节思考(卷积池化层的作用)的主要内容,如果未能解决你的问题,请参考以下文章