6.8 长短期记忆(LSTM)
本节将介绍另一种常用的门控循环神经网络:长短期记忆(long short-term memory,LSTM)[1]。它比门控循环单元的结构稍微复杂一点。
6.8.1 长短期记忆
LSTM 中引入了3个门,即输入门(input gate)、遗忘门(forget gate)和输出门(output gate),以及与隐藏状态形状相同的记忆细胞(某些文献把记忆细胞当成一种特殊的隐藏状态),从而记录额外的信息。
6.8.1.1 输入门、遗忘门和输出门
与门控循环单元中的重置门和更新门一样,如图6.7所示,长短期记忆的门的输入均为当前时间步输入XtXt \boldsymbol{X}_t[0,1]。
图6.7 长短期记忆中输入门、遗忘门和输出门的计算
具体来说,假设隐藏单元个数为hh h[−1,1]的tanh函数作为激活函数,如图6.8所示。
图6.8 长短期记忆中候选记忆细胞的计算
具体来说,时间步tt tC~t如何流入当前时间步的记忆细胞。如果遗忘门一直近似1且输入门一直近似0,过去的记忆细胞将一直通过时间保存并传递至当前时间步。这个设计可以应对循环神经网络中的梯度衰减问题,并更好地捕捉时间序列中时间步距离较大的依赖关系。
图6.9 长短期记忆中记忆细胞的计算
6.8.1.4 隐藏状态
有了记忆细胞以后,接下来我们还可以通过输出门来控制从记忆细胞到隐藏状态Ht∈Rn×hHt∈Rn×h \boldsymbol{H}_t \in \mathbb{R}^{n \times h}Ht=Ot⊙tanh(Ct