57.1 批樣本數(shù)量,動量優(yōu)化器的動量參數(shù)β
- 批樣本數(shù)量,動量優(yōu)化器(Gradient Descent with Momentum)的動量參數(shù)*β
- 批樣本決定了數(shù)量梯度下降的方向。
- 過小的批數(shù)量,極端情況下,例如batch size為1,即每個樣本都去修正一次梯度方向,樣本之間的差異越大越難以收斂。
- 若網(wǎng)絡中存在批歸一化(batchnorm),batch size過小則更難以收斂,甚至垮掉。
- 這是因為數(shù)據(jù)樣本越少,統(tǒng)計量越不具有代表性,噪聲也相應的增加。
- 而過大的batch size,會使得梯度方向基本穩(wěn)定,容易陷入局部最優(yōu)解,降低精度。
- 一般參考范圍會取在[1:1024]之間,當然這個不是絕對的,需要結合具體場景和樣本情況;
- 動量衰減參數(shù)β是計算梯度的指數(shù)加權平均數(shù),并利用該值來更新參數(shù),設置為 0.9 是一個常見且效果不錯的選擇
57.2 Adam優(yōu)化器的超參數(shù)、權重衰減系數(shù)、丟棄法比率和網(wǎng)絡參數(shù)
- Adam優(yōu)化器的超參數(shù)、權重衰減系數(shù)、丟棄法比率(dropout)和網(wǎng)絡參數(shù)
- 這些參數(shù)重要性放在最后并不等價于這些參數(shù)不重要
- 而是表示這些參數(shù)在大部分實踐中不建議過多嘗試,例如Adam優(yōu)化器中的β1,β2,?,常設為 0.9、0.999、10?8就會有不錯的表現(xiàn)
- 權重衰減系數(shù)通常會有個建議值,例如0.0005 ,使用建議值即可,不必過多嘗試。
- dropout通常會在全連接層之間使用防止過擬合,建議比率控制在[0.2,0.5]之間。
- 使用dropout時需要特別注意兩點:
- 一、在RNN中,如果直接放在memory cell中,循環(huán)會放大噪聲,擾亂學習。一般會建議放在輸入和輸出層;
- 二、不建議dropout后直接跟上batchnorm,dropout很可能影響batchnorm計算統(tǒng)計量,導致方差偏移,這種情況下會使得推理階段出現(xiàn)模型完全垮掉的極端情況;
- 網(wǎng)絡參數(shù)通常也屬于超參數(shù)的范圍內(nèi),通常情況下增加網(wǎng)絡層數(shù)能增加模型的容限能力,但模型真正有效的容限能力還和樣本數(shù)量和質量、層之間的關系等有關,所以一般情況下會選擇先固定網(wǎng)絡層數(shù),調(diào)優(yōu)到一定階段或者有大量的硬件資源支持可以在網(wǎng)絡深度上進行進一步調(diào)整。
57.3 部分超參數(shù)如何影響模型性能
| 超參數(shù) | 如何影響模型容量 | 原因 | 注意事項 |
|---|---|---|---|
| 學習率 | 調(diào)至最優(yōu),提升有效容量 | 過高或者過低的學習率,都會由于優(yōu)化失敗而導致降低模型有效容限 | 學習率最優(yōu)點,在訓練的不同時間點都可能變化,所以需要一套有效的學習率衰減策略 |
| 損失函數(shù)部分超參數(shù) | 調(diào)至最優(yōu),提升有效容量 | 損失函數(shù)超參數(shù)大部分情況都會可能影響優(yōu)化,不合適的超參數(shù)會使即便是對目標優(yōu)化非常合適的損失函數(shù)同樣難以優(yōu)化模型,降低模型有效容限。 | 對于部分損失函數(shù)超參數(shù)其變化會對結果十分敏感,而有些則并不會太影響。在調(diào)整時,建議參考論文的推薦值,并在該推薦值數(shù)量級上進行最大最小值調(diào)試該參數(shù)對結果的影響。 |
| 批樣本數(shù)量 | 過大過小,容易降低有效容量 | 大部分情況下,選擇適合自身硬件容量的批樣本數(shù)量,并不會對模型容限造成。 | 在一些特殊的目標函數(shù)的設計中,如何選擇樣本是很可能影響到模型的有效容限的,例如度量學習(metric learning)中的N-pair loss。這類損失因為需要樣本的多樣性,可能會依賴于批樣本數(shù)量。 |
| 丟棄法 | 比率降低會提升模型的容量 | 較少的丟棄參數(shù)意味著模型參數(shù)量的提升,參數(shù)間適應性提升,模型容量提升,但不一定能提升模型有效容限 | |
| 權重衰減系數(shù) | 調(diào)至最優(yōu),提升有效容量 | 權重衰減可以有效的起到限制參數(shù)變化的幅度,起到一定的正則作用 | |
| 優(yōu)化器動量 | 調(diào)至最優(yōu),可能提升有效容量 | 動量參數(shù)通常用來加快訓練,同時更容易跳出極值點,避免陷入局部最優(yōu)解。 | |
| 模型深度 | 同條件下,深度增加,模型容量提升 | 同條件,下增加深度意味著模型具有更多的參數(shù),更強的擬合能力。 | 同條件下,深度越深意味著參數(shù)越多,需要的時間和硬件資源也越高。 |
| 卷積核尺寸 | 尺寸增加,模型容量提升 | 增加卷積核尺寸意味著參數(shù)量的增加,同條件下,模型參數(shù)也相應的增加。 |
57.4 部分超參數(shù)合適的范圍
| 超參數(shù) | 建議范圍 | 注意事項 |
|---|---|---|
| 初始學習率 | SGD: [1e-2, 1e-1]momentum: [1e-3, 1e-2]Adagrad: [1e-3, 1e-2]Adadelta: [1e-2, 1e-1]RMSprop: [1e-3, 1e-2]Adam: [1e-3, 1e-2]Adamax: [1e-3, 1e-2]Nadam: [1e-3, 1e-2] | 這些范圍通常是指從頭開始訓練的情況。若是微調(diào),初始學習率可在降低一到兩個數(shù)量級。 |
| 損失函數(shù)部分超參數(shù) | 多個損失函數(shù)之間,損失值之間盡量相近,不建議超過或者低于兩個數(shù)量級 | 這是指多個損失組合的情況,不一定完全正確。單個損失超參數(shù)需結合實際情況。 |
| 批樣本數(shù)量 | [1:1024] | 當批樣本數(shù)量過大(大于6000)或者等于1時,需要注意學習策略或者內(nèi)部歸一化方式的調(diào)整。 |
| 丟棄法比率 | [0, 0.5] | |
| 權重衰減系數(shù) | [0, 1e-4] | |
| 卷積核尺寸 | [7x7],[5x5],[3x3],[1x1], [7x1,1x7] |
大數(shù)據(jù)視頻推薦:
網(wǎng)易云課堂
CSDN
人工智能算法競賽實戰(zhàn)
AIops智能運維機器學習算法實戰(zhàn)
ELK7 stack開發(fā)運維實戰(zhàn)
PySpark機器學習從入門到精通
AIOps智能運維實戰(zhàn)
騰訊課堂
大數(shù)據(jù)語音推薦:
ELK7 stack開發(fā)運維
企業(yè)級大數(shù)據(jù)技術應用
大數(shù)據(jù)機器學習案例之推薦系統(tǒng)
自然語言處理
大數(shù)據(jù)基礎
人工智能:深度學習入門到精通