我对 RNN(尤其是 LSTM 单元)如何工作有基本的了解。我对 LSTM 单元的架构有一个图形化的想法,即一个单元和几个门,它们调节值的流动。
但是,显然,我还没有完全理解 LSTM 如何解决“梯度消失和爆炸”问题,这种问题发生在训练时,使用随时间的反向传播,传统的 RNN。我还没有机会阅读论文来完全理解数学。
这个答案简要解释了带有 LSTM 单元的 RNN 如何解决“梯度消失”问题。从数学上讲,原因似乎是不存在不为零的导数,即不趋向于零。因此,作者指出,“至少存在一条梯度不会消失的路径”。恕我直言,这个解释有点模糊。
同时,我正在阅读论文Sequence to Sequence Learning with Neural Networks(Ilya Sutskever、Oriol Vinyals、Quoc V. Le 撰写),并且在那篇论文中的“3.4 训练细节”一节中指出
尽管 LSTM 往往不会受到梯度消失问题的影响,但它们可能会出现梯度爆炸。
我一直认为带有 LSTM 单元的 RNN 可以同时解决“梯度消失”和“梯度爆炸”的问题,但显然,带有 LSTM 单元的 RNN 也存在“梯度爆炸”的问题。
直觉上,这是为什么呢?从数学上讲,原因是什么?