视频封面

视频元信息

  • 课程:吴恩达深度学习专项课程 · 卷积神经网络(CNN)
  • 章节:1.9 池化层(Pooling Layers)
  • 时长:约 10 分钟(视频内容以英文原声为主,含中英字幕)

内容摘要(TL;DR)

本节讲解卷积神经网络中的池化层,重点介绍最大池化(Max Pooling)的计算方式、超参数(f、s)、直觉解释,以及与平均池化(Average Pooling)的对比。核心要点:池化层没有需要学习的参数,只做固定运算,且通常不使用 padding。


一、最大池化(Max Pooling)的基本计算 [00:53]

1.1 一个 4×4 输入的示例

视频以一个 4×4 的输入矩阵为例,演示最大池化的运算过程:

  • 超参数设定:过滤器大小 f = 2,步长 s = 2
  • 将输入划分为 2×2 的区域(不重叠)
  • 每个区域取最大值作为输出

具体计算:

  • 左上区域四个数(1, 3, 2, 9)→ 最大值 9
  • 右上区域蓝色数字 → 最大值 2
  • 左下区域 → 最大值 6
  • 右下区域 → 最大值 3

理解:这就是为什么叫"最大"池化——在每个窗口内取最大值,相当于对特征做"最强响应"的提取。

1.2 输出尺寸计算

输出为 2×2,计算方式与卷积层输出尺寸公式一致:

输出尺寸 = (n + 2p − f) / s + 1

本例中:(4 + 0 − 2) / 2 + 1 = 2

考点:池化层的输出尺寸公式与卷积层完全相同,务必记住这个通用公式。


二、最大池化的直觉解释 [02:00]

2.1 特征保留的直觉

如果把 4×4 输入看作某层神经网络的激活值(特征图):

  • 数值大 → 表示某个特征被检测到(如垂直边缘、眼睛、球体等)
  • 最大池化的作用:只要某个特征在窗口内任意位置被检测到,就会在输出中被保留(保持高数值)
  • 如果特征不存在,输出值仍然很小

理解:最大池化相当于给网络提供了一定的"平移不变性"——特征在窗口内稍微移动,输出仍然是同一个最大值,因此网络对位置的微小变化更鲁棒。

2.2 吴恩达的重要提醒

注意:吴恩达坦承,上述直觉解释虽然被广泛引用,但并没有人真正完全确定这就是最大池化有效的根本原因。 他认为人们使用最大池化的主要原因是:大量实验证明它在实践中效果很好。

易错点:不要把"直觉解释"当成严格的理论证明。深度学习中很多设计是经验驱动的,理解其工程价值比纠结理论更实际。


三、池化层的关键特性:无参数 [03:38]

3.1 没有需要学习的参数

这是池化层最重要的特性之一:

  • 池化层有一组超参数(f、s)
  • 但没有任何参数需要通过梯度下降来学习
  • 一旦确定了 f 和 s,就只是一个固定的计算函数
  • 梯度下降不会改变池化层的任何东西

思考:这与卷积层形成鲜明对比——卷积层有可学习的权重 W 和偏置 b。池化层只做固定的下采样操作,因此可以显著减少计算量和参数量。

考点:池化层没有参数可学习,只有超参数需要人工设定。这是卷积层与池化层最本质的区别之一。


四、不同超参数的示例(5×5 输入,f=3,s=1)[03:57]

视频演示了另一组超参数:

  • 输入:5×5
  • 过滤器大小 f = 3
  • 步长 s = 1
  • 输出尺寸:(5 + 0 − 3) / 1 + 1 = 3×3

逐个位置计算最大值,得到 3×3 的输出矩阵。

易错点:当 s < f 时,窗口之间会重叠,这与 f=s 时不重叠的情况不同,但公式依然适用。


五、三维输入的最大池化 [05:39]

5.1 多通道处理方式

如果输入是三维的(如 5×5×2):

  • 输出为 3×3×2
  • 计算方式:对每个通道独立进行最大池化
  • 通道数保持不变:输入通道数 = 输出通道数

更一般地:

  • 输入:n_H × n_W × n_C
  • 输出:(n_H − f)/s + 1 × (n_W − f)/s + 1 × n_C

理解:池化只改变空间维度(高和宽),不改变通道维度。这与卷积层不同——卷积层可以改变通道数(通过多个过滤器)。

考点:池化操作在每个通道上独立进行,输入通道数等于输出通道数。这是与卷积层的重要区别。


六、平均池化(Average Pooling) [06:47]

6.1 基本概念

除了最大池化,还有一种不常用的池化方式——平均池化:

  • 不做取最大值,而是取窗口内所有数的平均值
  • 示例(f=2, s=2):
    • 紫色区域平均值 = 3.75
    • 另一个区域 = 1.25
    • 其他区域 = 4 和 2

6.2 最大池化 vs 平均池化

对比项 最大池化 平均池化
使用频率 非常常用 较少使用
操作 取窗口最大值 取窗口平均值
典型场景 大多数 CNN 深层网络中压缩表示

6.3 平均池化的特殊用途

例外情况: 在非常深的神经网络中,有时会用平均池化将 7×7×1000 的表示压缩为 1×1×1000,即对所有空间位置取平均。

理解:这种用法类似于全局平均池化(Global Average Pooling),常用于网络末端替代全连接层,减少参数量。


七、池化层超参数总结 [07:54]

7.1 常用超参数

  • f(过滤器大小):常用 f = 2
  • s(步长):常用 s = 2
  • f=2, s=2 的效果:将高度和宽度大致缩小为原来的 1/2
  • 也见过 f=3, s=2 的组合
  • 池化类型:最大池化 or 平均池化(二选一)

7.2 关于 padding

注意:池化层通常不使用 padding,最常见的是 p = 0。 虽然理论上可以加 padding,但实际中极少使用(有一个例外将在下周课程中介绍)。

7.3 输入输出尺寸总结

假设无 padding:

  • 输入:n_H × n_W × n_C
  • 输出:⌊(n_H − f)/s + 1⌋ × ⌊(n_W − f)/s + 1⌋ × n_C

考点:池化层输入通道数 = 输出通道数,因为池化对每个通道独立进行。


八、本节核心结论 [09:41]

  1. 池化层没有需要学习的参数,只有超参数(f、s、池化类型)
  2. 超参数通常手动设定或通过交叉验证选择
  3. 池化层就是一个固定函数,神经网络中的一层,无需学习
  4. 现在你已经知道如何构建卷积层和池化层
  5. 下一节将介绍更复杂的例子,并引入全连接层

关键标签 / 关键词

池化层 #Pooling #最大池化 #MaxPooling #平均池化 #AveragePooling #卷积神经网络 #CNN #吴恩达 #深度学习 #超参数 #无参数层 #下采样 #平移不变性 #特征提取 #输出尺寸公式


生成时间:2026-10-10 22:54:11 生成平台:VideoNote www.xygy.top