1. 梯度问题
由上图我们可以发现,第一层的学习速率和第四层的学习速率差了两个数量级,也就是第一层比第四层慢了100倍。现在我们有一项重要的观察结果:至少在某些深度神经网络中,在我们在隐藏层反向传播的时候梯度倾向于变小。这意味着在前面的隐藏层中的神经元学习速度要慢于后面的隐藏层。这个现象叫做梯度消失。除了梯度消失,还有可能有梯度爆炸。更一般的说,在深度神经网络中的梯度是不稳定的,在前面的层中或会消失,或会激增。这种不稳定性才是深度神经网络中基于梯度学习的根本问题。
2. 梯度消失的原因
注意!这里不是反向传播,给的仅仅是一个b的改变对于输出的影响。
3. 梯度爆炸的原因
采用ReLU能够避免梯度消失的问题。
梯度下降是一种优化算法,使得代价函数的误差最小。梯度下降的式子有两个,分别对w和b进行更新。比如
w' = w - n * (Cost/W)'。 (Cost/W)'是代价函数对于权重的导数。可以看出来,梯度下降是对权重进行更新,但是如果要对每一个权重进行更新的话,那个导数是很难求的。因此,就要用反向传播,对前面隐藏层的权重进行求导。所以这就是梯度下降和反向传播的关系。