21 - 乜嘢係「超參數」?——煲湯、踩單車、換波箱全面比喻
訓練深度模型,好似煮靚湯:
材料=網絡結構、數據
火候/鹽水比例=超參數 (Hyper-parameters)
材料可以靠超市買(模型設計),但火候幾大、幾時落鹽就要你親手調。火候錯,一鍋靚料都會變「鹹到嘔」或者「淡如開水」。
1️⃣ 超參數清單+貼地例子
類別 | 常見超參數 | 生活對應 |
Optimizer | Learning rate (α)、Momentum β、Adam β₁β₂ε | 單車波段:檔位大(α大)踩得快但易炒車 |
Mini-batch | batch size、gradient accumulation step | 餐廳出菜一次煮幾碟:太少效率低,太多爐頭爆 |
網絡容量 | 隱藏層數、每層 neuron / channel、dropout p | 做三層蛋糕定五層蛋糕? |
正則化 | weight decay λ、label smoothing、early stop | 健身做 superset:防止單一肌肉過勞 |
資料增強 | flip、crop、mixup、noise level | 拍照開濾鏡:影多啲角度免得模型認錯 |
Scheduler | Step / Cosine LR、warm-up step | 汽車先熱車,再上高速慢慢減速 |
冇「萬能 key」——圖像任務多調 lr、NLP 反而 batch size 影響大;RNN β₂ 可比 CNN 細。
2️⃣ 點樣又快又啱調參?
2.1 隨機搜尋 (Random Search)
比 Grid Search 平均「快 10×」搵到八十分方案。概念:森林搵菇,亂行總好過逐行掃。
2.2 粗啲→幼啲 (Coarse-to-Fine)
先用粗網:
lr ∈ 10^[-4,-1]
batch ∈ {16,128,512}
鎖定 lr≈3e-3、batch≈128 之後,再 zoom-in:
lr ∈ 2e-3~5e-3 (log scale)
batch ∈ 96~160 (線性)
2.3 自動神器
Optuna:TPE + 早停,Python 幾行即用
Ray Tune:分布式、支持 Population-Based Training
Weights&Biases Sweeps:雲端 UI 即時睇圖
真例:用 Optuna 幫 NLP 分類調 30 個 trial,F1 由 0.82 ➜ 0.88,節省工程師一星期。
3️⃣ 搜索範圍用對數定線性?
參數 | 推薦空間 | 原因 |
learning rate α | 10^U(-5,-1) | 1e-5 → 0.1 跨 10,000 倍 |
weight decay λ | 10^U(-6,-2) | 正則化對量級敏感 |
1-β₁ (Momentum) | 10^U(-3,-1) | β₁≈0.9–0.99,但 0.001 差距已大 |
dropout p | U(0,0.6) 線性 | 0 與 0.6 感知相近 |
Python 抽樣示範:
import numpy as np
log_lr = np.random.uniform(-5, -1)
lr = 10 ** log_lr
beta1 = 1 - 10 ** np.random.uniform(-3, -1)
4️⃣ 批次正規化 (BatchNorm)——「考試前校曲線」
內部協變偏移=每層輸入分布日日變,學生考卷題型日日換 → 學習辛苦。
BatchNorm 每批標準化:均值→0,方差→1,然後再加可學參數 γ、β。
效果:
收斂快:等於幫 optimizer 調整「單位」,可把 lr 放大 2-10×。
有微正則:mini-batch 噪聲=輕量 Dropout,減 overfit。
真例:ResNet-50 無 BN 要 150 epoch,加入 BN 同 lr 0.1 只需 90 epoch 已達同樣 Top-1。
5️⃣ 框架點揀?——買車攻略
角色 | 推介 | 原因 |
新手 / 企業交付 | Keras(TF2) | API 抽象高、Serving 一條龍 |
研究員 / 需 要改底層 | PyTorch | 動態 Graph,debug 似 Python,論文 code 出得快 |
極速 + 函數式 | JAX/Flax | XLA、pmap,多 GPU TPU 爆速;但 API 少 |
移動端部署 | TF-Lite / CoreML | 壓縮 + 量化有人包 |
Web 推理 | ONNX.js / TensorFlow.js | 前端直接跑,無後端都得 |
6️⃣ 更多真實調參故事
醫療影像 3D UNet
batch size 只能放 2;lr 用 1e-4 卡 plateau。
改用 linear-warmup 2 epoch 到 3e-4,再 cosine decay,Dice 分數 +6%。
語音辨識 Conformer
dropout 0.1 仍過擬合;試 log 搜索到 0.28,CER 由 9% 降到 6%。
電商 CTR 預測
Tower 隱藏層 256→512 沒提升;反而 weight decay 1e-5→1e-4 AUC +0.3%。
強化學習 PPO
λ_gae 太大(0.99)→ policy 更新慢。
Random Search 找到 0.92,訓練時間減半。
✅ Take-away Checklist
超參數=火候,權重=材料,兩者缺一不可。
Random Search + Log Space + Coarse-to-Fine = CP 值最高。
BatchNorm/LayerNorm 幾乎必開,穩定又加速。
框架:上手快揀 Keras,愛折騰改論文揀 PyTorch,追極速玩 JAX。
真係冇時間?一條龍 Optuna/W&B Sweep 畀電腦幫你試。
跟住呢套方法調參,煲湯唔怕過鹹過淡,模型自然香噴噴上枱!🍲🚀