NLP Academy · 课时

梯度消失问题

普通 RNN 为何会遗忘

第 4 / 4 课13 个步骤

梯度消失问题 是 CoddyKit 上的免费 NLP Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 NLP Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 NLP Academy 课程共包含 4 节课。

令人沮丧的限制

普通 RNN 看似功能强大,却难以记住长距离上下文。原因在于梯度消失问题。

学习意味着梯度

网络通过将称为梯度的错误信号沿时间反向传递来学习,从而将每个权重向正确的方向微调。

时间反向传播

对于 RNN,这个反向传递会跨越每一个步骤展开,因此长句子意味着一条非常长的乘法链。

小数会迅速变小

当您将许多个小于 1 的值相乘时,结果会迅速趋近于零。梯度还没传到较早的词语,就已经消失了。

较早的词语被忽略

由于信号消失,网络几乎不会更新与最初标记相关的权重,因此较远的上下文实际上丢失了。

快速直觉理解

想象一下将 0.5 连乘 20 次。这个数值几乎会消失,而深层步骤中的梯度也会发生同样的情况。

g = 0.5
for _ in range(20): g *= 0.5
print(g)  # tiny

相反的危险

当数值超过 1 时,梯度也可能爆炸,变得非常大,并通过剧烈的权重波动使训练不稳定。

控制梯度爆炸

梯度爆炸有一个简单的补救方法:梯度裁剪会限制梯度的大小,使单个步骤无法让您的模型失控。

梯度消失更难处理

梯度消失难以通过简单方法修复,因此普通 RNN 会不断遗忘。我们需要一种更智能的单元,让记忆能够跨越许多步骤保留下来。

真正的解决方案即将出现

带有门控的特殊架构(例如 LSTM 和 GRU)可以控制保留和遗忘的内容,从而保留长距离信号。

为什么这很重要

理解这一限制,就能明白现代序列模型为何会出现:它们的设计目标就是让梯度能够跨越较长距离持续存在。💡

快速检查

为什么普通 RNN 会遗忘长序列中的较早词语?

回顾

在长序列中,普通 RNN 的梯度会消失,从而抹去较远的上下文。像 LSTM 和 GRU 这样的门控单元就是解决方案,我们接下来将探索它们。🎯

免费开始

用 AI 导师学习 Python — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
30
课程
120

常见问题解答

「梯度消失问题」课时是免费的吗?

是的 — 「梯度消失问题」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 NLP Academy 课程的其余内容,请升级到 CoddyKit PRO。 NLP Academy 课程共包含 4 节课。

「梯度消失问题」这节课中我会学到什么?

普通 RNN 为何会遗忘 你通过在浏览器中直接运行的动手代码来练习 NLP Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 NLP Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 NLP Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「梯度消失问题」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 NLP Academy 课中编写并运行代码吗?

能。每节 NLP Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 语言中词语顺序为何重要
  2. RNN 如何读取序列
  3. 构建 RNN 文本模型
  4. 梯度消失问题
← 返回 NLP Academy