-
利用 cliff walking 來比較強化學習( Reinforcement Learning )中 Q-learning 跟 SARSA 演算法之差異
-
這裡的實驗,訓練過程中 ε-greedy 固定為 0.1
-
Reinforcement learning: An introductiong 上的 cliff walking 概念圖
-
Q-Learning v.s. SARSA
-
Q-Learning : 用最大值估計來更新,有學習到全局最優的能力【Optimal path】,所以有更好的最終性能。
-
SARSA : 基於當前policy的動作選擇來更新當前的policy,直觀簡單但可能收斂到局部最優【Safer path】。
-
SARSA 更保守的原因是更新過程中,如果在懸崖邊,下一個狀態若是隨機選取( ε非0的關係 ),則可能會掉下懸崖,因此當前狀態的 Q 值會降低,使得 SARSA 不願意走靠近懸崖的路徑; Q-learning 是用最大值估計來更新,可以避免這個問題。
-
下圖 Q-Learning 的平均獎勵會低於 SARSA ,因為其喜歡走在懸崖邊冒險,容易死亡獲得負獎勵。
-
但是!!! Reinforcement learning: An introduction 上有一句話
if ε were gradually reduced, then both methods would asymptotically converge to the optimal policy.
-
簡單來說,若 ε 在訓練過程中持續減少,最後 Q-Learning 、 SARSA 應該都會收斂到【Optimal path】
-
這樣的情況下兩者最終結果會差不多,只能說在「訓練過程中」,SARSA 比 Q-Learning 更保守地探索
-
所以這裡的實驗才會把 ε-greedy 固定為 0.1
-
-
- 兩者都是強化學習中的TD-learning技術
- Q-learning 為 off-policy;SARSA 為 on-policy