【神经网络】LSTM为什么能缓解梯度消失

1.LSTM的结构

        我们先来看一下LSTM的计算公式:

1.遗忘门:

2.输入门:

3.细胞状态

4.输出门

 2.LSTM的梯度路径

        根据LSTM的计算公式,可以得出LSTM的cell state与f_{t}\tilde{C_{t}}i_{t}都存在计算关系,而f_{t}\tilde{C_{t}}i_{t}的计算公式又全部都与C_{t-1}有关,所以从C_{t}C_{t-1}的反向传播的公式如下:

         由LSTM各个门的计算公式可以进一步推导得到:

         根据公式,如果要计算时刻k的,简单的利用上式进行乘t-k+1次即可。在公式中的f_{t},也就是遗忘门可以控制\frac{\partial C_{t}}{\partial C_{t-1}}的值。由于\frac{\partial C_{t}}{\partial C_{t-1}}的值也与f_{t}前面三项值有关,所以\frac{\partial C_{t}}{\partial C_{t-1}}的值不一定局限于[0,1],也有可能是大于1的,所以在一定程度上减缓了梯度消失。从计算公式角度来看,f_{t}i_{t}o_{t}\tilde{C_{t}}都是LSTM学习得到的,LSTM会通过学习改变门控的值来决定什么时候遗忘梯度,什么时候保留梯度,即依靠学习得到权值去控制依赖的长度。

3.总结

        总结起来,LSTM能缓解梯度消失,其实主要是以下两点的结果:

        1.cell状态的加法更新策略使得梯度传递更恰当,使得梯度更新有可能大于1。

        2.门控单元可以决定遗忘多少梯度,他们可以在不同的时刻取不同的值。这些值都是通过隐层状态和输入的数据学习到的。

Reference:

        1.https://www.zhihu.com/question/34878706/answer/665429718

        2.通俗易懂的LSTM_长竹Danko的博客-CSDN博客

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值