十三、神经网络梯度不稳定问题(即梯度消失 & 梯度爆炸问题)

  本博客主要内容为图书《神经网络与深度学习》和National Taiwan University (NTU)林轩田老师的《Machine Learning》的学习笔记,因此在全文中对它们多次引用。初出茅庐,学艺不精,有不足之处还望大家不吝赐教。

  欢迎大家在评论区多多留言互动~~~~

1 . 梯度不稳定的浅层分析

  众所周知,使用深层次的神经网络往往会获得比浅层次神经网络更为优秀的效果。但是深度神经网络的训练也是是跟令人头疼的,因为一个深度神经网络train不好的话很有可能在效果上与只含有一个隐层的神经网络的效果相差甚远。在这里我们就要分析一下神经网络难以训练的原因。

  造成这种现象的和主要原因在于在深度网络中,不同的层学习的速度差异很大。尤其是,在网络中后面的层学习的情况很好的时候,先前的层次常常会在训练时停滞不变,基本上学不到东西,这种停滞称为梯度消失问题(vanishing gradient problem)。这种停滞并不是因为运气不好。而是,有着更加根本的原因使学习的速度下降了,这些原因和基于梯度的学习技术相关。

  在前面的层中的梯度会变得非常大,这也叫做梯度爆炸问题 ( exploding gradient problem),这也没比梯度消失问题更好处理。更加一般地说,在深度神经网络中的梯度是不稳定的,在前面的层中或会消失,或会激增。这种不稳定性才是深度神经网络中基于梯度学习的根本问题。

2 . 梯度不稳定的原理性分析

  假设在神经网络中使用的是 sigmoid 神经元,我们可以得到 sigmoid 导数的函数图像如下所示


图1. sigmoid函数导数的图像

   在上面这个图像中,横坐标是 sigmoid 函数的输入,即权值输入 z ,而纵坐标是激活函数的输出值的导数,我们可以看到,该导数 σ(0)=0.25 ,当权值输入 z 的值越大的时候, Sigmoid 函数导数的值就越接近于0。

  首先考虑还没有开始训练的初始状态,如果我们使用标准方法来初始化网络中的权重,那么会使用一个均值为 0 标准差为 1 的高斯分布。因此所有的权重通常会满足 |wj|<1 ,有了这些信息们发现会有

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值