首页 > 代码库 > Neural Network and DeepLearning (5.1)深度神经网络为何很难训练
Neural Network and DeepLearning (5.1)深度神经网络为何很难训练
在深度网络中,不同层的学习速度差异很大。例如:在网络中后面的层学习情况很好的时候,前面的层常常会在训练时停滞不前,基本上不学习了。另一种情况恰恰相反,前面的层学习的很好,后面的层却停止学习了。
这是因为基于梯度下降的学习算法的本身存在着内在的不稳定性,这种不稳定性使得前面或者后面的层的学习停止。
消失梯度问题(The vanishing gradient problem)
在某些深度神经网络中,在隐藏层反向传播时梯度倾向于变小,也就是前面隐藏层的学习速度要慢于后面的隐藏层。这就是消失的梯度问题。
另一种情况是,前面隐藏层的梯度会变得非常的大,也就是前面隐藏层的学习速度要快于后面的隐藏层。这叫做爆炸的梯度问题。
也就是说,在深度神经网络中的梯度是不稳定的,在前面的层中或会消失,或会爆炸。
不稳定的梯度问题出现的原因
在前面层上的梯度是来自后面的层上项的乘积,当存在过多的层时,就出现了内在本质上的不稳定场景。
一般会发现在sigmoid网络中前面层的梯度会指数级的消失。
Neural Network and DeepLearning (5.1)深度神经网络为何很难训练
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。