news 2026/4/14 18:13:06

动手学深度学习——长短期记忆网络(LSTM)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
动手学深度学习——长短期记忆网络(LSTM)

1. 前言

前面我们已经学了:

  • RNN

  • RNN 从零开始实现

  • RNN 简洁实现

  • GRU

  • GRU 代码

到这里,你应该已经很清楚一个主线:

基础 RNN 能处理序列,但长期依赖能力弱;门控机制是改进方向。

GRU 已经通过:

  • 更新门

  • 重置门

让模型具备了更强的记忆管理能力。
但在循环神经网络的发展中,另一个更经典、影响更深远的模型是:

LSTM(Long Short-Term Memory,长短期记忆网络)

LSTM 可以说是循环神经网络里最著名的结构之一。
它的核心目标和 GRU 一样,都是为了解决:

长期依赖问题

但它采用了比 GRU 更完整、更细致的记忆控制机制。


2. 为什么还需要 LSTM

你可能会问:

既然已经有 GRU 了,为什么还要学 LSTM?

原因很简单:

2.1 LSTM 是历史上最经典的门控循环结构

很多关于序列建模的基础讨论,几乎都绕不开 LSTM。

2.2 它对“记忆”的建模更显式

GRU 只有一个隐藏状态;
而 LSTM 单独引入了一个记忆单元,专门负责长期信息保存。

2.3 它在很多任务中效果非常强

尤其在 Transformer 彻底普及之前,LSTM 几乎是 NLP、语音、时间序列里的主力模型之一。

所以,学 LSTM 不只是为了多记一个模型名,
而是为了真正理解:

循环网络怎样更系统地管理长期记忆。


3. LSTM 的名字是什么意思

LSTM 的全称是:

Long Short-Term Memory

中文常翻译为:

长短期记忆网络

这个名字本身就很有意思。

它强调的是:

  • Short-Term:短期信息

  • Long-Term:长期信息

  • Memory:记忆能力

也就是说,LSTM 的设计目标不是只看眼前几步,
而是希望模型既能处理当前局部信息,又能把重要信息长期保留下来。


4. LSTM 和 GRU 的核心区别

GRU 的核心思想是:

通过门控控制一个隐藏状态的更新。

而 LSTM 更进一步,它把“状态”拆成了两部分:

4.1 隐藏状态H_t

用于当前时刻输出和短期表征。

4.2 记忆单元C_t

用于更稳定地保存长期信息。

所以,LSTM 相比 GRU 最本质的区别就是:

它单独维护了一条“记忆通道”。

这条记忆通道让长期信息更容易跨时间步流动。


5. 为什么要单独引入记忆单元

基础 RNN 和 GRU 都是把信息压在隐藏状态里。
但隐藏状态既要负责:

  • 当前输出

  • 当前状态更新

  • 过去信息承载

任务比较重。

LSTM 的想法非常聪明:

干脆专门留一条通道,用来存长期记忆。

这样一来:

  • 隐藏状态可以更偏向当前输出

  • 记忆单元可以更偏向长期信息保存

这让信息流动变得更清晰,也更容易训练。


6. LSTM 有哪几个门

LSTM 比 GRU 多一个门,也多一个记忆单元。
它通常有三个核心门:

  • 输入门(input gate)

  • 遗忘门(forget gate)

  • 输出门(output gate)

再加上一个:

  • 候选记忆单元

于是整个 LSTM 的信息控制比 GRU 更细。

你可以先粗略理解成:

遗忘门

决定旧记忆丢掉多少。

输入门

决定新信息写入多少。

输出门

决定当前时刻从记忆中读出多少给隐藏状态。

这套结构已经很像一个真正“会读写记忆”的系统了。


7. 遗忘门是什么

遗忘门通常记作:

F_t

它的作用是:

决定上一时刻记忆单元C_{t-1}中,有多少内容要保留到当前时刻。

如果遗忘门接近 1,说明:

  • 旧记忆大部分保留

如果接近 0,说明:

  • 旧记忆大部分被忘掉

所以遗忘门解决的是:

过去的记忆,到底还值不值得继续留着。


8. 输入门是什么

输入门通常记作:

I_t

它的作用是:

决定当前时刻的新候选信息,有多少应该写入记忆单元。

也就是说,输入门在控制:

  • 新信息要不要写

  • 写多少

