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已經足夠,除非混合精度訓練可能需要調大
點使用呢個示範
- 揀唔同地形(特別係「狹長谷地」)睇下三種優化器嘅差異
- 調整「學習率」同「衰變係數β」,觀察對RMSprop表現嘅影響
- 留意「學習率視圖」,睇下RMSprop點樣喺唔同方向自動調整學習率
- 比較損失曲線,理解點解RMSprop喺複雜地形有優勢