深度学习中的梯度消失与梯度爆炸

引入

在深度学习中,我们会听到梯度消失梯度爆炸。这指的是梯度变得极小或极大。

为什么在深层次网络中,才容易发生梯度消失梯度爆炸呢?这带来什么负面的影响?该怎么样来避免这种极端情况?

梯度消失梯度爆炸的原因

考虑一种极端情况,假设我们有一个层数很深的神经网络(L层),每层只有一个神经元,且激活函数g(z)=z。
* 如果权重都是0.5,则最终输出y就是0.5的L次方乘以x,可见这个值会随L增加而递减到非常小
* 如果权重都是1.5,则最终输出y就是1.5的L次方乘以x,可见这个值会随L增加而递增到非常大

这就是深层次网络中,网络层次对输出值影响巨大的基本原理。
* 权重矩阵只要比单位阵稍微大一点,在深层次网络中,激活函数将会成指数级递增
* 权重矩阵只要比单位阵稍微大一点,在深层次网络中,激活函数将会成指数级递减

推理到损失函数(导数、梯度)的计算中,也是一样的。

梯度消失梯度爆炸的影响

梯度消失梯度爆炸会导致模型的训练变得复杂:
* 不容易收敛,梯度下降算法会花费很长时间
* 梯度下降算法的收敛步长非常小

如何避免梯度消失梯度爆炸

权重矩阵的初始值,不能比1大很多,也不能比1小很多。所以,初始化权重值的大小设置合理,就不容易发生梯度消失梯度爆炸

根据研究,我们可以用下面的值来初始化权重

np.random.randn(_shape_)*np.sqrt(1/n)
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值