视频封面

视频元信息

  • 课程:吴恩达深度学习专项课程(Deep Learning Specialization)
  • 章节:卷积神经网络(CNN)第一周 1.5 卷积步长
  • 时长:约 9 分钟

内容摘要(TL;DR)

本节讲解卷积运算中的步长(Stride)概念:将卷积核每次滑动的距离从 1 改为 S,从而压缩输出尺寸。给出通用的输出维度公式 ⌊(N + 2P − F) / S⌋ + 1,并说明当除不尽时采用向下取整的原因。最后澄清深度学习中的"卷积"实为互相关(Cross-correlation),省略了数学定义中的核翻转步骤。


一、什么是步长(Stride) [00:31]

基础概念

卷积运算中,卷积核(filter,也叫 kernel)在输入图像上滑动。步长 S 定义了每次滑动的格子数。

  • 当 S = 1 时,卷积核每次向右/向下移动 1 格,这是最常用的默认设置。
  • 当 S = 2 时,卷积核每次跳过 1 格,直接移动 2 格。

理解:步长本质上是"下采样"的一种手段,它让输出特征图变小,从而减少后续计算量。

实例演示(7×7 输入,3×3 卷积核,S=2)

视频中逐步演示了 S=2 时的卷积过程:

  1. 卷积核左上角起始于 (0,0),做逐元素乘加,得到输出值 91。
  2. 滑动 2 格,左上角跳到 (0,2),再算得 100。
  3. 再滑 2 格,左上角到 (0,4),算得 83。
  4. 第一行结束时,卷积核已无法再完整放入,第一行输出结束。
  5. 向下移动 2 行,重复上述过程,得到第二行:69、91、127。
  6. 最后一行:44、72、74。

最终输出为一个 3×3 矩阵(而非 S=1 时的 5×5)。

易错点: 当卷积核滑动到边缘时,如果剩余空间不足以容纳完整的卷积核,就直接停止,不做这次计算。这正是输出尺寸"向下取整"的物理原因。


二、输出维度公式 [01:49]

通用公式

对于 N×N 的输入图像,使用 F×F 的卷积核,填充 P,步长 S,则输出尺寸为:

⌊(N + 2P − F) / S⌋ + 1

其中 ⌊·⌋ 表示向下取整(floor)。

公式推导

推导:

  • 加填充后,输入有效尺寸为 N + 2P(每边各加 P 个像素)。
  • 卷积核需要占据 F 个格子,因此可用的"起始位置"总跨度为 (N + 2P − F)。
  • 每次移动 S 格,能放置的起始位置数量为 (N + 2P − F) / S,再加 1(因为起点本身算一个位置)。
  • 若除不尽,说明最后剩余空间不足一个完整卷积核,故向下取整。

实例验证

视频中的例子:N=7,P=0,F=3,S=2

  • (7 + 0 − 3) / 2 = 4 / 2 = 2
  • 2 + 1 = 3,输出为 3×3 ✓

思考:如果希望输出尺寸为整数,可以精心选择 P、S、F 的搭配。例如在保持尺寸不变时,常用 "same padding" 配合 S=1。

考点: 输出维度公式是 CNN 计算题的高频考点,务必牢记并会代入计算。特别注意:

  • P 是单边填充量,公式中要乘 2。
  • 除不尽时向下取整,不是四舍五入。
  • 当 S=1 且 P=(F−1)/2 时,输出尺寸与输入相同(same convolution)。

三、向下取整的实现原理 [03:12]

实现约定

视频解释了为什么公式要向下取整:

  • 实现卷积时,只有当卷积核完全包含在图像(或填充后的图像)内部时,才执行这次乘加运算。
  • 如果卷积核有任何一部分"悬"在图像外,就跳过这次计算,不产生对应输出。

理解:这个约定保证了所有输出值都由完整的卷积核计算得出,避免边缘处出现不完整的、语义不一致的特征。

建议

吴恩达建议学习者自己用几组不同的 N、F、P、S 值手动推演,验证公式的正确性。这是巩固理解的好方法。


四、互相关 vs 卷积(技术澄清) [04:41]

数学教材中的卷积定义

在典型的数学或信号处理教材中,卷积在逐元素乘加之前,还有一个额外步骤:

  1. 将卷积核沿水平轴和垂直轴同时翻转(相当于旋转 180°)。
  2. 用翻转后的核去做滑动乘加。

例如,3×3 的核翻转后,原本的位置会镜像对调。

深度学习的惯例

  • 深度学习文献中,通常省略这个翻转操作。
  • 因此严格来说,深度学习中所说的"卷积"其实是互相关(cross-correlation)。
  • 但整个领域约定俗成地称之为"卷积运算"(convolution operator)。

为什么可以省略翻转?

拓展:

  • 在信号处理中,保留翻转使卷积满足结合律:A ∗ (B ∗ C) = (A ∗ B) ∗ C,这对滤波等应用很重要。
  • 但在神经网络中,卷积核的参数是学习得到的。无论是否翻转,网络都能通过训练学到合适的权重,表达能力不受影响。
  • 省略翻转还能简化代码实现,所以业界统一采用不翻转的版本。

易错点: 阅读不同教材时要注意术语差异——

  • 数学/信号处理教材的"卷积"= 翻转 + 滑动乘加
  • 深度学习教材的"卷积"= 直接滑动乘加(即互相关)
  • 这个差异不影响 CNN 的编程实现和理解。

五、本节小结与展望 [08:37]

本节要点回顾

  1. 步长 S 控制卷积核滑动距离,S 越大输出越小。
  2. 输出维度公式:⌊(N + 2P − F) / S⌋ + 1。
  3. 除不尽时向下取整,因为卷积核必须完整落在图像内。
  4. 深度学习中的"卷积"实为互相关,省略了核翻转。

下一节预告

目前讨论的都是矩阵上的卷积(如 6×6 矩阵)。下一节将介绍在体积(volume)上的卷积,即处理多通道(如 RGB 三通道)输入,这将使卷积的能力大大增强。


关键标签 / 关键词

卷积步长 #Stride #CNN #卷积神经网络 #输出维度公式 #向下取整 #互相关 #CrossCorrelation #卷积翻转 #吴恩达深度学习 #填充Padding #卷积核 #Filter #Kernel #深度学习基础


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