通常神经网络隐层的计算是h=g(w * x),其中g是激活函数,相比于通常神经网络,RNN须要考虑以前序列的信息,所以它的隐藏h的计算除了当前输入还要考虑上一个状态的隐藏,h=g(w*x+w'*h'),其中h'是上一次计算的隐层,可见信息传递是经过隐层完成的。网络
有上面普通RNN能够知道,每一个状态下的RNN输入实际有两个,上一个隐藏h'以及当前输入x。RNN有个问题是对序列中的各个状态都是等同对待的,若是某个状态很重要,是没法长期影响后面的输出的。LSTM为了解决这个问题提出了相似于门控的想法,三个门控信号均有h'和x计算获得,分别是遗忘门、记忆门和输出门。遗忘门和记忆门用来融合当前候选隐层状态和上一时刻的隐层状态获得"传递信息",最后在输出门的控制下根据当前"传递信息"再计算一个隐层和输出层。函数
spa