首页 理论教育 深度学习与深度合成:池化层的实现和作用

深度学习与深度合成:池化层的实现和作用

时间:2023-11-18 理论教育 版权反馈
【摘要】:介绍了卷积层,下面看一下池化层的实现方法和作用。池化层仿照了人的视觉系统对视觉输入对象进行抽象和降维的功能。当输入数据发生微小偏差时,池化结果仍会保持一致。因此,池化操作是对原始图像进行更大尺度的特征提取,对输入数据的偏差具有一定鲁棒性。但池化层一般需要设置两个超参数,一是池化运算的类型,可以选择最大池化或者均值池化等。计算经过池化层的图像尺寸同样也有公式可循。

深度学习与深度合成:池化层的实现和作用

介绍了卷积层,下面看一下池化层(Pooling Layer)的实现方法和作用。池化层多在卷积层之后,池化层用的方法有最大池化(Max pooling)和均值池化(average pooling),其实现思想都非常简单,实际用得较多的是最大池化。

图5-11 最大池化操作

如图5-11所示,对于一个4×4的原始图像,采用最大池化作2×2的池化操作,就是对每个2×2不重叠的相邻区域压缩信息,取2×2窗口中的最大值作为一个像素点输出。比如输入矩阵第一个2×2窗口区域中最大的数是6,那么输出矩阵的第一个元素就是6,如此类推。可以想象成一个2×2的小窗口在输入图像上从左到右、从上到下地以2个元素的步长进行移动和运算,当遍历完原始图像后,会得到一张表示池化结果的小图像,该图像大小比原始图像缩小了3/4。

池化层仿照了人的视觉系统对视觉输入对象进行抽象和降维的功能。从池化的实现方法可以看出,池化操作在保留图像主要特征的同时,能够大幅减少冗余的细节信息,体现了图像处理中的特征尺度不变性,即网络模型应该更加关注是否存在某些特征而不是特征存在的具体位置。当输入数据发生微小偏差时,池化结果仍会保持一致。因此,池化操作是对原始图像进行更大尺度的特征提取,对输入数据的偏差具有一定鲁棒性。而且池化操作相当于在空间范围内做了明显的维度约减,在网络模型抽取特征的同时减小了下一层网络的数据输入,进而减少参数个数和计算量,在一定程度上有助于防止过拟合现象。(www.xing528.com)

池化层和卷积层不同,池化只是在输入图像的每一个相邻的正方形窗口区域中取最大值或平均值,所以输入数据和输出数据的通道数不会发生变化,而且不存在要学习的参数。但池化层一般需要设置两个超参数,一是池化运算的类型,可以选择最大池化或者均值池化等。相对于最大池化是从滑动窗口区域中取出最大值,均值池化则是计算每个窗口区域数据的平均值。二是池化的窗口大小和步长,一般来说,池化窗口大小会和步长设定成相同的值。比如,2×2的窗口的步长会设为2,3×3的窗口的步长会设为3。

计算经过池化层的图像尺寸同样也有公式可循。假设输入图像尺寸为W×H×D1,其中W、H、D1分别代表图像的宽度、高度和通道数,池化滤波窗口的宽度为F,步长为S,则经过池化后输出的图像的宽度、高度和通道数分别为:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