大家好,欢迎来到IT知识分享网。
卷积神经网络的两大重要组成:卷积层和汇聚层(又名:池化层,英文:pooling),两者通常在网络中交替使用。
pooling定义
汇聚层的本质是一个下采样,仿照人的视觉系统进行降维(下采样),用更高层的抽象表示图像特征,常用于缩减模型大小,提高计算速度,同时提高所提取特征的鲁棒性。
输入数据单纯的经过连续多个卷积之后维度越来越高,参数量会逐渐增大,但特征图特征并没有多大改变。这样不仅会大大地增加网络训练的难度,还容易造成过拟合的现象,所以通常会在卷积层之后放一个汇聚层对数据进行压缩,降低维度,减少参数量,对特征进行浓缩提取精华。
pooling过程
pooling是在不同的通道上分开执行的(就是池化操作不改变通道数),且不需要参数控制。然后根据窗口大小进行相应的操作,常用的池化操作主要有两种:最大池化(max-pooling) 和平均池化(mean-pooling)。
具体操作是将一个像素点与它周围的数据点进行聚合统计,缩减特征图的尺寸,然后对其相邻的区域取均值或最大值,进一步减少参数量。
通过池化操作,提取的特征对光线等因素的适应能力也有所增强。池化操作能够对上一层的特征图进行融合,因为相邻区域的参数具有较强的关联性,还能够防止发生过拟合现象。
pooling作用
1.特征不变性:这种不变性包括translation(平移),rotation(旋转),scale(尺度);
池化层压缩保留主要特征,相当于图形的resize,保留了具有尺度不变性的特征,使模型更加关注是否存在某些特征而不是特征具体的位置。
(详情参考:https://www.zhihu.com/question//answer/)
2.特征降维:池化相当于在空间范围内做了维度缩减,去除冗余信息,从而使模型可以抽取更加广范围的特征。同时减小了下一层的输入大小,进而减少计算量和参数个数。
3.在一定程度上防止过拟合,更方便优化。
pooling种类
最常见的池化操作为最大池化和平均池化:
最大池化 Max Pooling
前向传播:选图像区域的最大值作为该区域池化后的值。
反向传播:梯度通过最大值的位置传播,其它位置梯度为0。
平均池化 Average Pooling(也称mean pooling)
前向传播:计算图像区域的平均值作为该区域池化后的值。
反向传播:梯度取均值后分给每个位置。
pooling缺点
虽然pooling能够增大感受野,让卷积看到更多的信息,但是它在降维的过程中丢失了一些信息(因为毕竟它变小了嘛,只留下了它认为重要的信息),降低了分辨率。
当pooling的stride=2,可以减少一半的计算量,但是卷积也可以进行stride=2的操作,所以这一步可以在卷积中进行替代。
而且我们会对图片做大量的数据增强,比如移动,放大,缩小,旋转等,使得卷积神经网络本身看到的数据就是有很多变化的,这里也降低了池化层的作用。
因此池化层在网络中用得越来越少了。
代码演示
总结
在多通道上,池化和卷积的主要区别在于池化是每个通道做一个池化,但是并不会去进行通道的融合,而卷积是会进行多通道融合的。
池化层和卷积层一样有一组超参数(窗口大小、填充和步幅),但反向传播中并没有参数需要学习。
池化层只是计算神经网络某一层的静态属性,用于缓解卷积层对位置的敏感性、减小参数量。
对于给定输入元素,最大池化层会输出该窗口内的最大值,平均池化层会输出该窗口内的平均值。
池化层的主要优点之一是减轻卷积层对位置的过度敏感。
我们可以指定池化层的填充和步幅,使用最大池化层以及大于1的步幅,可减少空间维度(如高度和宽度)。
池化层的输出通道数与输入通道数相同。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/162079.html