參數迭代的初始值


深度學習在訓練模型的時候,通常使用迭代優化算法來搜尋代價函數的極小值。

初始值對算法影響的方面:

1.影響優化算法是否收斂,有的初始點的選擇會造成數值問題(梯度消失);

2.影響算法的收斂速度

3.影響算法收斂於高代價或低代價的極值點

4.收斂於相同代價值的不同初始點,很可能學習出不同的參數分布,在泛化能力上也有很大區別


參數初始化的原則/方法:

1.同層參數的初始化必須破壞unit間的對稱性。經常性地,我們使用從高斯/均勻分布中抽取數值作為參數的初始值,但是這兩種采樣方法目前沒有詳盡研究;

2.初始值分布的scale大小確實會對優化過程影響很大:適當大的初始權重分布對於破壞對稱性的效果更強,同時有助於避免前饋、反饋過程中梯度消失。但是過分大的權重則會導致前饋、反饋過程中的梯度爆炸。另外,也可能導致混沌(使模型對輸入中的小擾動非常敏感)

3.一種啟發式方法:假設有m個輸入維度、n個輸出維度,所有層的權重設置為服從與以下的均勻分布

$W_{i, j} \sim U(-\sqrt{\frac{6}{m+n}}, \sqrt{\frac{6}{m+n}})$

4.有研究者建議初始化為隨機正交矩陣

5.有研究這提出稀疏初始化權重:每個unit對接的權重隨機置零若干個(解決從特定分布中抽取權重值會導致所有初始權重具有相同標准差,以至於在‘4’的方法下,若層數上千,則每個權重變得極小(解決4的問題))

6.權重的范圍也可以視作超參數,若計算資源允許可以進一步搜索。

7.偏置通常可置零

8.偏置建議不置零的情況:如果偏置作為輸出單元,則初始化偏置以獲取正確的輸出邊緣統計是有利的。選擇初始化偏置以避免權重初始化引起太大飽和。在門控模型中,h視作門,我們希望初始化情況下,大多數門常開



免責聲明!

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



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