LSTM如何防止消失的梯度问题?


35

LSTM是专门为避免梯度消失而发明的。可以假设使用恒定误差旋转木马(CEC)来做到这一点,在下图中(来自Greff等人)对应于细胞周围的回路。

LSTM
(来源:deeplearning4j.org

而且我知道该部分可以看作是一种身份函数,因此导数为1,并且梯度保持恒定。

我不明白的是它不会因其他激活功能而消失吗?输入,输出和忘记门使用S形,其导数最大为0.25,而g和h传统上为tanh。反向传播如何使梯度不消失?


2
LSTM是一种递归神经网络模型,它在记住长期依赖性方面非常有效,并且不容易受到梯度消失的影响。我不确定您要寻找哪种解释
TheWalkingCube 2015年

LSTM:长期短期记忆。(参考资料:Hochreiter,S.和Schmidhuber,J.(1997)。长期短期记忆。神经计算9(8):1735-80·1997年12月)
horaceT

LSTM中的梯度确实消失了,仅比原始RNN中的梯度慢,从而使它们能够捕获更远的依赖关系。避免梯度消失的问题仍然是积极研究的领域。
Artem Sobolev

1
愿意支持慢速消失参考吗?
bayerj

Answers:


22

在一维情况下最好解释消失梯度。多维更复杂,但本质上是相似的。您可以在这篇出色的论文中对其进行回顾[1]。

假设我们有一个隐藏的状态时间步牛逼。如果我们使事情简单,并消除偏差和输入,我们有 h t = σ w h t 1 然后你可以证明htt

ht=σ(wht1).

htht=k=1ttwσ(whtk)=wtt!!!k=1ttσ(whtk)
tt

st

stst=k=1ttσ(vt+k).
vt

[1] Pascanu,Razvan,Tomas Mikolov和Yoshua Bengio。“关于训练递归神经网络的困难。” ICML(3)28(2013):1310-1318。

[2]拜耳,贾斯汀·西蒙。学习序列表示。Diss。慕尼黑,慕尼黑工业大学,Diss。,2015,2015。


3
对于lstm,h_t也不依赖于h_ {t-1}吗?当您说ds_t / d_s {t-1}“是梯度随时间流逝的唯一部分”时,这是什么意思?
user3243135

@ user3243135 h_t确实取决于h_ {t-1}。但是,假设ds_t / d_s {t-1}保持不变,即使其他梯度流消失,整个梯度流也不会消失。这解决了梯度消失的问题。
soloice '18

ttσ(whtk)
σ(z)σ(x)=σ(z)(1σ(z))肯定<1)。这不是为什么ReLU被CNN接受的原因吗?对于前馈模型与递归模型,如何解决消失梯度的差异总是使我感到困惑。对此有任何澄清吗?

假设输入的分布具有大的方差和/或均值远离0,则S型曲线的梯度也会成为问题。但是,即使使用ReLU,主要问题仍然存在:反复乘以权重矩阵(通常很小) )会导致梯度消失,或者在某些情况下,正则化不够充分时,梯度会爆炸。
共济失调

3

Greff等人的LSTM块的图片。(2015年)描述了作者称为香草LSTM的一种变体。这与Hochreiter&Schmidhuber(1997)的最初定义有些不同。最初的定义不包括忘记门和窥孔连接。

原始论文中使用了“恒定误差轮播”一词来表示单元状态的循环连接。考虑最初的定义,当输入门打开时,单元状态仅通过加法改变。单元状态相对于较早时间步的单元状态的梯度为零。

错误可能仍会通过输出门和激活功能进入CEC。激活功能会在将误差添加到CEC之前稍微降低误差的大小。CEC是唯一可以使错误保持不变的位置。同样,当输入门打开时,错误会通过输入门,激活函数和仿射变换而退出,从而减小了误差的幅度。

因此,当错误通过LSTM层反向传播时(但仅当它进入和退出CEC时),该错误会减少。重要的是,无论CEC行驶多长时间,它都不会改变。这解决了基本RNN中每个时间步都应用仿射变换和非线性的问题,这意味着输入和输出之间的时间距离越长,误差就越小。


2

http://www.felixgers.de/papers/phd.pdf 请参阅第2.2和3.2.2节,其中介绍了截断的错误部分。如果错误从单元存储器中泄漏出来(即,如果存在关闭/激活的输入门),则它们不会传播错误,但只会在该时刻基于错误更新门的权重。之后,在进一步的反向传播期间将其设为零。这是种破解,但这样做的原因是沿门的错误流随时间而衰减。


7
您能对此做一点扩展吗?目前,如果链接位置更改或论文离线,答案将毫无价值。至少提供完整的引文(参考)将有帮助,如果链接停止工作,则可以再次找到该论文,但是使该答案独立的简短摘要将是最好的。
银鱼

2

我想在接受的答案中添加一些细节,因为我认为它有些细微差别,并且这种细微差别对于第一次了解RNN的人可能并不明显。

htht=k=1ttwσ(whtk)

stst=k=1ttσ(vt+k)

  • tt
  • 答案是肯定的,这就是为什么LSTM也将遭受逐渐消失的梯度的困扰,但不及原始RNN那样严重的原因。

wσ()σ()

σ()1
vt+k=wxwxw

x=1w=10 vt+k=10σ()=0.99995

(0.99995)tt

wσ(whtk)1

htk=1wσ(w1)0.224w=1.5434

(0.224)tt

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.