深度學習梯度重要性(梯度彌散和梯度爆炸)

在深度學習領域梯度是個很重要的概念,梯度彌散和梯度爆炸現象(不同激活函數梯度彌散和梯度爆炸的現象不同):

梯度彌散:(以sigmoid爲例)我們可以知道當網絡層數越深的時候,它的學習速率就越大。通常每增加一層,該層的學習速率就要比相鄰的的上一層增加數倍左右。到第四層的學習速率往往是第一層的100倍左右。然而在sigmoid函數中,所有的輸入值都會被壓縮到[0,1]之間,並且隨着網絡層次越深,參數經過的sigmoid函數就越多,就會導致參數變化幅度越小:

例如:x=(1,1),y=(2,100),斜率爲(100-1)/1,但是將x,y都歸一化到(0,1)那麼斜率就會變得很小。歸一化的次數越多,那麼他們之間的斜率就越來越小。隨着網絡層次加深導致的梯度值就越小,最終趨近於0,參數更新幅度極小。

然而這種現象我們稱之爲梯度彌散。

梯度爆炸:在高度非線性的深度神經網絡中或者循環神經網絡中,目標函數通常包含由幾個參數連乘而導致的參數空間的尖銳非線性。當參數更新到處於這樣的懸崖區域的時候,梯度下降會使得更新的參數\tfrac{dL}{dw}變得很大

\Delta w=-\eta \tfrac{dL}{dw}

並且隨着網絡深度增大伴隨學習速率指數級上升,所以\Delta w變得巨大,所以更新使得參數彈跳非常大,使得損失值產生震盪達不到最低點。

 

在模型進行反向傳播的時候,爲了尋找到最優點,每次反向傳播都會讓自變量向左或者向右移動deta w 而這個值就等於學習速率乘以當前損失函數對自變量w的一個梯度(以簡單模型爲例)。所以深度學習模型中的梯度是非常重要的。一旦發生梯度消失(彌散)或者梯度爆炸的時候,就不能找到最優值了。所以,嘿嘿,你懂的......

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章