梯度消失与梯度爆炸过程分析

梯度消失与梯度爆炸过程分析

定义

百度百科:在神经网络中,前面的隐藏层的学习速率远低于后面隐藏层的学习速率。

个人理解:所求得当前隐藏层参数的梯度太小,以至于我们认为几乎消失,导致参数的学习程度基本为零的情况。
W 1 = W 1 + Δ W Δ W = α ∂ L o s s ∂ w α 为 学 习 率 W_1=W_1+\Delta{W}\\\Delta{W}=\alpha \frac{\partial{Loss}}{\partial{w}}\\\alpha 为学习率 W1=W1+ΔWΔW=αwLossα

举例

注:浅层网络几乎不会出现梯度消失的问题,所以在此我们举深层神经网络的例子

一些符号表示

a ( l ) a^{(l)} a(l):第l层神经元输出值(具体当前层的那个神经元未指定,但不影响后续推导)

z l z^{l} zl:第l层神经元的线性计算结果

g ( z ( l ) ) g(z^{(l)}) g(z(l)):第l层的激活函数

正向传播神经网络计算通式
z ( l ) = w l a ( l − 1 ) + b l a ( l ) = g ( z ( l ) ) z^{(l)}=w_{l}a^{(l-1)}+b_{l}\\a^{(l)}=g(z^{(l)}) z(l)=wla(l1)+bla(l)=g(z(l))

梯度消失过程

优化参数过程中,我们通常是基于梯度下降策略的,因此,如果我们要更新hidden layer1的权重信息,那么就必须求出其对应的偏导数,根据链式求导法则可知:
∂ L o s s ∂ w 1 = ∂ L o s s ∂ a 3 ∂ a 3 ∂ z 3 ∂ z 3 ∂ a 2 ∂ a 2 ∂ z 2 ∂ z 2 ∂ a 1 ∂ a 1 ∂ w 1 \frac{\partial{Loss}}{\partial{w_1}}=\frac{\partial{Loss}}{\partial{a_3}}\frac{\partial{a_3}}{\partial{z_3}}\frac{\partial{z_3}}{\partial{a_2}}\frac{\partial{a_2}}{\partial{z_2}}\frac{\partial{z_2}}{\partial{a_1}}\frac{\partial{a_1}}{\partial{w_1}} w1Loss=a3Lossz3a3a2z3z2a2a1z2w1a1
其中:
∂ z 3 ∂ a 2 = w 3 ∂ z 2 ∂ a 1 = w 2 \frac{\partial{z_3}}{\partial{a_2}}=w_3\\\frac{\partial{z_2}}{\partial{a_1}}=w_2 a2z3=w3a1z2=w2
故,(3)可化简为:
∂ L o s s ∂ w 1 = ∂ L o s s ∂ a 3 ∂ a 3 ∂ z 3 w 3 ∂ a 2 ∂ z 2 w 2 ∂ a 1 ∂ w 1 \frac{\partial{Loss}}{\partial{w_1}}=\frac{\partial{Loss}}{\partial{a_3}}\frac{\partial{a_3}}{\partial{z_3}}w_3\frac{\partial{a_2}}{\partial{z_2}}w_2\frac{\partial{a_1}}{\partial{w_1}} w1Loss=a3Lossz3a3w3z2a2w2w1a1

激活函数为sigmoid时

sigmoid导数图像

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ThdQKvgt-1605789783310)(D:\人工智能\sigmoid导数.jpg)]

结论
如果使用标准化初始w,那么各个层次权重都为0-1之间的小数
  • 激活函数的导数值是0-1之间小数,当网络层数到达一定深度时, ∂ L o s s ∂ w \frac{\partial{Loss}}{\partial{w}} wLoss就会足够小,导致w的权重更新几乎消失,这也就被我们称为梯度消失
如果初始w足够大,以至w乘对应激活函数导数大于1
  • 当网络层数达到一定深度时, ∂ L o s s ∂ w \frac{\partial{Loss}}{\partial{w}} wLoss就会非常大,也就被称为梯度爆炸

因为博主自己也只是一个深度学习小白,所以难免可能会有错误的地方,欢迎大家一起交流、讨论。如果有幸解决了您的一些疑问,本人不胜感激!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值