LSTM 是一种特殊的循环神经网络,要理解 LSTM,首先要明白 RNN 的核心问题。

- RNN 的目标:处理序列数据(如文本、语音、时间序列),利用“记忆”来理解上下文信息。
- RNN 的短板:在处理长序列时,早期信息在反向传播过程中,梯度会不断乘以小于1的数,导致梯度消失,这意味着网络很难学习和利用远距离的依赖关系(一段话开头的信息对结尾的影响)。
- LSTM 的诞生:就是为了解决 RNN 的这个“长期依赖”问题而设计的,它通过精巧的“门控”结构,有选择地记住重要信息、遗忘无用信息。
你可以把 RNN 想象成一个短时记忆者,而 LSTM 是一个配备 “记忆笔记本” 和 “信息过滤器” 的专家。
LSTM 的核心:细胞状态与门控机制
这是 LSTM 最关键的两个概念。
a. 细胞状态
这是 LSTM 的“记忆主线”或“传送带”,它从序列开始贯穿到结束,理论上可以在整个过程中携带信息而几乎不发生改变,它的作用是保存长期的、重要的信息。
比喻:就像一条横贯整个网络的“高速公路”,信息在上面可以顺畅地流动很远。
b. 门控机制
LSTM 有三个“门”,每个门由一个 Sigmoid 神经网络层和一个 点乘操作 组成。
- Sigmoid 层:输出 0 到 1 之间的值,表示“通过比例”,0 代表“完全不让任何信息通过”,1 代表“让所有信息通过”。
- 点乘操作:用 Sigmoid 的输出值,逐元素乘以要控制的信息流,从而实现 选择性通过。
这三个门分别是:
遗忘门
- 作用:决定从 上一个细胞状态 中丢弃/保留哪些信息。
- 输入:当前输入
x_t和上一个短期状态h_{t-1}。 - 输出:一个介于 0 和 1 之间的值,作用在 上一个细胞状态
C_{t-1}上。1表示 “完全保留”0表示 “完全遗忘”
输入门
- 作用:决定将 哪些新信息 存入细胞状态。
- 它分为两步:
- Sigmoid 层(输入门层):决定我们要更新哪些值。
- tanh 层:创建一个新的候选值向量
\tilde{C_t},这些是可能被加入到细胞状态的新信息。
- 将这两部分的结果相乘,决定用多少新信息来更新状态。
输出门
- 作用:基于当前的细胞状态
C_t,决定 输出什么。 - 步骤:
- 运行一个 Sigmoid 层,决定细胞状态的哪些部分将输出。
- 将细胞状态
C_t通过tanh函数(将值缩放到 -1 到 1 之间)。 - 将上述两步的结果相乘,得到最终的输出
h_t(即当前时间步的“隐藏状态”)。
LSTM 的计算流程(一个时间步)
假设当前时间步为 t:
- 计算三个门的数值:使用当前输入
x_t和上一个隐藏状态h_{t-1}。f_t = σ(W_f · [h_{t-1}, x_t] + b_f)// 遗忘门i_t = σ(W_i · [h_{t-1}, x_t] + b_i)// 输入门o_t = σ(W_o · [h_{t-1}, x_t] + b_o)// 输出门
- 生成候选记忆:
\tilde{C_t} = tanh(W_C · [h_{t-1}, x_t] + b_C) - 更新细胞状态(记忆核心操作):
- 遗忘一部分旧状态:
f_t * C_{t-1} - 添加一部分新候选记忆:
i_t * \tilde{C_t} - 得到新细胞状态:
C_t = f_t * C_{t-1} + i_t * \tilde{C_t}
- 遗忘一部分旧状态:
- 计算当前输出(隐藏状态):
h_t = o_t * tanh(C_t)
公式形象理解:C_t 的更新公式是 LSTM 的灵魂,它不是替换,而是逐步的“遗忘”和“添加”,这使得梯度在细胞状态 C 上传播时不易消失或爆炸。
核心优势总结
- 解决梯度消失:细胞状态
C_t的更新是累加 () 操作,而非连乘,使得梯度可以稳定地流动更长距离。 - 选择性记忆:通过三个门,LSTM 可以自主决定:
- 记住长期的上下文(如文章主题)。
- 忘记无关的细节。
- 在输出时聚焦于当前最相关的信息。
- 强大灵活性:这种门控结构让它能适应各种复杂的序列模式。
应用领域
LSTM 及其变体在序列建模任务中取得了巨大成功,
- 自然语言处理:机器翻译、文本生成、情感分析、命名实体识别。
- 语音识别:将音频序列转换为文字。
- 时间序列预测:股价预测、天气预测、销量预测。
- 视频分析:对连续帧进行动作识别或描述。
与基础 RNN 的对比
| 特性 | 基础 RNN | LSTM |
|---|---|---|
| 记忆结构 | 单一隐藏状态 h |
隐藏状态 h + 细胞状态 C(核心记忆) |
| 信息流 | 简单重复,易被覆盖 | 受门控保护,可长距离保持 |
| 长期依赖 | 难以学习 | 核心优势,擅长学习 |
| 梯度问题 | 易出现梯度消失/爆炸 | 有效缓解梯度消失 |
| 复杂度 | 结构简单,计算快 | 结构复杂,参数多,计算慢 |
后续发展
- GRU:LSTM 的一个流行变体,将遗忘门和输入门合并为“更新门”,结构更简单,计算更快,在许多任务上与 LSTM 效果相当。
- 注意力机制与Transformer:这是目前的主流,它完全摒弃了循环结构,使用自注意力机制来建立序列中任意两点的直接联系,在长距离依赖和并行计算上超越了 LSTM,成为了 NLP 等领域的基石(如 BERT, GPT)。
总结一下:LSTM 的核心是通过引入“细胞状态”和由“遗忘门、输入门、输出门”构成的门控系统,实现了对信息的长期、选择性记忆,从而有效解决了传统 RNN 的长期依赖难题。 它是深度学习处理序列数据历史上的一个里程碑式模型。