SARSA 和 Q-Learning 是強化學習的兩大時序差分(TD)法,公式只差一個字、考試卻最愛拿來對比。關鍵:SARSA 是 on-policy——它會把「自己等下可能隨機走錯一步」的風險也算進去,所以學出來的路比較保守、安全。
SARSA 這個名字,直接就是它更新一次 Q 值要用到的五樣東西:
兩者更新公式長得幾乎一樣,差別只在中括號裡「未來」那一項:
下排中間是懸崖(−100),左下黃色是起點、右下綠色是終點。按「開始訓練」,看 SARSA 學出的路線——紅色箭頭是每格認為的最佳方向。
| 比較 | SARSA | Q-Learning |
|---|---|---|
| 未來那一項 | Q(S', A') 實際下一動作 | max Q(S', a) 最大值 |
| 策略類型 | On-policy | Off-policy |
| 風格 | 保守、避險 | 激進、求最優 |
| 懸崖漫步路徑 | 往上繞的安全路 | 貼懸崖的最短路 |
| 能用舊/別人資料? | 不易 | 可以(較彈性) |
先想再點開。
State-Action-Reward-next State-next Action,正是更新一次要用的材料。
SARSA 用實際下一動作 Q(S',A');Q-Learning 用下一狀態最大 max Q(S',a)。
學的是「正在執行(含探索)的策略」的價值,把探索風險一起算進去。
它把「下一步可能隨機掉下懸崖」的風險算進 Q 值,於是避開邊緣、繞遠路。
幾乎不再手滑,A' ≈ 最佳動作,兩者趨於一致。
SARSA 是強化學習的時序差分(TD)演算法(初級科目一 RL)。重點:名稱來自更新用到的 State-Action-Reward-State-Action;它是同策略(on-policy),用實際採取的下一行動更新,較保守、傾向避開風險路徑。易混點:常與 Q-learning 對比——SARSA 在懸崖漫步會走較安全的路、Q-learning(off-policy)走最短但較冒險的路。情境:風險敏感的路徑決策。
想練情境題與詳解 → AI 學習與考證地圖
一種時序差分(TD)強化學習法,名稱來自更新用到的 State、Action、Reward、next State、next Action;學的是實際採取策略的價值。
SARSA 是 on-policy(用實際下一步動作更新);Q-learning 是 off-policy(用下一步的最大 Q 更新)。SARSA 較保守、會考慮探索風險。
on-policy 用正在執行的策略產生的資料學該策略;off-policy 可用其他策略或舊資料學目標策略,後者更彈性、可重用資料。
它把探索動作的後果也納入學習,在有風險環境(如懸崖)會學到較保守、避開風險的路徑;Q-learning 學最優但可能較冒險。
Q(s,a) ← Q(s,a) + α[r + γ × Q(下一狀態, 實際下一動作) − Q(s,a)];與 Q-learning 差在用實際下一動作而非 max。