神經網絡的初始化參數方法

神經網絡的參數也就是權重W很多,通過BP反向傳播可以逐漸得到使Cost Function最小的參數,但是這些參數的初始值對于收斂的速度,最后的準確率有很大的影響,那么我們應該怎么初始化呢?

1.全部置為0

這種方法簡單粗暴,但是是不可行的,試想權重全為0,那么前向傳播結果為0,反向同樣為0,無法更新。

2.置為很小的值

W=0.01*np.random.rand(D,H)
這種初始化方法在神經網絡的層數很少時可以使用,層數多了就會出現問題,最后參數全部為0,首先在前向傳播過程中輸出為h(wx+b)因為w很小,所以輸出很小,同時反向傳播過程中梯度的變化也很小,那么參數的改變也很小,在不斷的正向傳播乘很小的數,反向傳播又幾乎不變的情況下,最后w會越來越小,趨近于0,出現梯度彌散現象。

3.Xavier initial

上面的初始化方法都是存在問題的,而在激活函數里可以看到sigmoid函數會出現飽和現象出現梯度消失,而ReLU核沒有限制參數的范圍,那么如果初始化出現問題勢必會造成深度網絡中參數過大失去控制,影響模型效果,而參數過小會使得參數趨向于0,那么Xavier就是針對反向傳播效果很好的ReLU核在參數控制方面所做的努力,通過Xavier可以將參數置于


區(qū)間范圍內,那么具體的推導方法時通過這篇文章學習的。
https://zhuanlan.zhihu.com/p/22028079
首先是與方差有關的定理:
1.w*x就會服從均值為0,方差為σ 2 的分布
2.w*x+w*x就會服從均值為0,方差為2*σ2的分布.

我們在輸入數據到神經網絡的時候都要先對數據進行處理,具體來說我們可以將數據處理為均值為0,方差為σx的分布,我們將參數w初始化成均值為0,方差為σw的分布,我們假設第一次是大家喜聞樂見的卷積層,卷積層共有n個參數(n=channelkernel_hkernel_w),于是為了計算出一個線性部分的結果,我們有:


線性輸出部分的一個結果值,實際上是由n個乘加計算出來的,那么下面是一道搶答題,按照我們剛才對x和w的定義,加上前面我們說過的兩個方差計算公式,這個z會服從一個什么分布呢?
均值肯定還是0。
方差好像積累了一大堆東西:n*σxw
為了更好地表達,我們將層號寫在變量的上標處,于是就有:

對于k層就有:

繼續(xù)把這個公式展開,就會得到它的最終形態(tài):

可以看出,后面的那個連乘實際上看著就像個定時炸彈(相信看到這,我應該能成功地吸引大家的注意力,幫助大家把非線性函數線性化的事情忘掉了……),如果總是大于1,那么隨著層數越深,數值的方差會越來越大,反過來如果乘積小于1,那么隨著層數越深,數值的方差就會越來越小。niwi越來越大,就容易Hold不住導致溢出,越來越小,就容易導致數據差異小而不易產生有力的梯度。這就是深層模型的一大命門。
那么我們回頭看最初的公式


如果兩層的x的方差相等即:

那么
image.png

所以我們用均值為0,方差為上面的式子的數來初始化就可以。

這是通過前向傳播所得到的結論,我們希望反向傳播仍然有這樣的特點,那么梯度的改變是遵循這樣一種分布的,最后參數的變化是數值穩(wěn)定的,那么我們來看看梯度的變化。

假設我們還是一個k層的網絡,現在我們得到了第k層的梯度,那么對于第k-1層輸入的梯度,有

也就是說,K-1層一個數值的梯度,相當于上一層的n個參數的乘加。這個n個參數的計算方式和之前方式一樣,只是表示了輸出端的數據維度,在此先不去贅述了。
于是我們如果假設每一層的參數也服從某種均值為0,方差為某值的分布就像前向傳播那樣,會有:



同樣的,為了方差為定值,需要:

得到

但是兩個n實際上不是同一個n。對于全連接來說,前向操作時,n表示了輸入的維度,而后向操作時,n表示了輸出的維度。而輸出的維度也可以等于下一層的輸入維度。所以兩個公式實際上可以寫作:


這么看上去前向后向不是很統(tǒng)一,所以前輩將兩者融合,得到了方差為:


的均勻分布。

那么我們假設數據落在[-a,a]之間那么方差為



此時計算所得

所以Xavier 的范圍就是這個,具體的初始化方法
W=np.random.randn(fan_in,fan_out)/np.sqrt(fan_in/2)(ReLU)
W=np.random.randn(fan_in,fan_out)/np.sqrt(fan_in)(tanh)
當然caffe等現成庫是有的,直接設置一下就好。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容