Алгоритм SARSA: on-policy обучение с подкреплением по шагам

SARSA - один из базовых алгоритмов обучения с подкреплением, который учит агента действовать, пробуя шаги в среде и постепенно уточняя оценку «насколько хорош тот или иной выбор». Название складывается из пяти величин, которые алгоритм использует на каждом шаге: state, action, reward, state, action. В отличие от знаменитого Q-обучения, SARSA оценивает не идеальную, а ту стратегию, которой агент реально следует, включая её случайные пробы. Разберём правило обновления, его связь с временной разностью и то, почему SARSA называют осторожным алгоритмом. Ниже можно собрать запрос по своей задаче и получить пошаговый разбор.
Что обозначает аббревиатура SARSA
Имя алгоритма буквально перечисляет данные одного обучающего перехода. Агент находится в состоянии , выбирает действие , получает награду , переходит в новое состояние и там выбирает следующее действие . Эта пятёрка
и дала название SARSA. Ключевая деталь в том, что последнее - реально выбранное агентом действие, а не теоретически наилучшее. Именно из-за этого SARSA относят к классу on-policy: он улучшает ту же стратегию, по которой собирает опыт.

Правило обновления
Алгоритм хранит таблицу оценок - ожидаемой суммарной награды за выбор действия в состоянии . После каждого перехода значение для пары сдвигается в сторону наблюдаемого опыта:
Здесь - скорость обучения, - коэффициент дисконтирования будущих наград. Выражение в скобках называют ошибкой временной разности (TD-ошибкой):
Она показывает, насколько прежняя оценка расходится с уточнённой целью . Если TD-ошибка положительна, значит шаг оказался лучше ожиданий, и оценка растёт; если отрицательна - падает. Множитель задаёт, какую долю этого расхождения учесть за один раз.
Удобно понимать обновление как обучение на собственном прогнозе: цель сама собрана из оценок , а не из конечного выигрыша, который ещё далеко в будущем. Этот приём называют бутстрэпом - алгоритм подтягивает текущую оценку к более свежей оценке того же типа, не дожидаясь конца эпизода. Благодаря этому SARSA учится онлайн, прямо в ходе одного прохода по среде, а не только по завершённым траекториям. Коэффициент дисконтирования при этом регулирует горизонт планирования: при близком к нулю агент гонится за немедленной наградой, при близком к единице - учитывает далёкие последствия своих ходов.
On-policy: почему берётся реальное A_{t+1}
Главная особенность SARSA спрятана в цели обновления. Она использует , где выбирается той же политикой, что управляет агентом, обычно epsilon-жадной. Это значит, что в цель попадают и исследовательские, иногда невыгодные шаги. Алгоритм оценивает не гипотетически оптимальную стратегию, а ту, по которой агент действительно ходит - со всеми её случайными пробами.
Сравните с близким Q-обучением, где в цели стоит : там оценивается наилучшее возможное действие независимо от того, что агент выберет на самом деле. Поэтому Q-обучение называют off-policy - оно учит одну (жадную) политику, следуя другой (исследующей).
Практическое следствие у этой разницы простое. SARSA честно отвечает на вопрос «насколько хороша моя текущая манера поведения, включая случайные пробы», тогда как Q-обучение отвечает на вопрос «насколько хорош был бы безупречный игрок в этой среде». Если потом снизить долю исследования до нуля, обе оценки сойдутся, но по пути они расходятся: SARSA закладывает в цену состояния стоимость возможной ошибки, а Q-обучение её игнорирует. Поэтому в задачах, где исследование может привести к катастрофе, поведение этих двух алгоритмов заметно различается, хотя формулы отличаются лишь одним слагаемым в цели обновления.
Выбор действия: epsilon-жадная стратегия
Чтобы агент не застрял на первой найденной приличной траектории, действия выбираются с долей случайности. Самый частый приём - epsilon-жадная стратегия:
Параметр задаёт долю исследования. На старте его держат большим (агент много пробует), затем плавно уменьшают, и поведение становится почти жадным. В SARSA это влияет дважды: и на текущий шаг , и на следующий , который входит прямо в формулу обновления.

