SARSA и Q Learning - это алгоритмы обучения с подкреплением, которые работают аналогичным образом. Самым поразительным отличием является то, что SARSA придерживается политики, а Q Learning - вне политики. Правила обновления следующие:
Q Обучение:
Sarsa:
где и r_t - состояние, действие и вознаграждение на временном шаге а - коэффициент дисконтирования.
Они в основном выглядят одинаково, за исключением того, что в SARSA мы выполняем реальные действия, а в Q Learning мы выполняем действия с наивысшей наградой.
Существуют ли теоретические или практические условия, в которых один должен отдавать предпочтение другому? Я вижу, что получение максимума в Q Learning может быть дорогостоящим и тем более в пространствах непрерывных действий. Но есть ли что-нибудь еще?
Ответы:
На самом деле в обоих случаях вы «выполняете» фактическое одиночное сгенерированное действие затем. В процессе Q обучения вы обновляете оценку, исходя из максимальной оценки возможных следующих действий, независимо от того, какое действие вы предприняли. Находясь в SARSA, вы обновляете оценки на основе и выполняете те же действия.aт + 1
Вероятно, это то, что вы имели в виду под «взять» в вопросе, но в литературе принятие действия означает, что оно становится значением, например, и влияет на , ,aT рт + 1 sт + 1
Q-обучение имеет следующие преимущества и недостатки по сравнению с SARSA:
Q-learning непосредственно изучает оптимальную политику, в то время как SARSA изучает почти оптимальную политику во время изучения. Если вы хотите изучить оптимальную политику с использованием SARSA, вам нужно будет выбрать стратегию , которая превратит в -greedy action action, который может стать непомерным гиперпараметром для настройки.ε ε
Q-обучение (и обучение вне политики в целом) имеет более высокую дисперсию для каждой выборки, чем SARSA, и может страдать от проблем, сходящихся в результате. Это становится проблемой при обучении нейронных сетей с помощью Q-обучения.
SARSA будет приближаться к конвергенции с учетом возможных штрафов за исследовательские ходы, в то время как Q-learning будет игнорировать их. Это делает SARSA более консервативным - если существует риск получения большого отрицательного вознаграждения, близкого к оптимальному пути, Q-learning будет иметь тенденцию вызывать это вознаграждение во время исследования, в то время как SARSA будет стремиться избегать опасного оптимального пути и лишь медленно научиться его использовать. когда параметры разведки уменьшены. Классическая проблема с игрушками, которая демонстрирует этот эффект, называется ходьбой по скале .
На практике последнее замечание может иметь большое значение, если ошибки дорогостоящие - например, вы тренируете робота не в симуляции, а в реальном мире. Вы можете предпочесть более консервативный алгоритм обучения, который позволяет избежать высокого риска, если на карту было нанесено реальное время и деньги, если робот был поврежден.
Если ваша цель состоит в том, чтобы обучить оптимального агента для моделирования или в недорогой и быстро повторяющейся среде, тогда Q-learning является хорошим выбором благодаря первому пункту (изучение оптимальной политики напрямую). Если ваш агент учится онлайн, и вы заботитесь о вознаграждениях, полученных во время обучения , то SARSA может быть лучшим выбором.
источник