lstm如何解决梯度消失\爆炸

RNN梯度消失的原因是,随着梯度的传导,梯度被近距离梯度主导,模型难以学习到远距离的信息。具体原因也就是∏Tk=t+1∂h(k)∂h(k−1)部分,在迭代过程中,每一步∂h(k)∂h(k−1)始终在[0,1]之间或者始终大于1。 

tanh的导数总是小于1 的, 如果Ws也是一个大于0小于1的值, 那么随着t的增大, 上述公式的值越来越趋近于0, 这就导致了梯度消失问题。 那么如果Ws很大, 上述公式会越来越趋向于无穷, 这就产生了梯度爆炸.

 

LSTM遗忘门值可以选择在[0,1]之间(sigmoid激活函数),让LSTM来改善梯度消失的情况。可以选择接近1,让遗忘门饱和,此时远距离信息梯度不消失,梯度能够很好的在LSTM中传递,很大程度上减轻了梯度消失发生的概率。也可以选择接近0,此时模型是故意阻断梯度流,遗忘之前信息,说明上一时刻的信息对当前时刻没有影响。那么整体∏Tk=t+1∂C(k)∂C(k−1)也就不会一直减小,远距离梯度不至于完全消失,也就能够解决RNN中存在的梯度消失问题。

LSTM虽然能够解决梯度消失问题,但并不能够避免梯度爆炸问题,仍有可能发生梯度爆炸。但是,由于LSTM众多门控结构,和普通RNN相比,LSTM发生梯度爆炸的频率要低很多。梯度爆炸可通过梯度裁剪解决。

 

参考:

https://www.cnblogs.com/bonelee/p/10475453.html

https://weizhixiaoyi.com/archives/491.html

 

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值