Featured image of post LSTM:长短期记忆网络

LSTM:长短期记忆网络

介绍 LSTM 的门控结构、状态更新公式与核心符号。

定义

LSTM(Long Short-Term Memory,长短期记忆网络)是 RNN 的一种改进结构,用于缓解普通 RNN 难以保存长期信息以及梯度消失等问题。

作用

LSTM 通过门控机制选择性地保留重要信息、写入新信息并遗忘无关信息,从而提高对序列数据中长期依赖关系的建模能力。

结构

在普通 RNN 的基础上,LSTM 增加了一个长期记忆单元(Cell State)和三个门(Gate)来控制信息流动:

门结构作用
遗忘门(Forget Gate)决定保留多少旧记忆
输入门(Input Gate)决定写入多少新信息
输出门(Output Gate)决定向外输出多少信息

LSTM 单元结构

算法

1. 遗忘门

输入为上一时刻的隐藏状态 $h_{t-1}$ 和当前输入 $x_t$:

$$ f_t = \sigma\left(W_f[h_{t-1},x_t]+b_f\right) $$

$f_t$ 的每个元素都在 0 到 1 之间;1 表示完全保留对应信息,0 表示完全遗忘。

公式中的 $[h_{t-1},x_t]$ 表示拼接操作;后续公式中的方括号含义相同。

2. 输入门

输入门计算需要写入多少新信息,并生成候选记忆:

$$ i_t = \sigma\left(W_i[h_{t-1},x_t]+b_i\right) $$

$$ \widetilde{C}t = \tanh\left(W_c[h{t-1},x_t]+b_c\right) $$

其中 $i_t$ 控制候选信息的写入比例,$\widetilde{C}_t$ 是当前时刻生成的候选记忆。

3. 细胞状态更新

$$ C_t = f_t \odot C_{t-1} + i_t \odot \widetilde{C}_t $$

其中,$\odot$ 表示逐元素相乘。

4. 输出门

$$ o_t = \sigma\left(W_o[h_{t-1},x_t]+b_o\right) $$

$$ h_t = o_t \odot \tanh(C_t) $$

两个重要状态

Cell State(细胞状态)$C_t$

表示长期记忆,保存序列中的重要信息,并能跨越多个时间步传递。

Hidden State(隐藏状态)$h_t$

表示当前时刻的输出,参与下一时刻的计算,也会向下一时间步和后续输出层传递信息。

符号说明

符号含义
$x_t$当前时刻的输入
$h_{t-1}$上一时刻的隐藏状态
$C_{t-1}$上一时刻的细胞状态
$\sigma$Sigmoid 激活函数
$\tanh$双曲正切激活函数
$W$、$b$可学习的权重和偏置

参考资料