批次大小(Batch Size)是什麼?

批次大小是訓練時每次更新模型參數所使用的樣本數,直接影響訓練速度、記憶體用量與模型收斂穩定性|本頁含完整原理、應用場景、iPAS 考試重點與 3 個常見問答。

批次大小(Batch Size)是什麼? 模型訓練最佳化

訓練模型時,一次拿多少筆資料來更新參數比較剛好? 你可以把批次大小想成每次學習要看的題目數量,決定更新頻率與記憶體壓力。 它會影響訓練速度、穩定性與泛化表現。

你可以把它想成一個把抽象概念拉回日常判斷的提示,先知道它解決什麼問題,再看技術細節。

容易混淆

批次大小 vs Epoch? 批次大小:每次更新前看的樣本數 Epoch:整個訓練集看過幾輪 最關鍵的區別:批次大小看一次看幾筆,Epoch 看全資料跑幾次

批次大小 vs 學習率? 批次大小:決定梯度估計的穩定度 學習率:決定參數往哪個方向走多大步 最關鍵的區別:批次大小管資料量,學習率管步伐大小

批次大小 vs Mini-batch? 批次大小:可分成小批次與全批次 Mini-batch:介於兩者之間的常見做法 最關鍵的區別:Mini-batch 其實就是最常用的批次訓練方式

記住這句就好

一次看得越多,更新越穩,但也越吃記憶體

實際案例

GPU 記憶體有限 大模型放不下太大的批次,只好把 batch size 調小,避免訓練時爆記憶體

訓練抖動 如果 loss 上下波動很大,可能是批次太小,梯度估計太吵

算法與應用

重點 你要看什麼 為什麼重要
小批次 更新快、雜訊大 有時泛化較好但較不穩
大批次 更新穩、吃記憶體 訓練吞吐高但可能要調學習率
選擇 看硬體與任務 沒有一個固定萬用答案

iPAS 考題

Q:批次大小和學習率有關嗎? 有,批次變大時通常也要重新調整學習率,避免訓練發散或收斂太慢。

Q:批次大小越大越好嗎? 不一定。它會受記憶體、穩定性與泛化需求影響。

情境判斷

Q1:如果你的模型訓練時一直很抖,先懷疑批次大小有沒有可能太小? → 有可能,因為太小會讓梯度估計很吵

Q2:批次大小調大後,如果訓練反而變不穩,可能只改這個參數就夠嗎? → 通常不夠,還要一起調學習率與正規化設定

常見問題

批次大小怎麼選?

先看硬體能放多少,再用驗證集測試穩定性與效果。

批次大小會影響泛化嗎?

會,較小批次常帶來較大雜訊,有時反而有助泛化。

Batch size 和 mini-batch 一樣嗎?

在很多語境裡 mini-batch 就是指實務上常用的那個批次大小。