神經網絡爲什麼需要隨機初始化模型參數

在神經網絡中,通常需要隨機初始化模型參數。下面解釋一下這樣做的原因。

設有一個多層感知機模型,假設輸出層只保留一個輸出單元o1o_1,且隱藏層使用相同的激活函數。如果將每個隱藏單元的參數都初始化爲相等的值,那麼在正向傳播時每個隱藏單元將根據相同的輸入計算出相同的值,並傳遞至輸出層。

在反向傳播中,每個隱藏單元的參數梯度值相等。因此,這些參數在使用基於梯度的優化算法迭代後值依然相等。之後的迭代也是如此。在這種情況下,無論隱藏單元有多少,隱藏層本質上只有一個隱藏單元在發揮作用。

因此,通常對神經網絡的模型參數,特別是權重參數進行隨機初始化。隨機初始化模型參數的方法有很多,可以使用正態分佈的隨機初始化方式。

還有一種比較常用的隨機初始化方法叫做Xavier隨機初始化。假設某全連接層的輸入個數爲a,輸出個數爲b,Xavier隨機初始化將使該層中權重參數的每個元素都隨機採樣於均勻分佈U(6a+b,6a+b)U(-\sqrt{\frac{6}{a+b}},\sqrt{\frac{6}{a+b}})它的設計主要考慮到,模型參數初始化後,每層輸出的方差不該受該層輸入個數影響,且每層梯度的方差也不該受該層輸出個數影響。

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