1. 池化层的概念

池化是缩小高、长方向上的空间的运算。比如,如图7-14 所示,进行将 2 × 2 的区域集约成 1 个元素的处理,缩小空间大小。

Max 池化
图7-14 的例子是按步幅 2 进行 2 × 2 的 Max池化 时的处理顺序。 Max池化 是获取最大值的运算,“2 × 2”表示目标区域的大小。如图所示,从 2 × 2 的区域中取出最大的元素。此外,这个例子中将步幅设为了 2,所以 2 × 2 的窗口的移动间隔为 2 个元素。

另外, 一般来说,池化的窗口大小会和步幅设定成相同的值 。比如,3 × 3 的窗口的步幅会设为 3,4 × 4 的窗口的步幅会设为 4 等。

除了 Max 池化之外,还有 Average 池化等。相对于 Max 池化是从目标区域中取出最大值, Average 池化则是计算目标区域的平均值。在图像识别领域,主要使用 Max 池化。

通过池化层的计算,我们也能总结出一个通用公式,用于计算输入的特征图经过一轮池化操作后输出的特征图的宽度和高度:

  • W H 分别表示特征图的宽度和高度值;
  • 下标 input 表示输入的特征图的相关参数;
  • 下标 output 表示输出的特征图的相关参数;
  • 下标 filter 表示滑动窗口的相关参数;
  • S 表示滑动窗口的步长,并且输入的特征图的深度和滑动窗口的深度保持一致。

2. 池化层的特征

2.1 没有要学习的参数

池化层和卷积层不同,没有要学习的参数。池化只是从目标区域中取最大值(或者平均值),所以不存在要学习的参数。

2.2 通道数不发生变化

经过池化运算,输入数据和输出数据的通道数不会发生变化。如图 7-15 所示,计算是按通道独立进行的。
图 7-15

2.3 对微小的位置变化具有鲁棒性(健壮)

输入数据发生微小偏差时,池化仍会返回相同的结果。因此,池化对输入数据的微小偏差具有鲁棒性。比如,3 × 3 的池化的情况下,如图7-16 所示,池化会吸收输入数据的偏差(根据数据的不同,结果有可能不一致)。
图 7-16

虽然 池化层 在降低 特征 维度和增强 特征 不变性方面很有用,但近年来一些高性能的 CNN 架构(如ResNet)也展示了在没有显著 池化层 的情况下依然能达到很好的效果。 池化层 (Pooling Layer)是卷积神经网络( CNN )中的一个重要组件,用于减少 特征 图(feature maps)的维度,同时保留重要的 特征 信息。操作方式:池化操作通常涉及在 特征 图上滑动一个窗口,并对窗口内的值进行某种聚合操作。降低维度: 池化层 通过减少 特征 图的大小来降低数据的空间维度,这有助于减少计算量和避免过拟合。-最大池化:选择窗口内的最大值。 通过池化操作, 池化层 可以实现对 特征 的不变性表示,即在图像被压缩时,被去掉的信息是一些不重要的信息,而留下的信息则是具有尺度不变型的 特征 ,也是最能表达图像信息的 特征 。同时, 池化层 还可以去除冗余信息,将最重要的 特征 抽取出来,实现 特征 的降维。 池化层 (Pooling Layer)是深度学习神经网络中常用的一种层级结构,主要用于减小输入数据的空间尺寸,降低模型的计算复杂度,减少过拟合,并在一定程度上提取输入数据的重要 特征 。最大 池化层 (Max Pooling):通过选取每个区域内的最大值来实现 特征 提取和降维的功能。 5.1 常用池化方法 池化 pooling,又称为下采样,downstream sampling or sub-sampling。 池化方法分为两种,一种是最大值池化 Max Pooling,一种是平均值池化 Mean/Average Pooling。如图17-32所示。 图17-32 池化 最大值池化,是取当前池化视野中所有元素的最大值,输出到下一层 特征 图中。 平均值池化,是取当前池化视野中所有元素的平均值,输出到下一层 特征 图中。 其目的是: 扩大视野:就如同先从近处看一张图片,然后离 常见的 池化层 它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效地原因在于,在发现一个 特征 之后,它的精确位置远不及它和其他 特征 的相对位置的关系重要。 池化层 会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。... 池化层 简述 池化层 的分类最大/均值池化中值池化组合池化Spatial Pyramid PoolingGlobal Average/Max Pooling参考文献 池化层 (Pooling Layer)是 CNN 中常见的一种操作, 池化层 通常也叫做子采样(subsampling)或降采样(Downsampling),在构建 CNN 网络时,往往是用在卷积层之后,通过 池化层 来降低卷积层输出的 特征 维度,在有效减少网络参数的同时还可以防止过拟合现象。   说到池化操作,就会想到我们经常用的池化操作,即最大池化(Max 池化(Pooling)是卷积神经网络中另一个重要的 概念 ,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效地原因在于,在发现一个 特征 之后,它的精确位置远不及它和其他 特征 的相对位置的关系重要。 池化层 会不断地减小数据的空间大小,因此参数的数量和计算量... 自从2021年Transformer被引入到视觉模型后,卷积神经网络基本上要末路了,虽然此后也有ConvNeXt、SegNeXt成功挑战过Transformer的地位,但也无力挽回卷积神经网络的大势已去。ConvNeXt使用了一些列的训练技巧(AdamW 优化器、Mixup、Cutmix、RandAugment、Random Erasing等数据增强技)和随机深度和标签平滑等正则化方案,也不过是勉强将 ResNet-50 模型的性能从 76.1% 提高到了 78.8%。 前几篇我们介绍了 CNN 的卷积层,今天我们补充一下 CNN 池化层 。传送门:卷积神经网络( CNN )卷积核的基本概况关于tensorflow与pytorch里的卷积层理解转置卷积与空洞卷积回顾池... 图1 LeNet网络结构 卷积神经网络中还有一个重要的操作——池化操作(Pooling)。池化操作有不同的类型,包括:最大值池化,平均值池化等。在实践中,最大值池化(Max Pooling)有更好的效果。最大值池化的操作过程如图2所示: 图2 最大值池化 在使用池化前,我们需要人为确定池化窗口的大小以及步长(stride),在图2中,池化窗口大小为2x2,步长为2。在最大值池化的情况下,池化窗口会从 特征 图中获取/保留最大的元素。池化操作在降低 特征 图维度的同时也保留了最. 从SPP-Net谈起 there have been two popular ways for multi-scale predictions. The first way is based on image/feature pyramids, e.g., in DPM[*] and CNN -based methods. The images are resized at multiple scales, and feature maps are computed for each scale(Figure 池化操作(Pooling)是 CNN 中非常常见的一种操作,Pooling层是模仿人的视觉系统对数据进行降维,池化操作通常也叫做子采样(Subsampling)或降采样(Downsampling),在构建卷积神经网络时,往往会用在卷积层之后,通过池化来降低卷积层输出的 特征 维度,有效减少网络参数的同时还可以防止过拟合现象。 主要功能有以下几点: 抑制噪声,降低信息冗余 提升模型的尺度不变性、旋转不变形...