深度學習中Xavier初始化


 

 

  “Xavier”初始化方法是一種很有效的神經網絡初始化方法,方法來源於2010年的一篇論文《Understanding the difficulty of training deep feedforward neural networks》

 

       文章主要的目標就是使得每一層輸出的方差應該盡量相等。下面進行推導:每一層的權重應該滿足哪種條件才能實現這個目標。

 

  我們將用到以下和方差相關的定理:

假設有隨機變量x和w,它們都服從均值為0,方差為σ的分布,且獨立同分布,那么:

•      w*x就會服從均值為0,方差為σ*σ的分布

•      w*x+w*x就會服從均值為0,方差為2*σ*σ的分布

 

  文章實驗用的激活函數是tanh激活函數,函數形狀如下左圖,右圖是其導數的函數形狀。

 

       從上圖可以看出,當x處於0附近時,其導數/斜率接近與1,可以近似將其看成一個線性函數,即f(x)=x。

 

  我們假設所有的輸入數據x滿足均值為0,方差為的分布,我們再將參數w以均值為0,方差為的方式進行初始化。我們假設第一層是卷積層,卷積層共有n個參數(n=channel*kernel_h*kernel_w),於是為了計算出一個線性部分的結果,我們有:

 

其中,忽略偏置b。

       假設輸入x和權重w獨立同分布,我們可以得出z服從均值為0,方差為的分布,即

 

  為了更好地表達,我們將層號寫在變量的上標處,

 

  我們將卷積層和全連接層統一考慮成n個參數的一層,於是接着就有:

   

  如果我們是一個k層的網絡(這里主要值卷積層+全連接層的總和數),我們就有

 

  繼續展開,最終可以得到

 

       從上式可以看出,后面的連乘是非常危險的,假如說總是大於1,那么隨着層數越深,數值的方差會越來越大;如果乘積小於1,那么隨着層數越深,數值的方差會越來越小。

       我們再回頭看看這個公式,

 

  如果,那么我們就能保證每層輸入與輸出的方差保持一致,那么應該滿足:

 

  即對應任意第i層,要想保證輸入與輸出的方差保持一致,需要滿足:

 

 

 ------------------------------------------------------------------------------------------------

上面介紹的是前向傳播的情況,那么對於反向傳播,道理是一樣的。

 

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

 

  從上式可以看出K-1層一個數值的梯度,相當於上一層的n個參數的乘加。這個n個參數的計算方式和之前方式一樣,只是表示了輸出端的數據維度,在此先不去贅述了。

 

  於是我們假設每一層的參數服從均值為0,方差為某值的分布,那么有如下公式:

 

       對於這個k層網絡,我們又可以推導出一個的公式:

 

       上式中連乘是非常危險的,前面說過,在此不在贅述(這就會造成梯度爆炸與梯度消失的問題,梯度爆炸與梯度消失可以參考這兩篇文章)。我們想要做到數值穩定,使得反向傳播前后的數值服從一個穩定的分布,即

 

那么需要滿足如下條件:

 

 

 -----------------------------------------------------------------

 

  如果仔細看一下前向傳播與反向傳播的兩個公式,我們就會發現兩個n實際上不是同一個n。對於全連接來說,前向操作時,n表示了輸入的維度,而后向操作時,n表示了輸出的維度。而輸出的維度也可以等於下一層的輸入維度。所以兩個公式實際上可以寫作:

 

 

 

       於是為了均衡考量,最終我們的權重方差應滿足:

 

  

  下面就是對這個方差的具體使用了。論文提出使用均勻分布進行初始化,我們設定權重要初始化的范圍是[-a,a]。而均勻分布的方差為:

由此可以求得

 

上面就是xavier初始化方法,即把參數初始化成下面范圍內的均勻分布。

轉載自:

CNN數值——xavier(上):https://zhuanlan.zhihu.com/p/22028079

CNN數值——xavier(下): https://zhuanlan.zhihu.com/p/22044472

深度學習——Xavier初始化方法:https://blog.csdn.net/shuzfan/article/details/51338178

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM