神经网络梯度消失的问题

  1. 因为梯度反传的时候,各项是累积的形式,对于sigmoid函数,该导数在 σ ′ ( 0 ) = 1 / 4 σ′(0)=1/4 σ(0)=1/4时达到最高。现在,如果我们使用标准方法来初始化网络中的权重,那么会使用一个均值为0标准差为1的高斯分布。因此所有的权重通常会满足|ωj|<1。有了这些信息,我们发现会有 ω j σ ′ ( z j ) &lt; 1 / 4 ωjσ′(zj)&lt;1/4 ωjσ(zj)<1/4,并且在进行所有这些项的乘积时,最终结果肯定会指数级下降:项越多,乘积的下降也就越快。
    如果把权重设置的很大,就会出现梯度爆炸的情况
    参考: http://www.cnblogs.com/maybe2030/p/6336896.html
  2. 主要是因为以前用sigmoid的时候,sigmoid中心部位和两侧的梯度差别太大,如果权重初始化得太大,激活值基本都在sigmoid两侧,两侧梯度几乎为0,传播几层就没有梯度了。即使用很好的初始化算法把激活值控制在一个合理范围内,优化几下有几个神经元就又跑到两侧了,而一旦到两侧,因为梯度过小,就再也无法通过梯度更新来使其恢复。
  3. 这个问题在提出ReLU有效的初始化方法(例如MSRA)后已经大概率解决。后来又出了个Batch Normalization,不管优化多少层都跟浅层一样,梯度消失问题基本可以认为彻底解决了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值