👟 RMSprop 智慧波鞋示範

觀察唔同優化器喺複雜地形嘅表現:

1.00
SGD損失
1.00
RMSprop損失
0
迭代次數
學習率 (α) 0.05
衰變係數 (β) 0.9
SGD
RMSprop
Adam (RMSprop+動量)

RMSprop 嘅優勢:

  • 自適應學習率:根據歷史梯度自動調整每個參數嘅學習率
  • 解決長闊唔同問題:喺狹長谷地(梯度變化大嘅維度)減慢步伐,喺平坦方向加快步伐
  • 降低震盪:自動控制梯度大嘅方向嘅更新速度
  • 改善收斂:比起SGD更快到達最低點
試下「狹長谷地」同「鞍點地形」,睇下RMSprop點樣幫手應對呢啲難題

RMSprop 係乜嘢?

RMSprop (Root Mean Square Propagation) 係一種自適應學習率嘅優化算法,透過追蹤歷史梯度嘅平方嚟決定每個參數嘅學習步伐。

問題:大帽山散步理論

  • 前後方向又陡又斜:梯度大,易衝過頭又反彈(震盪)
  • 左右方向又闊又平:梯度細,行得好慢甚至唔郁
  • 傳統SGD問題:所有方向用一樣嘅學習率,要唔就震到暈,要唔就慢到嬲

RMSprop 解決方案

RMSprop好似一對智慧波鞋:

  • 記住「近排踩過幾多斜路」(梯度平方嘅指數加權平均)
  • 斜路多 → 自動收細步伐;平路多 → 放大步伐
  • 結果:前後唔再沖過頭,左右又行得快,輕鬆穿過谷底

數學公式

# 累積梯度平方 (指數加權平均)
s_t = β · s_{t-1} + (1-β) · g_t²

# 更新參數
θ = θ - α · g_t / (√(s_t) + ε)

其中:

  • g_t:當前梯度
  • s_t:梯度平方嘅累積平均,代表該維度嘅「震盪程度」
  • β:累積係數,通常設為0.9,即記住過去大約10步嘅平均
  • α:基本學習率
  • ε:小常數(通常1e-8),防止除零

RMSprop vs 其他優化器

  • 普通SGD:所有參數用同一個固定學習率
  • Momentum:記住過去更新嘅「方向」,加速前進
  • RMSprop:記住過去梯度嘅「大小」,調整學習率
  • Adam:結合Momentum(方向)同RMSprop(大小)嘅優點

實際應用例子

  • YouTube推薦:熱門影片梯度大,冷門特徵梯度細,RMSprop可以平衡學習
  • 醫院心電圖:QRS波段梯度尖到爆,平段幾乎為零,RMSprop自動調節
  • 強化學習:遊戲分數波動大,RMSprop可以穩定訓練過程

超參數建議

  • 學習率α:建議0.001起手,比SGD細10倍
  • 衰變係數β
    • 一般任務:0.9 (適合大部分情況)
    • 噪音大/序列長:0.95~0.99 (記憶時間更長)
    • 需要快速反應:0.8 (減少歷史影響)
  • ε值:1e-8已經足夠,除非混合精度訓練可能需要調大

點使用呢個示範

  1. 揀唔同地形(特別係「狹長谷地」)睇下三種優化器嘅差異
  2. 調整「學習率」同「衰變係數β」,觀察對RMSprop表現嘅影響
  3. 留意「學習率視圖」,睇下RMSprop點樣喺唔同方向自動調整學習率
  4. 比較損失曲線,理解點解RMSprop喺複雜地形有優勢