選取訓練神經網絡時的Batch size

結論:

  1. batch size  一般爲2的冪次方,128爲分位線,向下(乘以0.5)或向上(乘以2)測試效果,若向下效果繼續,乘以0.5,直指結果不再變好,數值範圍一般在:2到512.有論文說最好的實驗表現都是在batch size處於2~32之間得到的
  2. 一階優化算法:sgd,adam等,一般Batch size比較小.二階優化算法:共軛梯度法,L-BFGS等需要二階導數,太小,對二階導數誤差累積太大,所以需要只比較大,可以幾千到兩萬
  3. batch size 初衷是爲了解決內存不夠問題,但是卻帶來了跳出局部最優的增益,因爲小批量數據對梯度帶來了噪音,相對於完成梯度來說,每步更新的梯度下降了,但是總體來說,卻避免了局部最優
  4. 大批量的batchsize 等價於小的學習率
  5. 小batch訓練的穩定性較差。小batch確實有這個缺點,而且對設置學習速率有更高的要求,否則可能引起惡性的震盪無法收斂。但是小batch的優點仍然是顯著的,DL書裏建議使用逐步增加的batch size來兼併兩者的優點。

參考文獻

怎麼選取訓練神經網絡時的batch size

深度學習的躍進來源於不同技術的組合梯度更新方式初始化方式非線性目標函數正規項

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章