一文搞懂深度学习中的池化!

推荐直接网站在线阅读:aicoting.cn

在卷积神经网络(CNN)中,卷积层用于提取图像或特征图的局部模式,而池化(Pooling)是卷积之后常用的一种下采样操作。池化可以降低特征图尺寸、减少计算量,并增强模型对位置和噪声的鲁棒性。

下面从几个关键方面来介绍池化。

所有相关文档、源码示例、流程图与面试八股,我也将持续更新在AIHub,欢迎关注收藏!

池化的原理与作用

池化的核心思想是对局部区域内的特征进行统计汇总,得到该区域的代表性数值。

通过这种方式,池化可以:

  • 保留关键特征:最大池化保留最显著的局部特征。
  • 平滑特征图:平均池化保留整体趋势。
  • 降低计算量:减少特征图尺寸,减轻后续网络的计算压力。
  • 增强鲁棒性:对小幅度平移或噪声不敏感,提高泛化能力。

例如,对于一个 的特征图:

使用 最大池化,步幅为 2,输出为:

同样的 平均池化 输出为:

池化类型

最大池化(Max Pooling):在窗口内取最大值,保留最显著特征,广泛应用于卷积神经网络。

平均池化(Average Pooling):在窗口内取平均值,平滑特征图,保留整体信息。

全局池化(Global Pooling):对整个特征图进行池化操作,例如 Global Max Pooling 取最大值,Global Average Pooling 取平均值。全局池化常用于替代全连接层,显著减少参数量。

在上面的矩阵例子中,Global Max Pooling 的结果是 8,Global Average Pooling 的结果是 3.25。

代码示例

下面我们用 PyTorch 演示最大池化、平均池化和全局池化的操作。

scss 复制代码
import torch
import torch.nn.functional as F

# 构造 1x1x4x4 特征图
feature_map = torch.tensor([[[[1, 3, 2, 4],
                              [5, 6, 7, 8],
                              [2, 4, 1, 3],
                              [0, 1, 2, 4]]]], dtype=torch.float32)

print("输入特征图:")
print(feature_map[0,0])

# 1. 最大池化(2x2,stride=2)
max_pooled = F.max_pool2d(feature_map, kernel_size=2, stride=2)
print("\n最大池化结果:")
print(max_pooled[0,0])

# 2. 平均池化(2x2,stride=2)
avg_pooled = F.avg_pool2d(feature_map, kernel_size=2, stride=2)
print("\n平均池化结果:")
print(avg_pooled[0,0])

# 3. 全局最大池化(整个特征图)
global_max = F.adaptive_max_pool2d(feature_map, output_size=1)
print("\n全局最大池化结果:")
print(global_max[0,0])

# 4. 全局平均池化(整个特征图)
global_avg = F.adaptive_avg_pool2d(feature_map, output_size=1)
print("\n全局平均池化结果:")
print(global_avg[0,0])

运行结果为:

从结果可以看出最大池化保留了局部最显著特征,平均池化平滑了局部特征,全局池化提取了整体的代表值。

池化不仅降低了特征图尺寸,还帮助 CNN 形成分层特征表示:浅层池化保留低级特征,深层池化聚合高级语义。结合卷积操作,池化使网络能够学习到稳定、抽象的特征表示,并在图像、语音、文本等任务中表现出色。

总的来说,池化是卷积神经网络中不可或缺的一步,通过下采样、特征汇总和平移不变性提升了网络的效率与鲁棒性,是 CNN 构建层次化特征表示的重要手段。

📚推荐阅读

面试官:给我讲一下卷积吧!

一文搞懂卷积神经网络!

面试官:正则化都有哪些经典的方法?

面试官:你在训模型的时候经常使用的学习率策略有哪些?

面试官:深度学习中经典的优化算法都有哪些?

一文搞懂深度学习中的通用逼近定理!

一文搞懂深度学习中的表征学习理论!

一文搞懂深度学习中的信息论!

一文搞懂深度学习的反向传播与优化理论!

最新的文章都在公众号aicoting更新,别忘记关注哦!!!

作者:aicoting

分享是一种信仰,连接让成长更有温度。

我们下次不见不散!

相关推荐
随意起个昵称1 分钟前
线性dp-LIS题目6(友好城市,二分优化)
算法·动态规划
数据科学小丫6 分钟前
算法:随机森林算法
算法·随机森林·机器学习
公考指南针11 分钟前
公务员面试怎么准备?2026 结构化面试流程、答题训练和备考工具测评
经验分享·学习·面试
Samson Bruce13 分钟前
【初高中数学】
线性代数·数学·算法·机器学习
redaijufeng14 分钟前
我在C++中深入理解了继承,收获颇丰
java·c++·算法
Ricky055315 分钟前
DEIM :采用改进匹配算法实现快速收敛的DETR(中国25年3月研究)
人工智能·算法·目标跟踪
无限码力16 分钟前
美团研发岗 5月9号笔试真题 - 弹性分桶
算法·美团笔试题·美团研发岗笔试题·美团0509笔试题
J2虾虾17 分钟前
C 语言 sizeof 完全用法指南
c语言·数据结构·算法
阿正的梦工坊22 分钟前
【Rust】03-所有权、移动与复制
开发语言·算法·rust
好评笔记34 分钟前
深度学习面试八股—— GRU(Gated Recurrent Unit)
人工智能·rnn·深度学习·算法·机器学习·gru·校招