Полный цикл одного эпизода
Собранный воедино, алгоритм за эпизод выполняет такую последовательность:
- Инициализировать произвольно (часто нулями).
- Начать в стартовом состоянии , выбрать epsilon-жадно.
- Повторять для каждого шага эпизода:
- выполнить , получить награду и новое состояние ;
- в выбрать epsilon-жадно;
- обновить по правилу SARSA с этим ;
- присвоить , .
- Завершить, когда - терминальное состояние.
Поскольку выбирается до обновления и затем становится действием следующего шага, опыт собирается и используется одной и той же политикой без разрыва.
Осторожность SARSA на примере обрыва
Классическая иллюстрация различия - задача «прогулка по обрыву» (cliff walking). Агент идёт по краю пропасти: кратчайший путь проходит вплотную к обрыву, падение даёт большой штраф. Q-обучение, оценивая идеальную жадную политику, выводит агента на самый короткий, но рискованный маршрут у самого края. SARSA же учитывает, что из-за исследования агент иногда оступится в пропасть, и потому предпочитает идти чуть дальше от обрыва - путь длиннее, зато безопаснее.
Это и есть смысл фразы «SARSA осторожнее»: он оптимизирует ту политику, которая включает случайные ошибки, поэтому избегает состояний, где такая ошибка дорого стоит. При стремлении оба алгоритма сходятся к одной оптимальной политике, ведь без исследования случайных падений в пропасть больше не случается, и безопасный окольный путь теряет преимущество. На практике это означает, что выбор между SARSA и Q-обучением зависит от цены ошибки во время самого обучения: если агент учится в реальной системе, где промах опасен, осторожность SARSA ценнее формально оптимального, но рискованного маршрута Q-обучения.
Частые ошибки
- Путать SARSA и Q-обучение в формуле. В SARSA в цели стоит с реально выбранным , а не . Подмена меняет алгоритм на off-policy.
- Обновлять Q до выбора A'. Сначала выбирают следующее действие epsilon-жадно, и только потом подставляют его в формулу обновления - иначе теряется суть on-policy.
- Держать и постоянными до конца. Без затухания исследования и скорости обучения оценки не стабилизируются, а агент продолжает совершать лишние пробы.
- Игнорировать терминальное состояние. В терминальном слагаемое обнуляют, иначе оценка завышается.
- Слишком большой . При скорости обучения близко к 1 оценка скачет за каждым случайным переходом и не сходится.
FAQ
Чем SARSA принципиально отличается от Q-обучения? SARSA - on-policy: в цель обновления входит действие , которое агент действительно выберет своей текущей политикой. Q-обучение - off-policy: в цели стоит максимум по действиям, то есть оценка наилучшего хода независимо от реального выбора. Из-за этого SARSA ведёт себя осторожнее в рискованных средах.
Что такое TD-ошибка в SARSA? Это разность между уточнённой целью и прежней оценкой . Она измеряет, насколько опыт расходится с ожиданием, и именно на её долю (через коэффициент ) сдвигается значение в таблице.
Сходится ли SARSA к оптимальной политике? Да, при выполнении условий сходимости (убывающие шаг обучения и доля исследования, посещение всех пар состояние-действие) SARSA сходится к оптимальной политике. Когда , осторожная политика SARSA совпадает с жадной оптимальной.
Коротко
SARSA - это on-policy алгоритм временной разности, который обновляет таблицу по пятёрке state-action-reward-state-action, подставляя в цель реально выбранное следующее действие . Из-за этого он оценивает ту же epsilon-жадную политику, по которой собирает опыт, и ведёт себя осторожнее off-policy Q-обучения в средах с риском, сходясь к одной и той же оптимальной политике при затухании исследования.
Читайте также

Q-обучение: алгоритм обучения с подкреплением по шагам
Q-обучение в обучении с подкреплением: правило обновления Q-таблицы, формула Беллмана, выбор действия по epsilon-жадной стратегии, сходимость и отличие от SARSA на простых примерах.

Алгоритм policy gradient: как обучают стратегию напрямую
Разбираем алгоритм policy gradient: теорема о градиенте, формула REINFORCE, роль baseline и log-производной. С примерами вывода, типовыми ошибками и интерактивным расчётом сходимости.

Марковский процесс принятия решений (MDP): кортеж и решение
Марковский процесс принятия решений (MDP): кортеж из состояний, действий, переходов и наград, уравнение Беллмана, итерация по ценности и по политике, роль дисконта gamma и связь с RL.