泛统计理论初探——再探卷积神经网络

神经网络学习-卷积神经网络之池化

理解卷积神经网络的池化操作
    在上一篇的文章中,我们介绍了卷积神经网络的两个特点,即参数共享和稀疏性,通过这些特点使得卷积神经网络使用在图像识别上是比较有成效的,因为这种网络结构和参数情况是天然适应那些目标识别类的问题的,但与此同时,卷积神经网络里非常重要的一步“池化操作”在之前的文章还没有介绍,本次文章将会就这个步骤进行介绍。值得注意的是,池化操作在一般情况下是不对一块区域反复进行操作的,也就是每一次池化操作是针对的不同区域。这种不对一块区域反复进行操作的池化操作被称之为非重叠池化或者一般池化,而有些情况下会对重叠的区域进行池化,这种就被称之为重叠池化。在后面的例子中会进行详细介绍。
    一般来说池化操作的方法主要有最大池化操作、均值池化操作、随机池化操作。其中均值池化就是一种对选中区域做平均值计算的一种池化方法,这种方法可以帮助尽可能地保留图像的模糊信息;而对于最大池化操作的原理就是字面意思,取选中区域的值取最大值的一种池化方法,这种方法是能够较好地刻画图像中的纹路或是边框的特征,因为最大的池化能够放大在某一邻域内的像素和其他像素的区分度。当然还有随机池化操作,这种方法其实就让选中区域的地方以等概率的情况让每个值被等可能地抽取到,这其实是一种正则化的思路,因为它可以防止模型的过拟合。其实还有一些其他的变异池化方法,比如在均值池化操作的思路上进行拓展,引入中位数池化操作或者任意K个进行平均池化操作等。
在这里插入图片描述
    在上图中我们可以发现,当原始矩阵是4乘以4的方阵时,我们如果选择的是不重复池化的操作,并且选择的方法是最大池化方法,池化操作的窗口大小是2乘以2,而步长设置为2,那么这个时候就会得到右边的矩阵,通过最大池化操作,使得在每个区域内的最大值被保留,从而得到一个2乘以2的方阵,在保留部分信息的基础上达到了降维的目标。显然如果步长设置为1而其他条件不变的情况下,会得到一个3乘以3的方阵,但是这种情况下就是所谓的重叠区域的池化操作,一般看具体问题来决定步长到底是设置多少。
    显然根据上图的例子我们发现,池化的最大作用就是降维,但是显然它和之前文章中提到的参数共享操作一样,池化操作也对平移、旋转、放缩的操作具有不变性,因为它是由池化窗口的特性所决定的。显然对于卷积神经网络来说,如果在每次卷次层后面放置的是全连接层,那么降维的效果是不大的,池化层的目标就是为了减少信息冗余,只获取最有用、最显著的特征。
    由于这种只提取最重要信息的能力,或者说是目标提取的能力,使得卷积神经网络不仅在图像识别中被使用,在自然语言处理的实体识别中也经常被使用,因为这种滑窗操作是一种提取局部特征的操作。其实从广义角度来说,这种池化操作也是一种Attention注意力机制,只不过窗口越大需要注意的东西越多。总的来说,池化和卷积都是CNN里面非常经典的处理思路,这是卷积神经网络和普通全连接神经网络的区别,初学者需要了解它们的原理和差异性。

猜你喜欢

转载自blog.csdn.net/qq_26727101/article/details/109398670
今日推荐