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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    图的邻接链表实现(c)
    图的邻接矩阵实现(c)
    好文
    第13章 红黑树
    函数 setjmp, longjmp, sigsetjmp, siglongjmp
    域名解析
    wget www.baidu.com执行流程分析
    信号处理篇
    第11章 散列表
    第10章,基本数据结构(栈,队列)
  • 原文地址:https://www.cnblogs.com/zhoulixue/p/6600873.html
Copyright © 2011-2022 走看看