相较于RNN,LSTM只是改变了隐含层中神经元在不同时刻的传播机制
将隐层某个神经元看成一个cell, 这个cell有3个输入,上一个时刻的隐层某神经元的保留状态
Ct−1
,上一个时刻的隐层某神经元输出的传递信息
ht−1
, 当前时刻的样本
Xt
, 该cell由3个gate(forget, input, output)控制。
一、通过忘记门决定从cell中丢失什么信息:
ft=sigmoid(Wfhht−1+WfxXt+bf)
二、 通过输入门决定什么样的新信息被存放在cell中:
决定什么值将要更新:
it=sigmoid(Wihht−1+WixXt+bi)
创建新的候选值向量:
Ct˜=tanh(Wchht−1+WcxXt+bc)
确定更新信息:
Ct=ft∗Ct−1+it∗Ct˜
三、通过输出门决定输出什么:
决定哪个部分将被输出:
ot=sigmoid(Wohht−1+WoxXt+bo)
确定输出部分:
ht=ot∗tanh(Ct)
本文参考资料http://www.open-open.com/lib/view/open1440843534638.html