В чем разница между Q-Learning и SARSA?

Хотя я знаю, что SARSA находится в соответствии с политикой, а Q-Learning не входит в политику, при просмотре их формул это сложно (для меня ), чтобы увидеть разницу между этими двумя алгоритмами.

Согласно книге Reinforcement Learning: An Introduction (Sutton and Barto). В алгоритме SARSA для данной политики соответствующая функция значения действия Q (в состоянии s и действии a, на временном шаге t), то есть Q (s t , a t ), можно обновить следующим образом

Q (s t , a t ) = Q (s t , a t ) + α * (r t + γ * Q (s t + 1 , a t + 1 ) - Q (s t ], a t ))

С другой стороны, этап обновления алгоритма Q-обучения следующий

Q (s t , a t ) = Q (s t , a t ) + α * (r t + γ * max a Q (s t + 1 , a) - Q (s t , a t ))

, который также можно записать как

Q ( s t , a t ) = (1 - α) * Q (s t , a t ) + α * (r t + γ * max a Q (s t + 1 , a))

где γ (гамма) - это коэффициент дисконтирования, а r t - это вознаграждение, полученное от среды на временном шаге t.

Разница между этими двумя алгоритмами состоит в том, что SARSA ищет только следующее значение политики, в то время как Q-Learning ищет следующее максимальное значение политики ?

TL; DR (и мой собственный ответ)

Спасибо всем, кто отвечает на этот вопрос, так как я впервые его задал. Я сделал репозиторий github , играя с Q-Learning, и эмпирически понял, в чем разница. Все сводится к тому, как вы выбираете следующее наилучшее действие , которое с алгоритмической точки зрения может быть средним , максимальным или лучшим действием. в зависимости от того, как вы решили его реализовать.

Другое главное отличие - , когда этот выбор происходит (например, онлайн против офлайн ) и как / почему это влияет на обучение. Если вы читаете это в 2019 году и больше являетесь практическим человеком, игра с игрушечной задачей RL, вероятно, лучший способ понять различия.

И последнее важное примечание: оба Suton & Барто, как и Википедия, часто смешивают, сбивают с толку или неправильные формульные представления в отношении наилучшего / максимального действия и награды следующего состояния :

r (t + 1)

на самом деле

r (t)

Надеюсь, это поможет любому, кто когда-либо застрянет на этом.

47
задан Ælex 30 January 2019 в 02:32
поделиться

1 ответ

Единственная разница между SARSA и Qlearning - то, что SARSA принимает следующие меры на основе текущей политики, в то время как qlearning принимает меры с максимальной утилитой следующего состояния

0
ответ дан 7 November 2019 в 13:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: