【机器学习300问】100、怎么理解卷积神经网络CNN中的池化操作?

一、什么是池化?

卷积神经网络(CNN)中的池化(Pooling)操作是一种下采样技术,其目的是减少数据的空间维度(宽度和高度),同时保持最重要的特征并降低计算复杂度。池化操作不仅能够减少模型对计算资源的需求,还能增加模型的鲁棒性(对图像中的小变形不敏感),并帮助提取图像的关键特征。

二、常见池化类型

(1)最大池化

最大池化(Max Pooling)是从输入的每个预定义区域选取最大值作为输出。这是最常用的池化方法,有助于保持图像中的重要特征。

(2)平均池化

平均池化 (Average Pooling)是取输入区域内的平均值作为输出。相比最大池化,平均池化更能平滑特征并减少噪声。

三、池化操作的目的

|-------------|-------------------------------------------|
| 池化的主要作用 | 解释 |
| 降维 | 通过减少特征图的尺寸,降低模型的计算复杂度和内存需求。 |
| 特征不变性 | 增强模型对输入数据中的平移、旋转和尺度变化的不变性,使得模型更加鲁棒。 |
| 防止过拟合 | 通过减少参数数量,降低模型过度拟合训练数据的风险。 |
| 提取重要特征 | 仅保留每个区域的最重要信息,如最大值或平均值,忽略不那么重要的细节。 |
| 增大感受野 | 随着网络的深入,池化帮助后面的层能够"看到"原始输入的更大范围,捕捉更全局的特征。 |

四、池化层的参数

池化操作中有三个重要的参数,它们分别是:池化窗口大小,步长,填充

|---------------------|------------------------------------------------------------------------|
| 参数 | 解释 |
| 池化窗口大小(Kernel Size) | 决定了一次池化操作覆盖输入特征图的区域大小,例如2x2或3x3。缩写成 |
| 步长(stride) | 池化窗口在特征图上移动的间隔,直接影响输出特征图的大小。缩写成 |
| 填充(padding) | 通常在卷积层中更常见,但在某些情况下也可能应用于池化层,以控制输出尺寸。缩写成 |

下图描述的是如何对一个4x4尺寸的特征图中的每个局部区域应用平均池化。具体而言,我们采用一个2x2大小的过滤器(filter),以步长为2的方式遍历特征图,对过滤器覆盖的每个2x2邻域内的像素值进行平均计算,并将得到的平均值作为结果输出到下一层。这种通过局部区域均值采样的技术即被称为平均池化。
用f=2的池化窗口,对p=0的输入数据,进行以步长s=2的平均池化操作

五、池化操作前后尺寸变化

尺寸的公式如下:


池化操作前后尺寸大小

|--------|--------------------------------------------------------------------------------------------|
| 参数 | 解释 |
| H | 池化前的行高 |
| W | 池化前的列宽 |
| C | 池化前的通道数 |
| h | 池化后的行高,,向下取整。 |
| w | 池化后的列宽,,向下取整。 |
| c | 池化后的通道数,,池化后的通道数和池化前一样。 |
| f | 池化窗口打大小,也就是filter的fxf尺寸 |
| s | 池化操作的步长 |

因为一般池化操作都没有padding,也就是 。故按照公式,带入就得到上面图中的公式,如果有padding可按照计算。

相关推荐
whabc100几秒前
和鲸社区深度学习基础训练营2025年关卡2(2)sklearn中的MLPClassifier
人工智能·深度学习·numpy
往日情怀酿做酒 V176392963823 分钟前
pytorch的介绍以及张量的创建
人工智能·pytorch·python
北辰alk35 分钟前
如何实现AI多轮对话功能及解决对话记忆持久化问题
人工智能
智驱力人工智能35 分钟前
极端高温下的智慧出行:危险检测与救援
人工智能·算法·安全·行为识别·智能巡航·高温预警·高温监测
AI_Keymaker40 分钟前
技术不再是阻碍,这是属于产品和运营的时代?
机器学习
Leo.yuan44 分钟前
数据分析师如何构建自己的底层逻辑?
大数据·数据仓库·人工智能·数据挖掘·数据分析
笑稀了的野生俊1 小时前
ImportError: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32‘ not found
linux·人工智能·ubuntu·大模型·glibc·flash-attn
吕永强1 小时前
意识边界的算法战争—脑机接口技术重构人类认知的颠覆性挑战
人工智能·科普
二二孚日1 小时前
自用华为ICT云赛道AI第三章知识点-昇腾芯片硬件架构,昇腾芯片软件架构
人工智能·华为
蹦蹦跳跳真可爱5892 小时前
Python----OpenCV(几何变换--图像平移、图像旋转、放射变换、图像缩放、透视变换)
开发语言·人工智能·python·opencv·计算机视觉