Хотя я знаю, что 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)
Надеюсь, это поможет любому, кто когда-либо застрянет на этом.
Единственная разница между SARSA и Qlearning - то, что SARSA принимает следующие меры на основе текущей политики, в то время как qlearning принимает меры с максимальной утилитой следующего состояния