zoukankan      html  css  js  c++  java
  • Neural Network and DeepLearning (5.1)深度神经网络为何很难训练

    在深度网络中,不同层的学习速度差异很大。例如:在网络中后面的层学习情况很好的时候,前面的层常常会在训练时停滞不前,基本上不学习了。另一种情况恰恰相反,前面的层学习的很好,后面的层却停止学习了。

    这是因为基于梯度下降的学习算法的本身存在着内在的不稳定性,这种不稳定性使得前面或者后面的层的学习停止。

    消失梯度问题(The vanishing gradient problem)

    在某些深度神经网络中,在隐藏层反向传播时梯度倾向于变小,也就是前面隐藏层的学习速度要慢于后面的隐藏层。这就是消失的梯度问题

    另一种情况是,前面隐藏层的梯度会变得非常的大,也就是前面隐藏层的学习速度要快于后面的隐藏层。这叫做爆炸的梯度问题

    也就是说,在深度神经网络中的梯度是不稳定的,在前面的层中或会消失,或会爆炸。

    不稳定的梯度问题出现的原因

    在前面层上的梯度是来自后面的层上项的乘积,当存在过多的层时,就出现了内在本质上的不稳定场景。

    一般会发现在sigmoid网络中前面层的梯度会指数级的消失。

  • 相关阅读:
    re.sub函数的深入了解
    xpath
    改变评分查询
    Boolean Query
    固定分数查询
    Unicode编码的原型
    java中基本类型占用字节数
    Java Socket网络编程的经典例子(转)
    (转)工厂模式
    (转)java垃圾回收机制
  • 原文地址:https://www.cnblogs.com/zhoulixue/p/6600873.html
Copyright © 2011-2022 走看看