LSTM
1.原始RNN的问题
RNN 面临的较大问题是无法解决长跨度依赖问题,即后面节点相对于跨度很大的前面时间节点的信息感知能力太弱 。
如 图 2.1.1( 图 片 来 源 :https://www.jianshu.com/p/9dc9f41f0b29)中的两句话:左上角的句子中 sky 可以由较短跨度的词预测出来,而右下角句子中的 French 与较长跨度之前的 France 有关系,即长跨度依赖,比较难预测。
图 2.1.1 RNN 长跨度依赖问题的影响
长跨度依赖的根本问题在于, 多阶段的反向传播后会导致梯度消失、梯度爆炸。可以使用梯度截断去解决梯度爆炸问题,但无法轻易解决梯度消失问题。
下面举一个例子来解释RNN梯度消失和爆炸的原因( 例子来源 :https://zhuanlan.zhihu.com/p/28687529)
假设时间序列有三段, ℎ0为给定值,且为了简便假设没有激活函数和偏置,则 RNN 的前向传播过程如下:
2.LSTM
LSTM 由 Hochreiter & Schmidhuber 于 1997 年提出,通过门控单元很好的解决了 RNN 长期依赖问题。 Sepp Hochreiter,Jurgen Schmidhuber.LONG SHORTTERM MEMORY.Neural Computation,December 1997.
3.总结