Хотя я знаю, что SARSA находится вне политики, в то время как Q-learning вне политики, при взгляде на их формулы трудно (для меня) увидеть разницу между ними два алгоритма.
Согласно книге Обучение усилению: Введение (Саттон и Барто). В алгоритме SARSA, с учетом политики, соответствующая функция-значение Q (в состоянии s и действии a, на временном шаге t), т.е. Q (s t , a t ), можно обновить следующим образом
Q (с т , а т ) = Q (с т , а т ) + α * (r т + γ * Q (с т + 1 , а т + 1 ) - Q (с т , а т ))
С другой стороны, шаг обновления для алгоритма Q-обучения следующий
Q (с т , а т ) = Q (с т , а т ) + α * (r t + γ * max a Q (s t + 1 , a) - Q (s t , a t ))
, который также можно записать как
Q (с t , a t ) = (1 - α) * Q (с t , a t ) + α * (r t + γ * max a Q (s t + 1 , a))
, где γ (гамма) - коэффициент дисконтирования, а r t - вознаграждение, полученное от окружающей среды на шаге t.
Разница между этими двумя алгоритмами заключается в том, что SARSA ищет только следующее значение политики, а Q-learning ищет следующее максимальное значение политики?
TLDR (и мой собственный ответ)
Спасибо всем, кто ответил на этот вопрос с тех пор, как я впервые его задал. Я сделал github repo , играющий с Q-Learning, и эмпирически понял, в чем разница. Все это означает, как вы выбираете свое следующее лучшее действие , которое с алгоритмической точки зрения может быть среднее , макс или лучшее действие в зависимости от того, как вы решили его реализовать.
Другое основное отличие - , когда происходит этот выбор (например, онлайн против оффлайн ) и как / почему это влияет на обучение. Если вы читаете это в 2019 году и более практичны, то, вероятно, лучший способ понять разницу - поиграть с игрушкой RL.
Последнее важное примечание заключается в том, что и у Сутона и Барто, и в Википедии часто есть смешанные, сбивающие с толку или неправильные формулы в отношении следующее состояние лучшее / максимальное действие и награда :
* * Г тысячу сто двадцать пять (т + 1) * * тысяча сто двадцать шесть
на самом деле
* +1131 * г (т) * * тысяча сто тридцать-два
Надеюсь, это поможет кому-нибудь застрять в этом.