
刚写完相关的文章,转载一部分过来。
来自自己的专栏:当我们在谈论数据挖掘 - 知乎专栏
上面说到,LSTM 是为了解决 RNN 的 Gradient Vanish 的问题所提出的。关于 RNN 为什么会出现 Gradient Vanish,上面已经介绍的比较清楚了,本质原因就是因为矩阵高次幂导致的。下面简要解释一下为什么 LSTM 能有效避免 Gradient Vanish。
对于 LSTM,有如下公式
模仿 RNN,我们来计算 ,有
公式里其余的项不重要,这里就用省略号代替了。可以看出当 时,就算其余项很小,梯度仍然可以很好导到上一个时刻,此时即使层数较深也不会发生 Gradient Vanish 的问题;当 时,即上一时刻的信号不影响到当前时刻,则梯度也不会回传回去; 在这里也控制着梯度传导的衰减程度,与它 Forget Gate 的功能一致。
对 RNN 其他方面需要了解的可以参考原专栏文章:
