批次大小

Batch Size

每次梯度更新使用的樣本數量

詳細解釋

批次大小(Batch Size)是每次梯度更新使用的訓練樣本數量,影響訓練穩定性、速度和泛化性能,是重要的超參數之一。

梯度更新方式:

  • 批量梯度下降(Batch GD):整個數據集作為一批
  • 穩定但慢,現代深度學習不使用
  • 隨機梯度下降(SGD):每個樣本更新一次
  • 噪聲大,但可逃離局部最小值
  • 現代通常也不單獨使用
  • 小批次梯度下降(Mini-batch):
  • 折中方案,現代標準
  • 通常32-1024,取決於硬件和任務

影響因素:

  • 訓練穩定性:大批次梯度估計更準確
  • 泛化性能:小批次通常泛化更好
  • 訓練速度:大批次充分利用硬件並行
  • 記憶體:受GPU顯存限制
  • 學習率:大批次通常需要更大學習率

線性縮放規則:

  • 批次大小翻倍,學習率也翻倍
  • 理論基礎:保持梯度更新步長一致
  • 限制:太大時失效,需要漸進調整

大批量訓練:

  • 挑戰:泛化性能下降( sharp minima)
  • 解決:
  • 學習率warmup
  • LARS/LAMB優化器
  • 梯度累積(模擬大批量)
  • 應用:ImageNet大規模訓練

選擇策略:

  • 硬件限制:最大化利用GPU記憶體
  • 經驗法則:32-256是常見範圍
  • 任務相關:
  • 圖像:可較大(256+)
  • NLP:受序列長度限制
  • 調參:驗證集性能為準

與優化器的關係:

分布式訓練:

  • 總批次 = 單GPU批次 × GPU數
  • 需要相應調整學習率
  • 同步批次正規化統計

批次大小的權衡是訓練深度網絡的關鍵考量。

探索更多AI詞彙

查看所有分類,繼續學習AI知識