(1)简单介绍一下LSTM
因为循环神经网络(Recurrent Neural Networks,RNN),本质是一个全连接网络,在处理长期依赖的问题上会出现梯度消失和梯度爆炸。长短时记忆模块(Long Short Term Memory,LSTM),是对RNN存在的梯度消失、梯度爆炸问题的一种优化模型。通过增加输入门限,遗忘门限和输出门限,使得自循环的权重是变化的,这样一来在模型参数固定的情况下,不同时刻的积分尺度可以动态改变,从而避免了梯度消失或者梯度膨胀的问题。
LSTM的三个门的作用:输入门决定何时让输入进入细胞单元;遗忘门决定何时应该记住前一时刻的信息;输出门决定何时让记忆流入下一时刻。
LSTM包含了两种激活函数,sigmoid 用在了各种门限上,产生0~1之间的值。tanh 用在了状态和输出上,是对数据的处理,这个用其他激活函数或许也可以。
(2)LSTM是怎么解决梯度消失的问题的?
传统的神经网络层数一多,就会有梯度消逝和爆炸的现象,因为导数的链式法则导致了连乘的形式。造成梯度指数级的消失,lstm使用CEC(constant error carousel)机制,使得远处的梯度传到近处没有改变、但这样又会造成输入输出权重矛盾,所以又使用了门限单元来解决。
(3)还有哪些其它的解决梯度消失或梯度爆炸的方法?