为什么带有LSTM单位的RNN也会遭受“爆炸梯度”的困扰?


13

我对RNN(尤其是LSTM单元)的工作方式有基本的了解。我对LSTM单元的体系结构有一个构想,即一个单元和几个门,它们调节值的流动。

但是,显然,我还没有完全理解LSTM如何解决“消失梯度和爆炸梯度”问题,该问题是在训练中使用常规RNN通过时间进行反向传播而发生的。我没有机会阅读论文以完全理解数学。

该答案简要说明了具有LSTM单位的RNN如何解决“消失梯度”问题。从数学上讲,原因似乎是不存在的导数不存在,即不趋于零。因此,作者指出:“至少存在一条不消失梯度的路径”。恕我直言,这种解释有点含糊。

同时,我正在阅读论文《使用神经网络进行序列学习》(作者:Ilya Sutskever,Oriol Vinyals,Quoc V. Le),在该论文的“ 3.4培训细节”部分中有说明

尽管LSTM往往不会遭受梯度消失的困扰,但它们可能会出现爆炸梯度。

我一直认为,带有LSTM单元的RNN可以解决“消失”和“爆炸梯度”的问题,但是,显然,带有LSTM单元的RNN也会遭受“爆炸梯度”的困扰。

凭直觉,为什么?从数学上讲,原因是什么?

Answers:


12

一个很简短的答案:

LSTM将单元状态(通常由表示c)和隐藏层/输出(通常由表示)解耦h,并且仅对进行加性更新c,从而使内存c更稳定。因此,流过的梯度c将保持不变且难以消失(因此整个梯度很难消失)。但是,其他路径可能会导致梯度爆炸。


有关数学解释的更详细答案:

让我们首先回顾一下CEC(恒定误差轮播)机制。CEC表示,从时间步长tt+1,如果遗忘门为1(原始LSTM论文中没有遗忘门,因此总是这样),则梯度可以无变化地流动。遵循LSTM论文中的BPTT公式:《搜索空间漫游》附录A.2(该论文在其他文献中),CEC流量实际上对应于方程。当接近1时,无损地累积到。dl/dctyhδct=+δct+1ft+1ft+1δct+1δct

但是,LSTM不仅仅是CEC。除了从到的CEC路径之外,在两个相邻时间步长之间确实存在其他路径。例如,。通过2个步骤进行反向传播过程,我们得到:,我们看到在此路径上被乘以两次,就像香草一样,这可能会引起梯度爆炸。类似地,由于矩阵自相乘,通过输入和忘记门的路径也能够引起梯度爆炸。 c t + 1 y to t + 1y t +ctct+1ytot+1yt+1δytRoTδot+1δyt+1RoTδot+2RoTRiT,RfT,RzT

参考:

K. Greff,RK Srivastava,J.Koutn´k,BR Steunebrink和J.Schmidhuber。LSTM:搜索空间漫游。CoRR,abs / 1503.04069,2015年。


您能为这篇论文提供完整的引用吗?链接往往会失效。
mkt-恢复莫妮卡

2
@mkt感谢您的建议。实际上,这是一篇非常著名的论文,其链接指向arXiv,因此它不太可能消失,但是请务必检查版本v1(因为当前版本v2不包含附录)。
soloice '18

感谢您仍然添加它,以及有关附录的详细信息。
mkt-恢复莫妮卡

好的答案,我通常不评论加+1,但这是值得的。用LSTM单元中可能不稳定路径的矩阵代数显示一个实际示例,可以准确地回答OP。
DeltaIV '18 -4-12

3

LSTM / GRU之前的RNN过去一直是不稳定的,因为它们所做的实际上是每个时间步长的隐藏状态乘以一定的权重,这意味着它是指数运算。并且我们知道,幂运算非常不稳定: LSTM / GRU单元通过将乘法转换为加法来解决此问题。您具有一个单元状态,而不是相乘而不是相乘。1 200 = 1 1.01 20013

0.992000.134
1200=1
1.0120013

但是,仍然存在一些可能使梯度变得不稳定的路径,并且网络越大,您遇到该问题的可能性就越大。


3
为什么这会回答我的问题?我想知道细节。
nbro
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.