Введение
В этом сообщении блога я буду исследовать два алгоритма обучения с подкреплением: Сарса и 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. Однако полученные здесь результаты не следует воспринимать как общие, поскольку этот эксперимент был очень специфичен для среды, с которой я работал.