首页 > 其他 > 详细

深度学习面试题38:LSTM如何解决梯度消失问题

时间:2020-07-16 10:20:38      阅读:79      评论:0      收藏:0      [点我收藏+]

目录

  回顾简单RNN的梯度消失问题

  LSTM如何解决梯度消失

  遗忘门对梯度消失的影响

  遗忘门的初始化技巧

  参考资料


 

回顾简单RNN的梯度消失问题

在简单RNN的前向传播过程中,输入的数据循环地与隐藏层里的权重W(都是很小的数)做乘法运算,那么损失函数对较长时间步前的W的梯度就会很小(因为W会累乘,激活函数大多也是小数),详细内容见【深度学习面试题35:RNN梯度消失问题(vanishing gradient)】。

 返回目录

 

LSTM如何解决梯度消失

 技术分享图片

在【深度学习面试题35:RNN梯度消失问题(vanishing gradient)】中有一个结论,即简单RNN越早的时间步梯度消失的问题越严重;而这一现象在LSTM不太会发生(注意这里的用词,是不太会)。下面来分析原理。

以上图为例,我们假设有三个时间步,最后一个时间步产生输出,并且遗忘门和输出门的输出都是1,那么整个前馈过程的计算如图所示。

下面以最复杂的输入门为例,演示为什么梯度不太会消失。反向求导结果如下

技术分享图片

可以看到,损失函数对每个时间步的梯度都是一样的,然后根据链式求导发展,每个时间步继续对输入门里的参数求梯度,结果可想而知,每个时间步下的输入门的梯度都比较大,所以就没有简单RNN梯度消失的问题。

遗忘门和输出门同理。

 返回目录

 

遗忘门对梯度消失的影响

在上一节我们假设了遗忘门的输出为1。

如果遗忘门的输出为1,也就是不对记忆细胞C进行遗忘。

如果遗忘门的输出小于1,那么,越早的时间步的梯度就会越小,可能出现梯度消失。

 返回目录

 

遗忘门的初始化技巧

一般而言为了避免训练LSTM因梯度消失而训练缓慢的问题,可以将输入门的偏置初始化大一些,这样就可以保证遗忘门的输出接近于1,就可以高效地训练网络了。

 返回目录

 

参考资料

https://www.bilibili.com/video/BV15b411g7Wd?p=44

 返回目录

 

深度学习面试题38:LSTM如何解决梯度消失问题

原文:https://www.cnblogs.com/itmorn/p/13311342.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!