LSTM

分类: 网络架构

LSTM

定义

长短期记忆网络是 RNN 的一种变体,通过引入遗忘门、输入门和输出门三个门控机制以及细胞状态,有效解决了原始 RNN 的梯度消失问题,使网络能够学习长距离依赖关系。

数学形式

ft=σ(Wf[ht1,xt]+bf)(遗忘门)f_t = \sigma(W_f [h_{t-1}, x_t] + b_f) \quad \text{(遗忘门)} it=σ(Wi[ht1,xt]+bi)(输入门)i_t = \sigma(W_i [h_{t-1}, x_t] + b_i) \quad \text{(输入门)} C~t=tanh(WC[ht1,xt]+bC)(候选细胞状态)\tilde{C}_t = \tanh(W_C [h_{t-1}, x_t] + b_C) \quad \text{(候选细胞状态)} Ct=ftCt1+itC~t(细胞状态更新)C_t = f_t \odot C_{t-1} + i_t \odot \tilde{C}_t \quad \text{(细胞状态更新)} ot=σ(Wo[ht1,xt]+bo)(输出门)o_t = \sigma(W_o [h_{t-1}, x_t] + b_o) \quad \text{(输出门)} ht=ottanh(Ct)(隐藏状态)h_t = o_t \odot \tanh(C_t) \quad \text{(隐藏状态)}

σ\sigma: sigmoid 激活函数

\odot: 逐元素乘法(Hadamard 积)

CtC_t: 细胞状态,信息的”高速公路”,梯度可以几乎无损地沿此通道传播

ft,it,otf_t, i_t, o_t: 三个门控向量,值域 (0,1)(0, 1)

核心要点

细胞状态 CtC_t 是 LSTM 的关键创新,提供了一条梯度几乎无损传播的路径,解决梯度消失问题

遗忘门决定丢弃哪些旧信息,输入门决定写入哪些新信息,输出门决定暴露哪些信息

参数量约为同等隐藏维度 RNN 的 4 倍(因为有 4 组权重矩阵)

GRU 是 LSTM 的简化版,将遗忘门和输入门合并为更新门,参数更少但性能相当

在 Transformer 出现前,LSTM 是 NLP 领域(机器翻译、语言模型、文本分类)的主流架构

堆叠多层 LSTM + 注意力机制曾是 seq2seq 模型的标准配置

代表工作

Hochreiter & Schmidhuber (1997): “Long Short-Term Memory”,LSTM 原始论文

Graves et al. (2013): 将 LSTM 应用于语音识别,取得突破性成果

Sutskever et al. (2014): Sequence to Sequence Learning with Neural Networks,LSTM 编码-解码框架

Merity et al. (2018): AWD-LSTM,正则化 LSTM 语言模型的最佳实践

相关概念

RNN

Language Model

Backpropagation

Transformer