Введение

В этом сообщении блога я буду исследовать два алгоритма обучения с подкреплением: Сарса и Q-обучение. Это два метода временной разности (TD). TD сочетает в себе идеи Монте-Карло и динамического программирования. TD учится на опыте, таком как Монте-Карло, но не ждет окончания всего эпизода, он использует оценочные значения следующего состояния в качестве цели для обновления значения следующего состояния, т. е. он загружается, как в динамическом программировании. Однако динамика среды не полностью известна, как в динамическом программировании. Ниже приведено простейшее обновление метода ТД.

Это называется TD(0), так как в качестве цели используется только значение вознаграждения после текущего действия и значение следующего состояния. В двух рассмотренных здесь методах используется обновление, аналогичное приведенному выше, за исключением того, что мы используем значения состояния-действия вместо значений состояния.

Различия между Sarsa и Q-learning

Сарса означает State-Action-Reward-State-Aдействие. Это метод политики, т. е. изучаемая политика используется для создания обучающих данных. С другой стороны, Q-обучение — это метод вне политики, т. е. для генерации обучающих данных для политики, функция ценности которой изучается, используется другая политика. Ниже приведены функции обновления для этих двух методов обучения:

Из приведенных выше обновлений видно, что эти 2 метода очень похожи, за исключением того, как определяется значение для следующего состояния. Для Sarsa мы используем действие состояния после выполнения действия с использованием политики, которая использовалась для генерации обновляемого действия состояния. Для Q-обучения мы берем максимальное состояние-действие следующего состояния. Это Сарса — это обучение по политике, а q-обучение — вне политики.

Сравнение производительности при ходьбе по скалам

Это простая среда, описанная в книге RL, показанная на скриншоте ниже.

  • Эпизод начинается в состоянии S, т. е. агент запускается в этом состоянии.
  • Эпизод заканчивается в состоянии G, то есть это терминальное состояние.
  • Состояния в самом нижнем ряду между S и G — это состояния обрыва.
  • Переход из любого состояния, кроме состояний обрыва, имеет награду -1, и агент перемещается в любое из соседних состояний.
  • Переход из состояния обрыва имеет награду -100, и агент переходит в начальное состояние S, т. е. эпизод заканчивается.
  • Эпизод заканчивается, когда агент достигает конечного состояния G,проходит 100 шагов или оказывается в состоянии обрыва.
  • Синий путь безопасен, но не оптимален, поскольку для достижения целевого состояния требуется очень много шагов.
  • Красный путь оптимален, но очень рискован, так как агент может оказаться у обрыва.

Из описания среды цель агента состоит в том, чтобы максимизировать кумулятивное вознаграждение, т. е. сделать как можно меньше шагов, поскольку каждый шаг имеет значение -1. Оптимальный путь — тот, что прямо над обрывом, так как он занимает всего 13 шагов и имеет значение -13. Я использовал 2 метода TD (0) выше, чтобы определить, являются ли они выше, чтобы получить оптимальный путь.

Учебный эксперимент

Использование следующих гиперпараметров во время тренировки:

  • количество серий: 2000
  • Коэффициент дисконтирования: 1, т.е. дисконтирования не было.
  • Альфа: 0,1, это скорость обучения
  • эпсилон: 0,1, вероятность выбора всех действий с одинаковой вероятностью для эпсилон-жадного алгоритма

Реализацию двух алгоритмов можно найти в этом репозитории github.

Результаты обучения

  • В этом эксперименте и Sarsa, и Q-обучение требуют примерно одинакового времени для сходимости, но Q-обучение смогло изучить оптимальный путь из 13 шагов. Sarsa не удалось узнать оптимальный путь, поскольку он избегал обрыва, поскольку его функция обновления принимала следующее значение состояния-действия с использованием эпсилон-жадности, поэтому состояния над обрывом имели низкое значение. Поскольку Q-learning использовал максимальное значение следующего состояния-действия в обновлении, он смог осторожно перейти от границы к целевому состоянию G. На приведенной ниже диаграмме показано количество шагов обучения с эпизодом. Чтобы сделать диаграмму более гладкой, количество шагов усреднено в группах по 20. Мы ясно видим, что Q-обучение способно найти оптимальный путь.

  • На приведенной ниже диаграмме показана производительность в сети для двух алгоритмов, т. е. значения состояния с эпизодами. Значения снова усредняются в группах по 20, как на приведенной выше диаграмме. Мы видим, что Sarsa имеет лучшую производительность, чем Q-learning. Это связано с тем, что по мере того, как Q-обучение учится находить оптимальный путь, иногда оно оказывается в обрыве, поскольку генерация пар действий состояния для обновления следует эпсилон-жадному алгоритму. Как уже было показано выше, Сарса учится избегать состояний, близких к обрыву, тем самым уменьшая вероятность попадания на обрыв.

Заключение

Этот простой пример иллюстрирует сравнение между Sarsa и Q-learning. Однако полученные здесь результаты не следует воспринимать как общие, поскольку этот эксперимент был очень специфичен для среды, с которой я работал.