LSTM模型,是循环神经网络的一种变体,可以很有效的解决简单循环神经网络的梯度爆炸或消失问题。
新的内部状态LSTM网络引入一个新的内部状态Ct专门进行线性的循环信息传递,同时(非线性)输出信息给隐藏层的外部状态ht。LSTM网络中的门是一种软门,取值在(0,1)之间,表示以一定的比例运行信息通过。
遗忘门ft,控制上一时刻的内部状态ct-1需要遗忘多少信息。
输入门it,控制当前时刻的候选状态有多少信息需要保存。
(ct 非线性函数得到的候选状态)
输出门ot,控制当前时刻的内部状态ct有多少信息需要输出给外部状态ht。
当ft=0,it=1时,记忆单元将历史信息清空,并将候选状态向量写入。
当ft=1,it=0时,记忆单元将复制上一时刻的内容,不写入新的信息。
其中
(tanh)为logistic函数,其输出区间为(0,1),xt为当前时刻的输入,ht-1为上一时刻的外部状态。
循环神经网络中的隐状态h存储了历史信息,可以看作时一种记忆。在简单循环网络中,隐状态每个时刻都会被重写,因此可以看作是一种短期记忆。在神经网络中,长期记忆可以看作时网络参数,隐含了从训练数据中学到的经验,并更新周期要远远慢于短期记忆。而在LSTM网络中,记忆单元c 可以在某个时刻捕捉到某个关键信息,并由能力将词关键信息保存一定的时间间隔。记忆单元c中保存信息的生命周期要长于短期记忆h,但又远远短于长期记忆,因此称为长的短期记忆。