Ch08 RNN序列模型
LSTM 长短期记忆网络 (Long Short-Term Memory)
一句话理解
LSTM 是 RNN 的升级版——通过三个门(遗忘门、输入门、输出门)和一个细胞状态,解决了简单 RNN 记不住长距离信息的问题。
零基础理解
简单 RNN 像金鱼记忆——看过的信息很快就忘了。LSTM 像带笔记本的人——有三个”开关”控制:什么时候忘掉旧信息(遗忘门),什么时候记新信息(输入门),什么时候输出当前记忆(输出门)。笔记本本身(细胞状态)就是一条”信息高速公路”,信息可以几乎无损地从第一步传到第 N 步。
核心架构
三个门 + 一个细胞状态
LSTM 单元内部结构:
输入: x_t (当前输入), h_{t-1} (上一时刻隐藏状态), c_{t-1} (上一时刻细胞状态)
输出: h_t (当前隐藏状态), c_t (当前细胞状态)
四个组件:
1. 遗忘门 f_t: 决定扔掉细胞状态中的哪些旧信息
2. 输入门 i_t: 决定把哪些新信息写入细胞状态
3. 候选细胞状态 c̃_t: 新信息的候选值
4. 输出门 o_t: 决定从细胞状态中输出什么
数学公式
| 组件 | 公式 | 激活函数 | 作用 |
|---|---|---|---|
| 遗忘门 | Sigmoid(0~1) | 0=全忘, 1=全保留 | |
| 输入门 | Sigmoid(0~1) | 0=不写入, 1=全部写入 | |
| 候选细胞状态 | Tanh(-1~1) | 新信息的候选值 | |
| 细胞状态更新 | — | 遗忘旧 + 写入新 | |
| 输出门 | Sigmoid(0~1) | 控制输出多少 | |
| 隐藏状态 | — | 当前输出 |
三个门的直观理解
遗忘门 (Forget Gate)
| 场景 | 遗忘门输出 | 效果 |
|---|---|---|
| 句子结束,主语要换了 | 接近 0 | 清除旧主语信息 |
| 还在描述同一个主语 | 接近 1 | 保留主语信息 |
| 识别到关键转折词”但是” | 0.5 | 部分保留,部分清空 |
例子:“小明喜欢吃苹果,他每天吃一个。” → 处理”他”时,遗忘门保留了”小明”的信息,因为”他”指代”小明”。
输入门 (Input Gate)
| 场景 | 输入门输出 | 效果 |
|---|---|---|
| 遇到新主语 | 接近 1 | 写入新主语信息 |
| 遇到无关虚词(“的”, “了”) | 接近 0 | 不写入 |
| 遇到关键动词 | 接近 1 | 写入动作信息 |
输出门 (Output Gate)
| 场景 | 输出门输出 | 效果 |
|---|---|---|
| 需要预测下一个词(输出阶段) | 接近 1 | 输出相关信息 |
| 中间过渡步骤 | 部分开放 | 选择性输出 |
细胞状态:信息高速公路
细胞状态 是 LSTM 最核心的设计:
c_{t-1} ──→ [×] ──→ [+] ──→ c_t
↑ ↑
遗忘门 f_t 输入门 i_t × c̃_t
- 细胞状态上只有线性操作(逐元素乘法和加法)
- 梯度在细胞状态上反向传播时,没有非线性激活函数的挤压
- 遗忘门等于 1 时,梯度无损传递——这就是 LSTM 缓解梯度消失的关键
LSTM vs GRU vs 简单 RNN
| 维度 | 简单 RNN | LSTM | GRU |
|---|---|---|---|
| 门数量 | 0 | 3 (遗忘/输入/输出) | 2 (重置/更新) |
| 状态数量 | 1 (隐藏状态) | 2 (隐藏状态+细胞状态) | 1 (隐藏状态) |
| 参数量 | 1× | ~4× | ~3× |
| 训练速度 | 最快 | 慢 | 中等 |
| 长距离记忆 | 差 | 很好 | 好 |
| 梯度消失 | 严重 | 大幅缓解 | 缓解 |
| 提出年份 | 1986 | 1997 | 2014 |
| 2026 年使用 | 几乎不用 | CV/语音仍有使用 | NLP 序列建模 |
为什么 LSTM 能缓解梯度消失
| 机制 | 说明 |
|---|---|
| 细胞状态的线性传递 | 的更新是线性的(),没有 Tanh 挤压 |
| 遗忘门控制 | 遗忘门可以学成接近 1,让梯度无损传递 |
| 门控机制 | 输入门和输出门让梯度”选择性”通过,减少噪声累积 |
| 梯度路径 | 梯度在细胞状态上有独立的”高速公路”,不经过 Tanh 的饱和区 |
对比 RNN:RNN 的隐藏状态 ,每次更新都经过 Tanh 和矩阵乘法,梯度连续相乘后指数衰减。LSTM 的细胞状态绕过了这个瓶颈。
2026 年 LSTM 地位
| 领域 | LSTM 使用情况 |
|---|---|
| NLP / 语言模型 | 已被 Transformer 完全取代 |
| 语音识别 | 仍有使用,但 Conformer(CNN+Transformer) 正在取代 |
| 时间序列预测 | 仍有使用,但 PatchTST 等 Transformer 变体在追赶 |
| 视频理解 | 与 3D CNN 竞争,各有优势 |
| 强化学习 | 偶尔用于处理部分可观测状态 |
结论:LSTM 在 2026 年不再是主流,但作为理解序列建模和门控机制的基石,其设计思想(门控、细胞状态、信息高速公路)深刻影响了后续所有架构。
相关笔记
- 第8章 · RNN 与序列模型 — LSTM 在 RNN 序列中的位置
- GRU 门控循环单元 (Gated Recurrent Unit) — LSTM 的简化版,参数更少
- 反向传播 (Backpropagation) — 梯度消失问题与 LSTM 的解决方案
- 第9章 · Transformer 架构精讲 — Transformer 如何取代 LSTM
- 注意力机制 (Attention Mechanism) — 注意力机制 vs LSTM 的长距离依赖处理
来源
- Hochreiter & Schmidhuber, “Long Short-Term Memory” (1997) — https://www.bioinf.jku.at/publications/older/2604.pdf
- Olah, “Understanding LSTM Networks” (2015) — https://colah.github.io/posts/2015-08-Understanding-LSTMs/
- Goodfellow et al., “Deep Learning”, Chapter 10.10 — https://www.deeplearningbook.org/
- Greff et al., “LSTM: A Search Space Odyssey” (2017) — 大规模 LSTM 变体比较 — https://arxiv.org/abs/1503.04069