
视频元信息
- 课程名称:深度学习专业化(Deep Learning Specialization)—— 序列模型
- 章节:1.9 门控循环单元(GRU)
- 讲师:吴恩达(Andrew Ng)
- 主题:GRU(Gated Recurrent Unit,门控循环单元)的原理与结构
内容摘要(TL;DR)
本节讲解 GRU(门控循环单元),它是对标准 RNN 隐藏层的改进,通过引入记忆细胞 C 和更新门 Γu,使网络能够更好地捕捉长距离依赖并缓解梯度消失问题。核心思想是:门控决定何时更新记忆、何时保留旧值,从而让信息跨越很多时间步依然被记住。
一、从标准 RNN 到 GRU 的动机 [00:00]
1.1 标准 RNN 单元回顾 [00:17]
标准 RNN 在时间步 t 计算激活值的公式:
a^⟨t⟩ = g(W_a · [a^⟨t-1⟩, x^⟨t⟩] + b_a)
- 输入:上一时间步的激活 a^⟨t-1⟩ 和当前输入 x^⟨t⟩
- 经过权重矩阵和线性计算后,通过 tanh 激活函数
- 输出激活 a^⟨t⟩,可进一步传给 softmax 单元生成预测 ŷ^⟨t⟩
吴恩达将 RNN 单元画成一个方框:输入 a^⟨t-1⟩ 和 x^⟨t⟩,经过线性计算和 tanh 后输出 a^⟨t⟩。这个图示为后续解释 GRU 做铺垫。
1.2 GRU 要解决的问题 [00:03]
- 长距离依赖问题:例如句子 "The cat, which already ate..., was full" 中,"cat" 是单数,决定了后面用 "was" 而不是 "were",但两者之间可能隔着很多词。
- 梯度消失问题:标准 RNN 在反向传播时,梯度会随着时间步增加而指数衰减,导致难以学习到远距离的依赖关系。
理解:GRU 的核心价值在于它提供了一条"高速公路",让记忆细胞的值可以在很多时间步中几乎不变地传递,从而避免梯度消失。
1.3 相关论文背景 [01:46]
吴恩达提到 GRU 的思想来源于两篇论文:
- Cho et al.(Kyunghyun Cho 等)提出的 GRU
- Yoshua Bengio 团队的相关工作
考点:GRU 的提出是为了解决标准 RNN 的两大问题——长距离依赖捕获能力差和梯度消失。这是理解 GRU 设计动机的关键。
二、GRU 的核心概念:记忆细胞与门控 [02:18]
2.1 记忆细胞 C(Memory Cell)[02:18]
GRU 引入了一个新变量 C,代表 cell(记忆细胞)。
- 记忆细胞的作用:提供记忆能力,例如记住 "cat" 是单数还是复数
- 在时间步 t,记忆细胞有值 C^⟨t⟩
- 对于 GRU:a^⟨t⟩ = C^⟨t⟩(输出激活值等于记忆细胞值)
易错点:在 GRU 中,C^⟨t⟩ 和 a^⟨t⟩ 是相同的值;但在 LSTM 中,它们是两个不同的值。吴恩达特意使用不同符号 C 和 A 来区分,为后续 LSTM 的学习做铺垫。
2.2 候选记忆值 C̃^⟨t⟩ [03:26]
在每个时间步,先计算一个候选值 C̃^⟨t⟩,用于替换旧的记忆细胞值:
C̃^⟨t⟩ = tanh(W_c · [C^⟨t-1⟩, x^⟨t⟩] + b_c)
- 使用 tanh 激活函数
- 参数矩阵 W_c 接收上一时刻的记忆细胞值和当前输入
- 加上偏置 b_c
理解:候选值 C̃^⟨t⟩ 是"如果我们要更新记忆,应该更新成什么"的提议。它不是最终值,而是由门控决定是否采纳。
2.3 更新门 Γu(Update Gate)[04:15]
更新门 Γu 是 GRU 的关键创新:
Γu = σ(W_u · [C^⟨t-1⟩, x^⟨t⟩] + b_u)
- 使用 sigmoid 函数 σ,输出值在 0 到 1 之间
- 直觉理解:大多数情况下,Γu 非常接近 0 或非常接近 1
- 符号来源:Γ(Gamma)是希腊字母 G,对应 Gate(门);栅栏(gate/fence)的形状也像很多个 Γ
考点:更新门 Γu 的值在 0 到 1 之间。当 Γu ≈ 1 时,更新记忆;当 Γu ≈ 0 时,保留旧记忆。这个"0 或 1"的直觉是理解 GRU 的关键。
2.4 记忆细胞的更新公式 [06:53]
GRU 的核心更新方程:
C^⟨t⟩ = Γu ⊙ C̃^⟨t⟩ + (1 - Γu) ⊙ C^⟨t-1⟩
其中 ⊙ 表示逐元素乘法。
- 当 Γu = 1 时:C^⟨t⟩ = C̃^⟨t⟩,更新记忆
- 当 Γu = 0 时:C^⟨t⟩ = C^⟨t-1⟩,保留旧记忆
推导:这个公式本质上是一个"软选择"——在候选新值和旧值之间做加权平均。权重由门控 Γu 决定。
2.5 用句子案例理解门控机制 [05:51]
以 "The cat, which already ate..., was full" 为例:
- 读到 "cat" 时:这是一个新概念(主语),是更新记忆的好时机,Γu 设为 1,记住 "cat 是单数"
- 读到中间的 "which already ate..." 时:不需要更新记忆,Γu 设为 0,保持 C^⟨t⟩ = C^⟨t-1⟩
- 读到 "was full" 时:利用之前记住的 "cat 是单数" 信息,正确预测 "was" 而非 "were"
易错点:当 Γu = 0 时,C^⟨t⟩ = C^⟨t-1⟩,这意味着记忆细胞的值在多个时间步中几乎不变地传递。这正是 GRU 缓解梯度消失问题的核心机制。
三、GRU 的计算图与结构图 [08:16]
3.1 GRU 单元的结构图 [08:16]
GRU 单元的结构可以画成如下形式:
- 输入:C^⟨t-1⟩(等于 a^⟨t-1⟩)和 x^⟨t⟩
- 两路计算:
- 一路经过权重和 tanh → 得到候选值 C̃^⟨t⟩
- 另一路经过不同权重和 sigmoid → 得到更新门 Γu
- 紫色方框操作:将 C̃^⟨t⟩ 和 C^⟨t-1⟩ 按照更新公式组合,生成新的 C^⟨t⟩
- 输出 C^⟨t⟩ = a^⟨t⟩,可进一步用于预测 ŷ^⟨t⟩
吴恩达提到:在线博客和教材中这类图示很流行,但他个人觉得公式更容易理解。如果图示看不懂,不必担心。
3.2 为什么 GRU 能缓解梯度消失 [10:20]
关键机制:
- sigmoid 函数很容易输出接近 0 的值(只要输入是较大的负数)
- 当 Γu ≈ 0 时,C^⟨t⟩ = C^⟨t-1⟩,记忆值几乎精确地保持不变
- 即使跨越很多很多时间步,C 的值也不会因为反向传播中的梯度连乘而衰减
- 因此 GRU 可以捕捉非常长距离的依赖关系
理解:标准 RNN 中,a^⟨t⟩ = tanh(W_a · a^⟨t-1⟩ + ...),每次都要经过权重矩阵乘法,梯度会指数衰减。而 GRU 中,当门控关闭时,C^⟨t⟩ = C^⟨t-1⟩ 是恒等映射,梯度可以直接流过,不会衰减。
考点:GRU 缓解梯度消失的核心原因是——当更新门 Γu ≈ 0 时,记忆细胞的值通过恒等映射(C^⟨t⟩ = C^⟨t-1⟩)传递,梯度不会因为连乘而消失。
四、实现细节:向量化与逐元素乘法 [11:48]
4.1 维度说明 [11:48]
- 如果隐藏层激活值是 100 维的,那么 C^⟨t⟩ 也是 100 维
- C̃^⟨t⟩、Γu、C^⟨t-1⟩ 都是相同维度
- 公式中的 * 实际上是逐元素乘法(element-wise multiplication)
4.2 逐元素乘法的含义 [12:23]
- Γu 是一个 100 维向量,其值大多接近 0 或 1
- 逐元素乘法告诉 GRU:在这 100 维记忆细胞中,哪些维度需要更新,哪些维度保持不变
- 可以灵活地选择:某些位记住单复数信息,其他位记住"食物"相关概念等
思考:这种"按维度选择性更新"的设计非常巧妙。它允许网络在不同的维度上独立地维护不同类型的信息,比如语法信息、语义信息等。
易错点:公式中的乘法是逐元素乘法(Hadamard 积),不是矩阵乘法。Γu 的每个元素独立控制对应维度是否更新。
五、完整版 GRU:引入相关门 Γr [13:22]
5.1 完整 GRU 的修改 [13:22]
前面介绍的是简化版 GRU。完整版 GRU 在计算候选值 C̃^⟨t⟩ 时,增加了一个相关门 Γr:
C̃^⟨t⟩ = tanh(W_c · [Γr ⊙ C^⟨t-1⟩, x^⟨t⟩] + b_c)
其中:
Γr = σ(W_r · [C^⟨t-1⟩, x^⟨t⟩] + b_r)
- Γr 表示 relevance(相关性)
- 它告诉网络:C^⟨t-1⟩ 对于计算新的候选值有多重要
- Γr 使用新的参数矩阵 W_r 和偏置 b_r
理解:相关门 Γr 的作用是在计算候选值时,先对上一时刻的记忆进行"筛选"——如果某些信息不再相关,就可以在计算候选值时忽略它们。这增加了模型的表达能力。
5.2 为什么要设计不同的变体 [14:44]
- 研究者们尝试了多种不同的设计方式,目的是增强长距离连接、缓解梯度消失
- GRU 是其中最常用、最鲁棒的版本之一
- 另一种常见的变体是 LSTM(Long Short-Term Memory,长短期记忆),将在下一节讲解
- GRU 和 LSTM 是这类思想中两个最常用的具体实现
考点:完整 GRU 包含两个门——更新门 Γu 和相关门 Γr。简化版只有更新门。GRU 和 LSTM 是两种最常见的门控 RNN 变体。
5.3 符号说明 [15:40]
- 吴恩达使用了统一的符号体系,方便理解 GRU 和 LSTM
- 学术文献中可能有不同的符号表示(如用 ñ 等表示相同量)
- 吴恩达的符号设计目的是在 GRU 和 LSTM 之间保持一致,便于学习
六、GRU 总结与过渡 [16:00]
6.1 GRU 的核心贡献
- GRU 是 RNN 中的关键思想之一,使 RNN 能够更好地捕捉长距离依赖
- 通过门控机制,网络可以学习"何时更新记忆、何时保留记忆"
- 这显著提升了 RNN 的效果,使其在序列建模任务中更加有效
6.2 下一节预告
- 下一节将讲解 LSTM(Long Short-Term Memory)单元
- LSTM 是这类门控思想的另一种最常用的变体
- 与 GRU 类似,LSTM 也通过门控机制来管理记忆,但结构更复杂
关键标签/关键词
GRU、门控循环单元、Gated Recurrent Unit、RNN、循环神经网络、记忆细胞、Memory Cell、更新门、Update Gate、相关门、Relevance Gate、梯度消失、Vanishing Gradient、长距离依赖、Long-Range Dependencies、LSTM、序列模型、吴恩达、深度学习、sigmoid、tanh、逐元素乘法、Element-wise Multiplication
生成时间:2026-10-11 00:31:53 生成平台:VideoNote www.xygy.top