1.传统RNN存在的问题
在循环神经网络一文中,对前向传播、后向传播进行了仔细的推导,回顾一下,可以发现传统RNN很容易产生梯度消失、爆炸的问题。
可能公式会显得有点抽象,这里举一个例子:
那么,LSTM是如何解决这个问题的呢?
2.RNN && LSTM
如图1所示,这就是一个传统的RNN模型,激活函数用的是tanh
图2与图1拥有类似的网络结构,只不过内部会更加复杂,即包括输入、忘记、输出门。
下面,我们来看看LSTM每一个门具体是如何运转的
3.初识LSTM
在介绍LSTM各个门之间如何运作之前,先看下LSTM网络中图标的含义,如图3所示:
LSTM 通过精心设计称作为“门”的结构来去除或者增加信息到细胞状态的能力。门是一种让信息选择式通过的方法。他们包含一个 sigmoid 函数和一个 pointwise 乘法操作。
下面,依据图2从左到右依次介绍:
忘记门(forget gate),利用sigmoid函数将数据转换到[0,1]区间,从而实现“忘记”。