一、梯度不穩定問題:
什么是梯度不穩定問題:深度神經網絡中的梯度不穩定性,前面層中的梯度或會消失,或會爆炸。
原因:前面層上的梯度是來自於后面層上梯度的乘乘積。當存在過多的層次時,就出現了內在本質上的不穩定場景,如梯度消失和梯度爆炸。
二、梯度消失(vanishing gradient problem):
原因:例如三個隱層、單神經元網絡:
則可以得到:
然而,sigmoid方程的導數曲線為:
可以看到,sigmoid導數的最大值為1/4,通常abs(w)<1,則:
前面的層比后面的層梯度變化更小,故變化更慢,從而引起了梯度消失問題。
三、梯度爆炸(exploding gradient problem):
當權值過大,前面層比后面層梯度變化更快,會引起梯度爆炸問題。
四、sigmoid時,消失和爆炸哪個更易發生?
量化分析梯度爆炸出現時a的樹枝范圍:因為sigmoid導數最大為1/4,故只有當abs(w)>4時才可能出現
由此計算出a的數值變化范圍很小,僅僅在此窄范圍內會出現梯度爆炸問題。而最普遍發生的是梯度消失問題。
(5)如何解決梯度消失和梯度爆炸?6種方法: https://www.imooc.com/article/44061
使用ReLU,maxout等替代sigmoid。
區別:(1)sigmoid函數值在[0,1],ReLU函數值在[0,+無窮],所以sigmoid函數可以描述概率,ReLU適合用來描述實數;(2)sigmoid函數的梯度隨着x的增大或減小和消失,而ReLU不會。
區別:(1)sigmoid函數值在[0,1],ReLU函數值在[0,+無窮],所以sigmoid函數可以描述概率,ReLU適合用來描述實數;(2)sigmoid函數的梯度隨着x的增大或減小和消失,而ReLU不會。