LSTM 模型 - 原理图解(上)
1 课程概览
本课讲解 LSTM(Long Short-Term Memory,长短时记忆结构)模型的原理。LSTM 是传统 RNN 的变体,内部结构由三门一状态组成:遗忘门、输入门、输出门和细胞状态。LSTM 能够有效捕捉长距离依赖,缓解梯度消失或梯度爆炸问题。
2 核心概念与定义
- LSTM(Long Short-Term Memory):长短时记忆结构,传统 RNN 的变体。
- 遗忘门(Forget Gate):决定对以前的信息遗忘多少,保留重要信息。
- 输入门(Input Gate):决定添加哪些新信息。
- 输出门(Output Gate):决定输出哪些信息。
- 细胞状态(Cell State):记忆单元,传递信息,用 $C$ 表示。
- 长距离依赖(Long-term Dependency):序列中远距离信息之间的关联。
3 模型与算法详解
LSTM 结构概览
| 组成 | 作用 |
|---|---|
| 遗忘门 | 决定对以前的信息遗忘多少 |
| 输入门 | 决定添加哪些新信息 |
| 细胞状态 | 记忆单元,传递信息 |
| 输出门 | 决定输出哪些信息 |
LSTM 与 RNN 对比
| 对比项 | RNN | LSTM |
|---|---|---|
| 内部结构 | 输入层 + 隐藏状态 + 输出层 | 三门一状态 |
| 输入 | $X_t$, $H_{t-1}$ | $X_t$, $H_{t-1}$, $C_{t-1}$ |
| 输出 | $H_t$, $Y_t$ | $H_t$, $Y_t$, $C_t$ |
| 长距离依赖 | 差 | 好 |
| 梯度问题 | 严重 | 缓解 |
LSTM 每个时间步的输入输出
| 类型 | 输入 | 输出 |
|---|---|---|
| 输入 | $X_t$(本次输入) | $H_t$(本次隐藏状态) |
| 输入 | $H_{t-1}$(上一时刻隐藏状态) | $C_t$(本次细胞状态) |
| 输入 | $C_{t-1}$(上一时刻细胞状态) | $Y_t$(本次输出) |
遗忘门的作用
遗忘门就是决定对以前的事儿忘记多少,保留这些重要的信息。
- 类比:人只会记住刻骨铭心的事,遗忘无关紧要的细节
- 作用:决定上一时刻的细胞状态 $C_{t-1}$ 保留多少
LSTM 的应用历史
| 时间 | 首推模型 |
|---|---|
| 2018-2020 年 | LSTM |
| 2025 年至今 | Transformer |
4 数学原理与推导
遗忘门公式
$$f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f)$$
其中:
- $f_t$:遗忘门的输出
- $\sigma$:sigmoid 激活函数
- $W_f$:遗忘门的权重矩阵
- $[h_{t-1}, x_t]$:上一时刻隐藏状态和本次输入的拼接
- $b_f$:遗忘门的偏置
输入门公式
$$i_t = \sigma(W_i \cdot [h_{t-1}, x_t] + b_i)$$
其中:
- $i_t$:输入门的输出
- $W_i$:输入门的权重矩阵
- $b_i$:输入门的偏置
细胞状态更新
$$C_t = f_t \cdot C_{t-1} + i_t \cdot \tilde{C}_t$$
其中 $\tilde{C}_t$ 为候选细胞状态:
$$\tilde{C}t = \tanh(W_C \cdot [h{t-1}, x_t] + b_C)$$
输出门公式
$$o_t = \sigma(W_o \cdot [h_{t-1}, x_t] + b_o)$$
$$h_t = o_t \cdot \tanh(C_t)$$
Sigmoid 激活函数
$$\sigma(x) = \frac{1}{1 + e^{-x}}$$
输出范围:$[0, 1]$,表示保留或遗忘的比例。
5 代码示例
本课为原理讲解,具体代码实现见后续课程。
import torch.nn as nn
# LSTM API
lstm = nn.LSTM(
input_size=100, # 输入特征维度
hidden_size=20, # 隐藏状态维度
num_layers=1 # 层数
)
# 输入:(seq_len, batch, input_size)
# h0:(num_layers, batch, hidden_size)
# c0:(num_layers, batch, hidden_size) # 细胞状态
# 输出:output, (hn, cn)
6 重难点与易错提醒
- ❗重点:LSTM 由三门一状态组成——遗忘门、输入门、输出门、细胞状态。
- ❗重点:LSTM 能够有效捕捉长距离依赖,缓解梯度消失或梯度爆炸。
- ⚠️易错:LSTM 没有从根上 100% 解决梯度问题,只是概率更小。
- 💡深入理解:遗忘门类比人的记忆,只记住刻骨铭心的事。
- 💡深入理解:2018-2020 年首推 LSTM,2025 年首推 Transformer。
7 课堂问答精选
Q1:LSTM 的内部结构是什么?
A:三门一状态——遗忘门、输入门、输出门和细胞状态。
Q2:LSTM 相比 RNN 有什么优势?
A:LSTM 能够有效捕捉长距离依赖,缓解梯度消失或梯度爆炸问题。
Q3:遗忘门的作用是什么?
A:决定对以前的信息遗忘多少,保留重要的信息到细胞状态中。类比人的记忆,只记住刻骨铭心的事。
Q4:LSTM 是否完全解决了梯度消失问题?
A:没有。LSTM 只是缓解了梯度消失或梯度爆炸问题,发生的概率更小,但仍有可能存在。
8 本课小结
- LSTM:长短时记忆结构,传统 RNN 的变体。
- 三门一状态:遗忘门、输入门、输出门、细胞状态。
- 优势:有效捕捉长距离依赖,缓解梯度问题。
- 遗忘门:决定遗忘多少旧信息。
- 2018-2020 年首推 LSTM,2025 年首推 Transformer。
9 延伸思考
- LSTM 的三门如何协同工作?
- LSTM 相比 RNN 为什么能缓解梯度消失?