---
title: "批次大小（Batch Size）"
slug: batch-size
language: zh-TW
source: https://aiterms.tw/terms/batch-size
updated_at: 2026-07-29
tags: [模型訓練, 最佳化, 深度學習]
ipas_term: false
---

# 批次大小（Batch Size）

> **訓練模型時，一次拿多少筆資料來更新參數比較剛好？**
> 你可以把批次大小想成每次學習要看的題目數量，決定更新頻率與記憶體壓力。
> 它會影響訓練速度、穩定性與泛化表現。
>
> 你可以把它想成一個把抽象概念拉回日常判斷的提示，先知道它解決什麼問題，再看技術細節。

### 容易混淆

> **批次大小 vs Epoch？**
> 批次大小：每次更新前看的樣本數
> Epoch：整個訓練集看過幾輪
> 最關鍵的區別：批次大小看一次看幾筆，Epoch 看全資料跑幾次
>
> **批次大小 vs 學習率？**
> 批次大小：決定梯度估計的穩定度
> 學習率：決定參數往哪個方向走多大步
> 最關鍵的區別：批次大小管資料量，學習率管步伐大小
>
> **批次大小 vs Mini-batch？**
> 批次大小：可分成小批次與全批次
> Mini-batch：介於兩者之間的常見做法
> 最關鍵的區別：Mini-batch 其實就是最常用的批次訓練方式
### 記住這句就好

> 一次看得越多，更新越穩，但也越吃記憶體
### 實際案例

> **GPU 記憶體有限**
> 大模型放不下太大的批次，只好把 batch size 調小，避免訓練時爆記憶體
>
> **訓練抖動**
> 如果 loss 上下波動很大，可能是批次太小，梯度估計太吵
### 算法與應用

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

> **Q：批次大小和學習率有關嗎？**
> 有，批次變大時通常也要重新調整學習率，避免訓練發散或收斂太慢。
>
> **Q：批次大小越大越好嗎？**
> 不一定。它會受記憶體、穩定性與泛化需求影響。

### 中英對照與三種批次方式

| 中文 | 英文 | 一次用幾筆資料更新 |
| --- | --- | --- |
| 批次大小 | batch size | 統稱，指一次餵幾筆 |
| 全批次梯度下降 | batch gradient descent | 全部資料 |
| 隨機梯度下降 | stochastic gradient descent | 1 筆 |
| 小批次梯度下降 | mini-batch gradient descent | 通常 32 到 512 筆 |

> 現在講 SGD 時，實際指的幾乎都是小批次版本，純粹一次一筆的做法在深度學習裡已經沒人用。

### 批次大小怎麼選，取捨在哪

| 批次大小 | 梯度估計 | 訓練速度 | 記憶體 | 泛化 |
| --- | --- | --- | --- | --- |
| 小（16 到 64） | 雜訊大 | 每步快、總步數多 | 省 | 通常較好 |
| 大（512 以上） | 穩定 | 每步慢、總步數少、能吃滿 GPU | 吃重 | 可能較差 |

> 大批次泛化較差的現象很有名，一般的解釋是小批次的梯度雜訊本身有正則化效果，會把參數推離尖銳的極小值，落到較平坦的區域，而平坦區域對應較好的泛化。
>
> **一個實務上一定要知道的規則：改批次大小就要改學習率。**
>
> 常見做法是線性縮放律（linear scaling rule）：批次大小乘 k 倍，學習率也乘 k 倍。另一個常見版本是乘根號 k。無論用哪一個，只調批次不調學習率幾乎一定會讓訓練變差，很多人以為是大批次不好，其實是學習率沒跟著調。
>
> 大批次還需要搭配暖身（warmup）：一開始用很小的學習率跑幾百步再升到目標值，否則初期梯度不穩定會直接發散。
>
> **顯存不夠時的解法是梯度累積（gradient accumulation）。** 跑好幾個小批次、把梯度加起來、最後才更新一次，效果等同於一個大批次，代價只是時間。這讓小顯存的機器也能複現大批次的訓練設定。

### 情境判斷

> **Q1：如果你的模型訓練時一直很抖，先懷疑批次大小有沒有可能太小？**
> → 有可能，因為太小會讓梯度估計很吵
>
> **Q2：批次大小調大後，如果訓練反而變不穩，可能只改這個參數就夠嗎？**
> → 通常不夠，還要一起調學習率與正規化設定
### 常見問題

> **Q：批次大小怎麼選？**
> 先看硬體能放多少，再用驗證集測試穩定性與效果。
>
> **Q：批次大小會影響泛化嗎？**
> 會，較小批次常帶來較大雜訊，有時反而有助泛化。
>
> **Q：Batch size 和 mini-batch 一樣嗎？**
> 在很多語境裡 mini-batch 就是指實務上常用的那個批次大小。
### 相關術語

> - **訓練輪次**：批次大小通常要和 epoch 一起看
> - **學習率**：兩者常需要一起調
> - **批次正規化**：BN 的統計量受批次大小影響

---

來源：https://aiterms.tw/terms/batch-size
快查頁：https://aiterms.tw/terms/batch-size
最後更新：2026/07/29
深度解說：https://aiterms.tw/learning/what-is-batch-size