3.3 CNN卷积神经网络基础知识-Pooling池化(百度架构师手把手带你零基础实践深度学习原版笔记系列)

3.3 CNN卷积神经网络基础知识-Pooling池化(百度架构师手把手带你零基础实践深度学习原版笔记系列)

池化(Pooling)

池化是使用某一位置的相邻输出的总体统计特征代替网络在该位置的输出,其好处是当输入数据做出少量平移时,经过池化函数后的大多数输出还能保持不变。比如:当识别一张图像是否是人脸时,我们需要知道人脸左边有一只眼睛,右边也有一只眼睛,而不需要知道眼睛的精确位置,这时候通过池化某一片区域的像素点来得到总体统计特征会显得很有用。由于池化之后特征图会变得更小,如果后面连接的是全连接层,能有效的减小神经元的个数,节省存储空间并提高计算效率。 如 图15 所示,将一个2×2的区域池化成一个像素点。通常有两种方法,平均池化和最大池化。
 


图15:池化


 

  • 如图15(a):平均池化。这里使用大小为2×2的池化窗口,每次移动的步幅为2,对池化窗口覆盖区域内的像素取平均值,得到相应的输出特征图的像素值。
  • 如图15(b):最大池化。对池化窗口覆盖区域内的像素取最大值,得到输出特征图的像素值。当池化窗口在图片上滑动时,会得到整张输出特征图。池化窗口的大小称为池化大小,用kh×kw表示。在卷积神经网络中用的比较多的是窗口大小为2×2,步幅为2的池化。

与卷积核类似,池化窗口在图片上滑动时,每次移动的步长称为步幅,当宽和高方向的移动大小不一样时,分别用sw​和sh表示。也可以对需要进行池化的图片进行填充,填充方式与卷积类似,假设在第一行之前填充ph1行,在最后一行后面填充ph2​行。在第一列之前填充pw1​列,在最后一列之后填充pw2列,则池化层的输出特征图大小为:

(移动填充逻辑和卷积操作一样,因此变化后结构也是一样的)

在卷积神经网络中,通常使用2×2大小的池化窗口,步幅也使用2,填充为0,则输出特征图的尺寸为:

通过这种方式的池化,输出特征图的高和宽都减半,但通道数不会改变。

猜你喜欢

转载自blog.csdn.net/coolyoung520/article/details/109074722
今日推荐