MU-PING / Cliff-walking

Use cliff walking to compare the difference between Q-learning and SARSA algorithms in Reinforcement Learning

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cliff-walking

程式簡介

  • 利用 cliff walking 來比較強化學習( Reinforcement Learning )中 Q-learning 跟 SARSA 演算法之差異

  • 這裡的實驗,訓練過程中 ε-greedy 固定為 0.1

範例圖與說明

b36a4719-7571-4d1b-9c27-c8fe7062e79a

  • Reinforcement learning: An introductiong 上的 cliff walking 概念圖
    image

  • Q-Learning 偏向大膽的學習路徑,符合【Optimal path】
    Q-Learning Inference Path

  • SARSA 偏向保守的學習路徑,符合【Safer path】
    SARSA Inference Path

  • Q-Learning v.s. SARSA

    • Q-Learning : 用最大值估計來更新,有學習到全局最優的能力【Optimal path】,所以有更好的最終性能。

    • SARSA : 基於當前policy的動作選擇來更新當前的policy,直觀簡單但可能收斂到局部最優【Safer path】。

    • SARSA 更保守的原因是更新過程中,如果在懸崖邊,下一個狀態若是隨機選取( ε非0的關係 ),則可能會掉下懸崖,因此當前狀態的 Q 值會降低,使得 SARSA 不願意走靠近懸崖的路徑; Q-learning 是用最大值估計來更新,可以避免這個問題。

    • 下圖 Q-Learning 的平均獎勵會低於 SARSA ,因為其喜歡走在懸崖邊冒險,容易死亡獲得負獎勵。

      Q-Learning v.s. SARSA

    • 但是!!! Reinforcement learning: An introduction 上有一句話

      if ε were gradually reduced, then both methods would asymptotically converge to the optimal policy.

      • 簡單來說,若 ε 在訓練過程中持續減少,最後 Q-LearningSARSA 應該都會收斂到【Optimal path】

      • 這樣的情況下兩者最終結果會差不多,只能說在「訓練過程中」,SARSAQ-Learning 更保守地探索

      • 所以這裡的實驗才會把 ε-greedy 固定為 0.1

Reinforcement Learning : Q-learning & SARSA

  • 兩者都是強化學習中的TD-learning技術
  • Q-learning 為 off-policy;SARSA 為 on-policy

image 圖片來源: https://www.youtube.com/watch?v=FhSaHuC0u2M

參考

About

Use cliff walking to compare the difference between Q-learning and SARSA algorithms in Reinforcement Learning


Languages

Language:Python 100.0%