回答思路
RNN是一类以序列数据为输入,在序列的演进方向进行递归,且所有节点单元按照链式连接的递归神经网络,RNN每一层的隐状态都由前一层的隐状态经过变换和激活函数得到。反向传播求导时最终得到的导数会包含每一步梯度的连乘,这会引起梯度爆炸或梯度消失。所以RNN很难处理"长程依赖",即无法学到序列中蕴含的间隔较长的规律。
LSTM引入了包含遗忘门、输入门、输出门的cell状态结构,公式如下:
而对于LSTM模型而言,求解有
在LSTM迭代过程中,针对而言,每一步的
可以自主的选择在[0, 1]之间,或者大于1,因为
是可训练学习的,那么整体
也就不会一直减小,使得远距离梯度不至于完全消失,也就能够解决RNN中存在的问题。