如果输入门很小,说明当前输入带来的新内容不太重要;
如果很大,说明模型认为当前信息值得写进长期记忆。

所以输入门解决的是:

当前信息是否足够重要,值得存下来。


9. 输出门是什么

输出门通常记作:

O_t

它的作用是:

决定当前时刻从记忆单元中“读出”多少信息,作为隐藏状态输出。

记忆单元C_t不会直接原封不动地暴露给外部,
而是先经过一个非线性变换,再由输出门控制读出多少。

所以输出门本质上解决的是:

当前时刻,该从记忆里拿多少信息出来给外界看。


10. 候选记忆单元是什么

除了三个门之外,LSTM 还会计算一个候选记忆内容,通常记作:

\tilde{C}_t

它表示:

根据当前输入和上一隐藏状态生成的一份“候选新记忆”

然后这份候选记忆不会直接写进C_t
而是要先经过输入门筛选。

所以你可以理解为:

  • \tilde{C}_t是“待写入的记忆草稿”

  • I_t决定这份草稿真正写进去多少


11. LSTM 的核心公式

LSTM 的经典公式通常写成这样。

遗忘门

F_t = σ(X_t W_xf + H_{t-1} W_hf + b_f)

输入门

I_t = σ(X_t W_xi + H_{t-1} W_hi + b_i)

输出门

O_t = σ(X_t W_xo + H_{t-1} W_ho + b_o)

候选记忆

\tilde{C}_t = tanh(X_t W_xc + H_{t-1} W_hc + b_c)

当前记忆单元

C_t = F_t ⊙ C_{t-1} + I_t ⊙ \tilde{C}_t

当前隐藏状态

H_t = O_t ⊙ tanh(C_t)

这几条公式看起来多,但逻辑其实非常清楚。


12. 记忆单元更新公式怎么理解

最关键的一条是:

C_t = F_t ⊙ C_{t-1} + I_t ⊙ \tilde{C}_t

它表示:

当前记忆 = 保留下来的旧记忆 + 写入的新记忆

你可以把它拆开理解:

第一部分:保留旧记忆

F_t ⊙ C_{t-1}

遗忘门决定旧记忆留下多少。

第二部分:写入新记忆

I_t ⊙ \tilde{C}_t

输入门决定新候选记忆写入多少。

这条式子非常漂亮,因为它让“忘”和“记”变成了两个明确、可控的动作。


13. 隐藏状态更新公式怎么理解

再看:

H_t = O_t ⊙ tanh(C_t)

它表示:

  • 先对当前记忆单元C_ttanh

  • 再通过输出门筛选

  • 得到当前隐藏状态H_t

所以隐藏状态并不是记忆本身,
而是:

从记忆中读出来的一部分内容

这让 LSTM 的结构层次非常清晰:

  • C_t更像“长期记忆仓库”

  • H_t更像“当前对外输出的工作记忆”


14. 为什么 LSTM 比 RNN 更适合长期依赖

LSTM 之所以经典,关键就在记忆单元这条路径:

C_t = F_t ⊙ C_{t-1} + I_t ⊙ \tilde{C}_t

你会发现,旧记忆C_{t-1}可以在遗忘门控制下直接流向C_t
而不必每一步都被强行卷进一次复杂非线性更新。

这意味着:

长期信息可以更平滑地跨很多时间步传播。

这比基础 RNN 那种“每一步都混在一起重算”的方式,更容易保留远距离依赖。


15. LSTM 和 GRU 的区别怎么记

这部分特别容易混,所以一定要讲清楚。

GRU

  • 只有一个隐藏状态

  • 两个门:更新门、重置门

  • 结构相对简洁

LSTM

  • 有两个状态:隐藏状态H_t和记忆单元C_t

  • 三个门:输入门、遗忘门、输出门

  • 结构更细、更复杂

可以简单记成:

GRU 是“简化版门控记忆”,LSTM 是“完整版门控记忆系统”。


16. 为什么有人更喜欢 GRU,有人更喜欢 LSTM

因为两者各有特点。

GRU 的优点

  • 参数更少

  • 结构更简洁

  • 训练和推理更轻量

LSTM 的优点

  • 记忆控制更细致

  • 长期依赖建模通常更经典

  • 理论表达更完整

所以实际使用中:

  • 有时 GRU 就够用了

  • 有时 LSTM 效果更稳

  • 也常常需要实验比较


17. LSTM 在语言模型里怎么理解

