AI時代系列(3) 機器學習三部曲: 📘 第三部:《強化學習 —— AI 的決策與進化》
36/100 第四週:📌 時序差分學習 TD
36.比較 SARSA 與 Q-Learning 🆚 誰更適合你的任務?
_______________________________________
🎯 單元導讀:
SARSA 與 Q-Learning 都是強化學習中重要的 TD 控制演算法,
但它們屬於不同的學習策略:SARSA 是 On-policy、Q-Learning 是 Off-policy。
本單元將從策略依賴、學習風格、應用場景三大面向進行全面比較,
幫助你依任務需求選擇最合適的方法。
________________________________________
🧠 一、演算法總覽
SARSA 和 Q-Learning 都是用來學習 Q 值的強化學習演算法。SARSA 屬於 On-policy,每次更新用的是實際選出的下一個動作 a′,公式為:
Q(s,a) ← Q(s,a) + α [r + γ Q(s′,a′) − Q(s,a)]
因為更新跟實際行為一致,學習過程較穩定、保守,適合風險較高或安全要求高的任務。
Q-Learning 屬於 Off-policy,每次更新用下一狀態下最大 Q 值的動作,公式為:
Q(s,a) ← Q(s,a) + α [r + γ maxₐ′ Q(s′,a′) − Q(s,a)]
它學得快,但可能在早期產生震盪,適合可以大量模擬、允許高風險探索的任務,例如博弈與對弈系統。
________________________________________
📊 二、實務應用情境比較
SARSA 與 Q-Learning 在應用上各有取向:自駕車和教學模擬適合 SARSA,因其更新平滑、策略保守,有助於降低風險與提升安全性;而博弈遊戲及資源分配決策更適合 Q-Learning,能快速掌握高報酬策略並尋求長期最優解,減少機會成本。
________________________________________
💡 三、選擇策略的實務建議
• ✅ 如果你的應用 偏向安全、穩健、風險控制重要 → SARSA
• ✅ 如果你的應用 追求效益最大化、學得快、資源允許嘗試錯誤 → Q-Learning
• ✅ 如果你不確定,建議 先從 SARSA 入手了解 RL 機制,再進階到 Q-Learning!
________________________________________
🧪 四、實驗挑戰任務
1️⃣ 同時實作 SARSA 與 Q-Learning 在 FrozenLake 環境中,觀察收斂速度與策略差異
說明與重點:
• FrozenLake 環境是一個典型的迷宮任務,包含冰面與陷阱,具有隨機滑動 (slippery) 機制,挑戰在於學會避開洞穴安全抵達終點。
• Q-Learning 採取 Off-policy 策略更新,每次更新都使用當前狀態下預期最大回報的行動來修正 Q 值,往往收斂速度較快。
• SARSA 採用 On-policy 策略更新,使用實際選擇的行動來更新 Q 值,因此在存在不確定性時,更容易學到較穩定與保守的行動路徑。
• 可透過多次實驗記錄:
o 完成任務成功率
o 學習收斂所需的訓練回合數
o 學出的行動路徑是否偏保守或偏激進
可能觀察結果:
• Q-Learning 可能較早學到「最快速但風險高」的路徑;
• SARSA 則偏好避開高風險格子,路徑穩定,但初期學習較慢。
________________________________________
2️⃣ 嘗試調整探索率 ε,觀察兩種策略下對於學習品質的影響
說明與重點:
• 探索率 ε 決定了 AI 在訓練過程中有多少比例會進行隨機探索,防止過早陷入局部最佳解。
• 高探索率 (ε=0.3 ~ 0.5):
o 初期有助於全面探索不同路徑;
o Q-Learning 若高探索配合高學習率,可能出現短期劇烈波動;
o SARSA 因更新使用實際行動,探索增加仍相對穩定。
• 低探索率 (ε=0.05 ~ 0.1):
o 偏向利用已學會的經驗;
o 若早期學到的是次優解,可能無法突破。
o SARSA 和 Q-Learning 均可能提早收斂,但容易卡在不佳策略。
建議觀察:
• 調整 ε 後,記錄不同 ε 下的:
o 收斂速度
o 策略穩定性
o 成功率變化
o 策略路徑差異
________________________________________
3️⃣ 模擬一個風險容錯低的情境(如機器手臂),分析哪一個方法風險更低
說明與重點:
• 在現實中,某些應用出錯的代價極高(例如:工廠機器手臂、醫療手術機器人、自動駕駛汽車)。
• SARSA (On-policy):
o 每次更新使用實際行為結果進行修正;
o 策略與行為一致,能在過程中逐步學會避開高風險行為;
o 產生保守穩定的策略,降低意外失誤發生機會。
• Q-Learning (Off-policy):
o 更新時只考慮理論最優,不考慮實際探索路徑;
o 容易在學習早期,因少數高估回報的誤差而做出激進動作;
o 在風險容錯低的情境中,可能導致不穩定行為發生。
結論:
• 風險敏感任務(如機械臂、醫療、自駕車)推薦使用 SARSA;
• 允許多次模擬與試錯的環境(如對弈、遊戲、博弈)適合 Q-Learning。
________________________________________
✅ 五、小結與啟示
• SARSA 與 Q-Learning 雖然結構類似,但策略學習方式根本不同
• SARSA 更謹慎,適合保守環境;Q-Learning 更大膽,適合高效目標
• 選擇哪一種策略,取決於任務的風險承受度與學習速度需求
• 懂得選擇演算法,就是會做決策的第一步!