top of page

14 - 點解成日聽人講「Mini-Batch 梯度下降」?


深度學習界嘅「打怪升級」主要靠三招:

  1. Batch GD:一次食晒成個資料庫

  2. Stochastic GD (SGD):一啖食一粒

  3. Mini-Batch GD:每啖食一小碗

第三招最受歡迎,原因就係 速度同穩定兼顧。下面用廣東話分段講,例子夠貼地,保證秒懂。


🧠 Mini-Batch 背後嘅直覺


諗吓你要搬 50 噸貨櫃:

  • 一次過搬晒(Batch)— 肌肉拉傷 + 車唔郁

  • 逐件貨逐件搬(SGD)— 行到腳軟都未完

  • 分 200 kg 箱(Mini-Batch)— 幾部手拖叉車、一輪搞掂

同理,計梯度時:

  • Batch → 每次更新超精準,但計到你瞓著

  • SGD → 超快,但方向左搖右擺,好似醉酒司機

  • Mini-Batch → 少少雜訊幫你跳出局部谷,又唔會亂飛


🔁 訓練流程逐步睇


  1. Shuffle:先將成個 dataset 打亂,免得次次同一堆資料黐埋一齊。

  2. 切批:例如 50 萬筆,每批 512 筆 ⇒ 977 個 batch。

  3. 迴圈

    1. 拎第 k 批 → Forward pass

    2. 算 Loss

    3. Backward pass 出梯度

    4. 立即更新權重 (optimizer.step)

  4. 完一個 epoch 就把所有批行晒;重複幾十個 epoch 直至收斂。


📉 Loss 曲線長乜樣?


  • Batch:條線靚到似 Excel 趨勢線,超平滑。

  • SGD:上上落落似股票細價股。

  • Mini-Batch:輕微鋸齒,但總體向下,好似行山落斜踩到碎石。

呢啲雜訊反而有利:可以跳出鞍點 (saddle point),早啲搵到更好嘅低谷。


🌍 實戰案例


  1. 串流平台推薦

    • 3 億用戶行為,JSON 檔加埋幾 TB。

    • 每批 4 024 條紀錄,一晚就可完成 1 個 epoch,用 8 块 GPU 開火。

  2. 醫療影像 CT 3D

    • 單張 CT 片就 400 MB。

    • 喺 24 GB GPU 只放得落 2–3 張,所以 batch size 取 2,但仍屬 Mini-Batch。

  3. 手機鍵盤語言模型

    • 用戶私隱分散喺手機端 —> federated learning 時每機 mini-batch 32,合併梯度回伺服器。

  4. 自動駕駛影片

    • 30 FPS、每秒 7 MB,訓練 CNN-LSTM。

    • 先抽 8 幀成一條序列做一批,既省顯存又保持時間依賴。


✨ Mini-Batch 優點一覽


  1. GPU 親善:矩陣運算先發揮 CUDA 最大吞吐。

  2. 記憶體友好:一次淨係載批量資料,超大數據一樣 train 得起。

  3. 收斂快:比 Batch 快見成效;比 SGD 稳定。

  4. 天然正則化:批與批之間嘅雜訊可防過擬合。


🛠️ 點揀 Batch Size?

情景

建議大小

解說

圖像分類,顯存夠

128 / 256 / 512

2ⁿ 對齊 GPU warp,速度最佳

NLP Transformer(長序列)

32 / 64

序列長耗記憶體,細批防 OOM

醫療 3D 影像

1–8

單樣本已巨大,細批亦屬 Mini-Batch

Tabular + CPU

1 000–10 000

記憶體細,但 CPU cache 食得起大批

Tips:

  • 顯存爆?用 Gradient Accumulation:連續算多個微批再一次 step()。

  • Batch 太細收斂慢?試加 BatchNorm / GroupNorm 稳定分佈。


🔄 與其他方法比較


  • Batch GD

    • 優:理論收斂最穩

    • 缺:巨量資料難落 RAM;每步耗時長

  • SGD

    • 優:每步超快,隨時在線更新

    • 缺:Loss 曲線似心電圖,需細 learning-rate schedule

  • Mini-Batch

    • 集兩家之長,配合 Adam、SGD-Momentum 幾乎成業界標配


✅ 小結 — 「小組開會」哲學


  1. 「大會」(Batch) — 每人發言一次,效率低。

  2. 「街訪」(SGD) — 隨機捉人講,方向亂。

  3. 「小組會」(Mini-Batch) — 幾個代表快閃開會,結論快而可信。


實務上:只要記得 顯存夠就加大、唔夠就縮細或做 accumulate,再配合 Learning Rate Scheduler,同一套模型都可以喺 Laptop 到雲端 GPU 順利跑通。Mini-Batch 就係你喺效率同準確之間嘅黃金平衡點!🎯

翱翔醫療 (2).png

Tsim Sha Tsui H Zentre Clinic

Suite 813, 8/F, H Zentre

15 Middle Road, TST

Phone: 28133700

​Whatsapp:+852 95096276

Central Printing House Clinic

Room 303A & 305,

3/F, Printing House,

6 Duddell Street, Central

Phone: 28716733 / 28716788

Whatsapp:+852 62084539

TKO Maritime Bay Clinic

UG18, UG/F,

Maritime Bay Shopping Centre
Hang Hau, Tseung Kwan O
Tel: 98852916; Whatsapp: 98852916

​Phone:98852916

Whatsapp:+852 98852916

Mong Kok T.O.P. Clinic

Room 2001, 20/F,
700 Nathan Road, Mong Kok

​(Going above from the the 3/F elevator of T.O.P. Mall)

Phone:28710277

Whatsapp:+852 98893911

bottom of page