RNN / LSTM(循环神经网络)
一类按时间步顺序处理序列数据的神经网络。每个时间步的输出依赖前一步的隐藏状态,天然适合序列建模但无法并行计算。LSTM和GRU是其改进变体,用门控机制缓解梯度消失问题。
RNN / LSTM(循环神经网络)
一句话理解
RNN 是一种按时间步顺序处理序列数据的神经网络——上一步的输出作为下一步的输入,像一个带记忆的循环。
RNN 的核心思想
ht=f(ht−1,xt)每个时间步 t 的隐藏状态 ht 由前一步的状态 ht−1 和当前输入 xt 共同决定。信息沿时间步逐步传递,理论上可以"记住"整个序列的信息。
两个致命瓶颈
1. 顺序依赖,无法并行
Token 必须一个一个处理——处理 100 个词就要串行跑 100 步,无法并行加速。这导致训练极慢,成为堆大模型的瓶颈。
2. 长距离遗忘(梯度消失)
第 1 个词的信息要经过 99 步传递才能影响第 100 个词,信号逐步衰减。这就是为什么早期 RNN 很难处理长文本。
LSTM:打补丁
LSTM(Long Short-Term Memory,1997)引入了门控机制——遗忘门、输入门、输出门——控制信息的保留和丢弃:
ft=σ(Wf⋅[ht−1,xt]+bf) it=σ(Wi⋅[ht−1,xt]+bi) C~t=tanh(WC⋅[ht−1,xt]+bC) Ct=ft⊙Ct−1+it⊙C~t其中 ft 是遗忘门(决定丢弃多少旧信息),it 是输入门(决定写入多少新信息),Ct 是细胞状态(长期记忆的载体)。σ 是 sigmoid 函数,⊙ 是逐元素乘法。
这缓解了梯度消失问题,但没有根治,而且增加了计算复杂度。
GRU(Gated Recurrent Unit)是 LSTM 的简化版本,将遗忘门和输入门合并为一个更新门,参数更少但效果相近。
历史地位
RNN/LSTM 在 2017 年 Transformer 出现之前统治了序列建模领域。Transformer 用 Self-Attention 完全抛弃了循环结构,让任意两个 token 之间的距离变为 O(1),同时支持并行计算,彻底取代了 RNN 在主流 NLP 中的地位。
引用本术语的文章