深度學習訓練技巧---權重初始化


全零初始化

  全零初始化即所有的變量均被初始化為0,這應該是最笨、最省事的隨機化方法了。然而這種偷懶的初始化方法非常不適合深度學習,因為這種初始化方法沒有打破神經元之間的對稱性,將導致收斂速度很慢甚至訓練失敗。

常量初始化(constant)

       把權值或者偏置初始化為一個常數,具體是什么常數,可以自己定義

高斯分布初始化(gaussian)

       需要給定高斯函數的均值與標准差 

positive_unitball初始化

       讓每一個神經元的輸入的權值和為 1,例如:一個神經元有100個輸入,讓這100個輸入的權值和為1.  首先給這100個權值賦值為在(0,1)之間的均勻分布,然后,每一個權值再除以它們的和就可以啦。這么做,可以有助於防止權值初始化過大,從而防止激活函數(sigmoid函數)進入飽和區。所以,它應該比較適合sigmoid形的激活函數

均勻分布初始化(uniform)

       將權值與偏置進行均勻分布的初始化,用min 與 max 來控制它們的的上下限,默認為(0,1)

xavier初始化

       對於權值的分布:均值為0,方差為(1 / 輸入的個數) 的 均勻分布。如果我們更注重前向傳播的話,我們可以選擇 fan_in,即正向傳播的輸入個數;如果更注重后向傳播的話,我們選擇 fan_out, 因為在反向傳播的時候,fan_out就是神經元的輸入個數;如果兩者都考慮的話,就選  average = (fan_in + fan_out) /2。

msra初始化

       對於權值的分布:基於均值為0,方差為( 2/輸入的個數)的高斯分布;它特別適合 ReLU激活函數,該方法主要是基於Relu函數提出的。


免責聲明!

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



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