如果把 LSTM 放回语言模型场景中,它在做的事情可以理解为:

一边读当前字符/词,一边决定:哪些上下文信息要长期保留,哪些应该丢掉,哪些当前应该拿出来参与预测。

例如句子中:

  • 主语信息可能要保留很久

  • 某些局部修饰词影响很短

  • 某些长距离依赖需要跨越很多时间步

LSTM 通过:

  • 遗忘门

  • 输入门

  • 输出门

来自动管理这些信息。

所以它比基础 RNN 更像一个“真正有记忆策略”的模型。


18. 为什么说 LSTM 很像一个可读写记忆系统

这是理解 LSTM 的一个很好比喻。

你可以把记忆单元C_t看成一个记事本:

遗忘门

决定旧笔记擦掉多少。

输入门

决定新内容写进去多少。

输出门

决定当前时刻翻出来给别人看的有多少。

这样一看,LSTM 就不再只是“复杂公式”,
而像一个真正会管理记忆的系统。

这也是它名字叫Long Short-Term Memory的原因。


19. 李沐这一节最想让你理解什么

这一节最重要的,不是死背所有门的名字,
而是把主线抓住:

第一,LSTM 也是为了解决长期依赖问题

和 GRU 的目标一致。

第二,LSTM 核心在于引入了独立记忆单元C_t

这让长期信息流动更稳定。

第三,三个门分别负责“忘、写、读”

这让记忆管理更细致。

第四,LSTM 比 GRU 更复杂,但也更经典

所以后面很多序列模型讨论都离不开它。


20. 本节总结

这一节我们学习了 LSTM,核心内容可以总结为以下几点。

20.1 LSTM 是经典的门控循环神经网络

它主要为了解决基础 RNN 的长期依赖问题。

20.2 LSTM 引入了独立的记忆单元C_t

这使长期信息更容易跨时间步保留。

20.3 LSTM 有三个核心门

  • 遗忘门

  • 输入门

  • 输出门

20.4 当前记忆由旧记忆和新候选记忆共同决定

遗忘门控制旧记忆保留多少,输入门控制新内容写入多少。

20.5 当前隐藏状态由输出门从记忆单元中读出

所以H_tC_t职责不同。


21. 学习感悟

LSTM 这一节非常经典,因为它把“记忆”这件事做得几乎像一个小型操作系统。

基础 RNN 更像是“状态自然流动”;
GRU 更像是“给状态流动加两个阀门”;
而 LSTM 则进一步把记忆分成:

  • 存储

  • 写入

  • 擦除

  • 读取

这让它的记忆管理第一次变得真正系统化。

也正因为如此,LSTM 才会在很长一段时间里,成为序列建模的代表模型之一。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/14 18:12:12

如何做好家电数码产品的AI生成式引擎优化(GEO)?

做好家电数码产品的AI生成式引擎优化(GEO),关键在于重构品牌与AI对话的方式。这是一套系统化的策略,目的是让你的品牌和产品信息,成为AI助手(如DeepSeek、豆包等)在回答用户问题时,优…

作者头像 李华
网站建设 2026/4/14 18:09:41

iOS 15 电池优化全攻略:告别电量焦虑

1. iOS 15电池耗电的真相:为什么你的iPhone掉电这么快? 每次看到手机右上角的电量图标变红,心里是不是都会咯噔一下?特别是升级到iOS 15后,很多用户都反映电池续航明显变差。作为一个从iPhone 4用到iPhone 13的老用户…

作者头像 李华
网站建设 2026/4/14 18:07:42

Kotaemon应用指南:从安装到配置,打造专属企业知识大脑

Kotaemon应用指南:从安装到配置,打造专属企业知识大脑 1. 认识Kotaemon:企业级RAG解决方案 在信息爆炸的时代,企业面临的最大挑战不是获取知识,而是如何高效利用已有知识。传统文档管理系统往往让员工陷入"知道…

作者头像 李华
网站建设 2026/4/14 18:04:36

前端 AI 辅助开发:别再手动写代码了,让 AI 帮你干

前端 AI 辅助开发:别再手动写代码了,让 AI 帮你干 什么是前端 AI 辅助开发? 前端 AI 辅助开发是指利用人工智能技术辅助前端开发者进行代码编写、代码审查、测试等工作的过程。别以为 AI 只能写一些简单的代码,现在的 AI 已经可以…

作者头像 李华