深度學習中的batch_size的大小對學習效果的影響

1 大的batchsize減少訓練時間,提高穩定性
2 大的batchsize導致模型泛化能力下降在一定範圍內,增加batchsize有助於收斂的穩
如果增加了學習率,那麼batch size最好也跟着增加,這樣收斂更穩定。
儘量使用大的學習率,因爲很多研究都表明更大的學習率有利於提高泛化能力。
選擇一個適中的Batch Size 值

當然可以,這就是批梯度下降法(Mini-batches Learning)。因爲如果數據集足夠充分,那麼用-半 (基至少得多)的數據訓練算出來的梯度與用全部數據訓練出來的梯度是幾乎-樣的。

在合理範圍內,增大Batch Size有何好處?

●內存利用率提高了,大矩陣乘法的並行化效率提高。

●跑完一次epoch (全數據集)所需的迭代次數減少,對於相同數據量的處理速度進一 步加快。
●在一定範圍內,-般來說Batch Size越大,其確定的下降方向越準,引起訓練震盪越小。

盲目增大Batch Size有何壞處?

●內存利用率提高了,但是內存容量可能撐不住了。

●跑完一次epoch (全數據集)所需的迭代次數減少,要想達到相同的精度,其所花費的時間大大增加了,從而對參數的修正也就顯得更加緩慢。

●Batch_ Size增大到一定程度,其確定的下降方向已經基本不再變化。

  ●Batch Size太小,算法不收斂。
  ●隨着Batch_ Size增大,處理相同數據量的速度越快。
  ●隨着Batch_ Size增大,達到相同精度所需要的epoch數量越來越多。
  ●由於上述兩種因素的矛盾, Batch_ Size增大到某個時候,達到時間上的最優。
  ●由於最終收斂精度會陷入不同的局部極值,因此Batch_ Size增大到某些時候,達到最終收斂精度上的最優。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章