这种依赖性不会再次导致梯度爆炸/消失问题吗?
绝对,而且你最好有消失的梯度,否则你会遇到训练问题。
在这种情况下,梯度消失并不是一件坏事,而是一件好事(与前馈不同)。让C(吨)是当时评估的成本函数吨 和 W(吨)有时会成为网络的一部分吨. 在这种情况下,梯度消失意味着dC( t ) / dW( t - u )随着你变得越来越大,它变得越来越小。这很好,因为dC( t ) / dW=∑n u m _ s t e p s你= 0dC( t ) / dW( t - u ),所以如果梯度没有及时消失,那么梯度就会爆炸。所以W 即使时间梯度消失,也得到适当的非消失梯度,因为梯度为 W 是梯度的总和 W.
在 LSTM 中,梯度肯定会及时消失,因为激活函数是 sigmoid 和 tanh,因此它们的导数小于或等于 1,因此当它们相乘时,它们会慢慢变小。
这与通常所说的梯度消失问题相比,当梯度从顶层传递到底层时会消失,因为这意味着 dC/ dW 为了 W 下层的消失,所以下层没有得到训练,只有上层得到训练。
此外,正如评论中提到的,上述内容适用于任何 RNN,而不仅仅是 LSTM。在这个问题上,LSTM 与普通 RNN 的区别在于门控功能,它允许 LSTM 控制它记住什么、忘记什么以及它接受多少新输入。虽然上述对于 LSTM 的实践是正确的(并且在理论上平均也是如此),理论上,一个人可以有一个时间步长吨 其中输出忽略了最后 10 个输入,仅取决于输入 11 个时间步长 (t - 11),在这种情况下,11 个时间步之前的权重梯度不会衰减。当然,这意味着在下一个时间步(t + 1) 11 步前的梯度 (t + 1 - 11 = t - 10) 将为零,因为输入在 t - 10. 所以平均而言,它是平均的,对于 LSTM,你仍然有同样的情况。