本文介紹一種權重初始化方法,它可以很大程度上避免神經元過早飽和而導致的學習率下降問題。
一、問題引出
一種簡單而有效的方法是將每個權重看作一個服從均值爲0且方差爲1的高斯分佈,然後獨立的對每個權重從分佈中採樣進行初始化。如下圖所示。假設輸入層有1000個神經元,我們聚焦第二層的第一個隱單元來研究這個問題。同時,假設這1000個輸入神經元中有500個值爲0, 另外500個值爲1。
根據上述的設定,同時依據統計學中多個獨立隨機變量和的方差定義,可以得出
隱單元的輸入值 服從均值爲0,標準差爲 ,這使得該分部的兩側的尾部特別長,如下圖所示。
位於 [1,-1] 之間的區域遠遠小於兩側的區域,這將使 的值相對較大,從而隱單元的激活值達到或接近飽和狀況,這將會造成學習率嚴重下降。
二、改進策略
可以看到,單純使用均值爲0且方差爲1的高斯分佈會引起學習率下降,那如何改進這個方法那? 可以這樣改進,假設隱單元有 個輸入,那麼可以改用均值爲0但是方差爲 ,這樣一來,隱單元的輸入值
的方差將是1。現在得到的分佈如下圖,這樣便可以大大減少隱單元過早飽和的概率,學習率下降的可能性也大大減小。
三、總結
本文給出了一種在實踐中有效的權重初始化方法,很多類似的方法均以此爲核心。其實, 無論是什麼方法,其本質均是避免隱單元過早飽和而導致的初始學習率過低的問題。