top of page

18 - Adam——深度學習界嘅「智能自動波引擎」


Adam(Adaptive Moment Estimation)基本上係 Momentum+RMSprop+偏差修正 三合一。落埋去就好似把跑車打到 S 檔:加速快、方向穩、還要自動調波。


1️⃣ 直覺圖像:開住 Tesla 落山


普通 SGD=開腳踏單車落斜,只靠肉眼睇斜度踩腳車,慢又易跣。Adam=坐 Tesla,車內有:

  • 「動量感測器」:記住之前行嘅方向 → Momentum

  • 「路面雷達」:量度左右斜度大小 → RMSprop

  • 「初段校準」:開車頭幾秒數據少,自動修正 → Bias-Correction

結果:山路幾彎都穩定、高速、唔嘈。


2️⃣ 演算法四步曲


假設步 t 得到梯度 g_t:

  1. 一階動量(方向記憶)v_t = β₁·v_{t−1} + (1−β₁)·g_t  (β₁≈0.9)

  2. 二階動量(幅度記憶)s_t = β₂·s_{t−1} + (1−β₂)·g_t²  (β₂≈0.999)

  3. 偏差修正

    v̂_t = v_t / (1 − β₁ᵗ) ŝ_t = s_t / (1 − β₂ᵗ)

  4. 更新參數θ = θ − α · v̂_t / (√ŝ_t + ε)  (α≈1e-3, ε≈1e-8)

一階動量=Momentum二階動量=RMSprop scaling偏差修正=頭幾步唔會被 0 初值拖慢

3️⃣ 實戰靚參數


參數

建議

解說

α (lr)

1e-3

GPU 足、batch 大可放 3e-4 ~ 5e-4

β₁

0.9

想更穩定→0.95;想更敏捷→0.8

β₂

0.999

時序/強化學習 noise 大可降至 0.995

ε

1e-8

混合精度可加大至 1e-7 防 underflow


4️⃣ 多幾個貼地例子


  1. 手機輸入法語言模型每部手機收集嘅 batch 細,梯度 noise 超大。Adam 自動降速喺震盪方向,仍能穩穩收斂。

  2. NFT 價格預測 GANGenerator 梯度有時爆燈有時 0,Adam 既調速又加動量,較 SGD 少 mode collapse。

  3. 醫院腦掃 CT-3D 分割參數幾千萬,但每 GPU 只放到 2 張圖。用 Adam + β₂=0.995,收斂比 RMSprop 快 30%。

  4. 電商即時推薦用 streaming mini-batch 100~200;Adam 無需經常調 lr,工程師凌晨都瞓得安穩。

  5. 無人機路徑規劃強化學習回報波幅大,SGD 易炸;Adam 幫 policy network 跨過鞍點,飛機訓得快過加油。


5️⃣ Adam 同其他 Optimizer 一表睇清

Optimizer

方向記憶

步伐自適應

初期修正

典型用例

SGD

小模型 + 手動 LR schedule

Momentum

✔︎

CV 大批量訓練

RMSprop

✔︎

RNN / 強化學習

Adam

✔︎

✔︎

✔︎

99% 深度項目首選


6️⃣ Adam 易中嘅伏


  1. 學習率太大 → 發散

    • 症狀:Loss 震 + NaN

    • 對策:α ÷ 10 或加 Grad Clip

  2. 長期不降 → β₂ 太高

    • 降至 0.995 或啟用 amsgrad=True 試試。

  3. BN + 小 batch

    • Adam 噪聲低,配 BN 容易 overfit;可加 Dropout or Weight Decay。

  4. 想極致收尾

    • 先 Adam 訓練 80%,再轉 SGD + cosine decay,可提升 0.5~1% accuracy。


7️⃣ PyTorch 8 行起飛

optimizer = torch.optim.Adam(model.parameters(),
                             lr=1e-3, betas=(0.9, 0.999), eps=1e-8)
for x, y in loader:
    optimizer.zero_grad()
    loss = criterion(model(x), y)
    loss.backward()
    optimizer.step()

✅ 小結 — 把握 Adam 三句真言


  1. Momentum 加速、RMSprop 調速、Bias-Correction 開局無死角。

  2. 預設參數已經好打,唔好一開波就亂改;先觀察 Loss 再微調。

  3. 無論 CNN、RNN、Transformer、GAN、RL… 一行 Adam 先行,十有八九到位。

記住:揀優化器時,先諗 Adam;真係搞唔掂或者想最後 1% 再考慮其他!🚀

翱翔醫療 (2).png

尖沙咀H Zentre店

尖沙咀中間道15號

​H Zentre 8樓 813室

電話:28133700

​Whatsapp:+852 95096276

中環印刷行店

中環都爹利街6號

​印刷行 3樓 305室

電話:28716733 / 28716788

Whatsapp:+852 62084539

坑口海悅豪園店

將軍澳坑口海悅豪園
底層上層 UG18號鋪

​電話:98852916

Whatsapp:+852 98852916

旺角T.O.P.店

旺角彌敦道700號

20樓 2001室

​(T.O.P.商場3樓升降機上)

電話:28710277

Whatsapp:+852 98893911

bottom of page