为什么rnn循环神经网络会有梯度消失的情况,而lstm可以避免这种情况的发生?
-
使用梯度下降的方式来更新,如果有很多个这样的数相乘的话,就会使得梯度趋近于0。
-
梯度消失导致的问题其实是权重w几乎不更新,这样就很难找到一个合适的权重w,去映射输入值与输出值之间的关系。 - LSTM中神经元之间的连接不仅仅有h, 还有信息C, h在神经元之间的传递会经过sigmoid函数处理,但是C不会。所以与C相关的权重W的更新不会因为神经元链过长而产生梯度消失的现象(指的是,遗忘门,信息增益门的权重w)。但是输出门的权重w,是可能会出现梯度消失的。所以可以说是高速通道C,掩盖了通道h的梯度消失的现象,所以从整体上看是没有梯度消失现象的。
LSTM结构分析 -
LSTM的第一步是决定我们要从细胞状态C中丢弃什么信息。
-
下一步是决定我们要在细胞状态中存储什么信息。
-
将上一个状态值乘以ft,以此表达期待忘记的部分。之后我们将得到的值加上 it∗C̃ t。这个得到的是新的候选值, 按照我们决定更新每个状态值的多少来衡量.
-
输出门