Reinforcement-Learning

何時選擇 SARSA 與 Q 學習

  • February 4, 2018

SARSA 和 Q Learning 都是以類似方式工作的強化學習算法。最顯著的區別是 SARSA 在策略上,而 Q Learning 不在策略上。更新規則如下:

問學習:

$$ Q(s_t,a_t)←Q(s_t,a_t)+α[r_{t+1}+γ\max_{a'}Q(s_{t+1},a')−Q(s_t,a_t)] $$

沙薩:

$$ Q(s_t,a_t)←Q(s_t,a_t)+α[r_{t+1}+γQ(s_{t+1},a_{t+1})−Q(s_t,a_t)] $$

在哪裡 $ s_t,,a_t $ 和 $ r_t $ 是時間步的狀態、動作和獎勵 $ t $ 和 $ \gamma $ 是折扣因子。

除了在 SARSA 中我們採取實際行動而在 Q Learning 中我們採取最高獎勵的行動之外,它們看起來幾乎相同。

是否存在任何理論或實踐設置,其中一個應該比另一個更喜歡?我可以看到,在 Q Learning 中最大化可能會很昂貴,在連續行動空間中更是如此。但是還有別的嗎?

除了在 SARSA 中我們採取實際行動而在 Q Learning 中我們採取最高獎勵的行動之外,它們看起來幾乎相同。

實際上,在您“採取”實際的單個生成動作中下一個。在 Q 學習中,您從可能的下一步操作的最大估計值更新估計值,而不管您採取了哪個操作。在 SARSA 中,您根據相同的操作更新估計值。

這可能是您在問題中“採取”的意思,但在文獻中,採取行動意味著它成為例如的價值, 和影響,.

是否存在任何理論或實踐設置,其中一個應該比另一個更喜歡?

與 SARSA 相比,Q-learning 具有以下優點和缺點:

  • Q-learning 直接學習最優策略,而 SARSA 在探索時學習接近最優策略。如果你想學習使用 SARSA 的最優策略,那麼你需要決定一個衰減策略在- 貪婪的動作選擇,這可能會成為一個微調的超參數。
  • Q 學習(以及一般的離策略學習)比 SARSA 具有更高的每樣本方差,因此可能會遇到收斂問題。當通過 Q-learning 訓練神經網絡時,這會成為一個問題。
  • SARSA 將接近收斂*,*考慮到探索性動作的可能懲罰,而 Q-learning 將忽略它們。這使得 SARSA 更加保守——如果存在接近最優路徑的大量負獎勵的風險,Q-learning 將傾向於在探索時觸發該獎勵,而 SARSA 將傾向於避免危險的最優路徑並且只會慢慢學會使用它當探索參數減少時。展示這種效果的經典玩具問題稱為懸崖行走

在實踐中,如果錯誤代價高昂,最後一點可能會產生很大的不同——例如,您不是在模擬中而是在現實世界中訓練機器人。如果機器人損壞會危及實時時間和金錢,您可能更喜歡避免高風險的更保守的學習算法。

如果您的目標是在模擬中或在低成本和快速迭代的環境中訓練最優代理,那麼 Q-learning 是一個不錯的選擇,因為第一點(直接學習最優策略)。如果您的代理在線學習,並且您關心學習過程中獲得的獎勵,那麼 SARSA 可能是更好的選擇。

引用自:https://stats.stackexchange.com/questions/326788

comments powered by Disqus

相關問答