Понимание современных алгоритмов обучения с подкреплением

Вступление

В этом посте мы рассматриваем Soft Actor-Critic (Haarnoja et al., 2018 и 2019), очень успешный алгоритм обучения с подкреплением, который обеспечивает высочайшую производительность в задачах непрерывного управления (таких как перемещение и манипуляции роботов). Soft Actor-Critic использует концепцию обучения с максимальной энтропией, которая дает некоторые концептуальные и практические преимущества, которые мы обсудим в этом посте.

Вот как структурирован этот пост:

Во-первых, у нас будет краткий обзор итерации общей политики (я предполагаю, что читатель знаком с марковскими процессами принятия решений) - концепции, необходимой для понимания любого алгоритма обучения с подкреплением. Затем мы обсудим интуицию, лежащую в основе Soft Actor-Critic, и концептуальные преимущества, которые она приносит. Далее мы обсудим итерацию мягкой политики, теоретическую основу, приближенную к Soft Actor-Critic (SAC), а затем перейдем к SAC. Я также буду предоставлять фрагменты кода, объясняющие алгоритм, на протяжении всего сообщения.

Каким образом SAC достигает передовых результатов?

По сути, SAC стремится максимизировать «энтропию» политики в дополнение к ожидаемому вознаграждению от окружающей среды. Энтропию в политике можно интерпретировать как случайность в политике.

Из рисунка выше мы видим, что распределения вероятностей с низкой энтропией имеют тенденцию «жадно» отбирать определенные значения, поскольку масса вероятности распределяется относительно неравномерно. Тем не менее, поощрение политики за высокую энтропию дает несколько концептуальных преимуществ: во-первых, она явно поощряет исследование пространства состояний, улучшая собираемые данные о переходах; во-вторых, это позволяет политике захватывать несколько режимов хороших политик, предотвращая преждевременную конвергенцию к плохим локальным оптимумам.

Эта мотивация и формулировка эмпирически подтверждены в статьях Soft Actor-Critic; Во многих задачах управления MuJoCo Soft Actor-Critic превосходит другие современные алгоритмы:

Предыстория: итерация общей политики

В классической теории MDP стандартным подходом к поиску оптимальной политики, которая максимизирует ожидаемое накопленное дисконтированное вознаграждение для каждого состояния, является итерация политики. Итерация политики - это двухэтапная итерационная схема, чередующаяся между оценкой политики и ее улучшением.

На этапе оценки политики мы хотим найти точную функцию ценности для нашей текущей политики. Для этого мы неоднократно применяем оператор Беллмана, определенный ниже:

Шаг улучшения политики осуществляется путем многократного применения оператора оптимальности Беллмана:

которая, учитывая функцию начального значения V, гарантированно сходится к функции истинного (оптимального) значения V*. В частности, свойства сходимости оператора Беллмана и оператора оптимальности связаны с тем, что они оба являются сжимающими отображениями. Кроме того, теоретически оптимальная политика pi* может быть построена на основе функции оптимального значения; учитывая начальную политику pi, мы минимизируем некоторую метрику между текущей политикой и производной политикой обновления.

Таким образом, чередуя оценку политики и ее улучшение, мы можем найти точное решение для марковских процессов принятия решений в табличном случае (то есть в конечном пространстве состояний и действий и отсутствии аппроксимации функций).

Итерация мягкой политики

В статье Хаарноя представил Soft Policy Iteration, расширение общей итерации политики с энтропией политики в качестве дополнительного условия вознаграждения. В частности, агент стремится максимизировать как ожидаемое вознаграждение среды, так и энтропию политики.

С этой целью в исходный оператор Беллмана добавлен член регуляризатора энтропии:

Как и в нерегуляризованном случае, повторное применение регуляризованного по энтропии оператора Беллмана к любой исходной Q-функции гарантированно сходится к оптимальной «мягкой» Q-функции.

На этапе улучшения политики мы обновляем распределение политики в сторону распределения softmax для текущей функции Q (чтобы понять, почему это происходит, ознакомьтесь с этой статьей Хаарноя и др., (2017)). В частности, мы хотим минимизировать расстояние (расхождение) между двумя распределениями. Это достигается за счет минимизации расхождения Кульбака-Лейблера (KL) между двумя распределениями:

Эта схема обновления гарантирует монотонное улучшение политики в табличном случае (то есть, когда пространства состояний и действий конечны и не используется аппроксимация функций), как показано в Haarnoja et al. (2018). Позже Geist et al. (2019) обобщают эти свойства на любую формулировку регуляризатора.

Мягкий актер-критик (Предупреждение: плотно!)

Для сложных обучающих областей с многомерными и / или непрерывными пространствами состояний и действий в большинстве случаев невозможно найти точные решения для MDP. Таким образом, мы должны использовать приближение функций (то есть нейронные сети), чтобы найти практическое приближение к итерации мягкой политики.

С этой целью Haarnoja et al. моделирует мягкую Q-функцию как выразительную нейронную сеть, а политику как гауссово распределение по пространству действий со средним значением и ковариацией, заданными как выходы нейронной сети с текущим состоянием в качестве входных данных. Вот как это выглядит в коде для процесса реализации:

Кроме того, Soft Actor-Critic - это алгоритм обучения вне политики, что означает, что мы можем обновлять параметры Q-сети и политики, используя данные опыта, собранные из политики, отличной от текущей; для каждого развертывания актера мы сохраняем все данные перехода в буфере воспроизведения (обозначенном как D в приведенных ниже уравнениях).

Параметры Q-функции можно оптимизировать на каждом шаге обновления, используя градиент среднеквадратичного убытка между прогнозируемым значением действия и целевым значением действия q_t:

Здесь термин alpha представляет «температуру энтропии», то есть насколько мы взвешиваем «случайность» нашей политики по сравнению с вознаграждением за окружающую среду.

В коде мы можем реализовать это как:

Теперь перейдем к этапу улучшения политики: на практике Soft Actor-Critic использует несколько модификаций из итерации мягкой политики. Используя тот факт, что Q-параметры дифференцируемы, Хаарноя и др. использует «трюк с повторной параметризацией» выходных данных политики для получения оценки низкой дисперсии; в частности, мы представляем действия как гиперболический тангенс (tanh), применяемый к z-значениям, выбранным из среднего и ковариационного значения, выведенного нейронной сетью политики.

Кроме того, чтобы обратиться к границам действия в нашем неограниченном гауссовском распределении, мы должны изменить вычисление log(pi) следующим образом:

Здесь log(mu) представляет кумулятивную функцию распределения (CDF), вычисленную из среднего значения и ковариации из нейронной сети политики. Возможно, это яснее в коде:

Затем параметр политики может быть оптимизирован напрямую путем минимизации упрощенной формы отклонения KL от итерации мягкой политики; берем стохастический градиент целевой функции:

Эта упрощенная форма возникает из-за игнорирования знаменателя распределения softmax Q, поскольку он не влияет на градиент целевой функции.

В коде мы можем реализовать это как:

Необязательно: автоматическая регулировка нашей энтропийной температуры alpha

В первой версии SAC (2018) используется фиксированная энтропийная температура alpha. Хотя производительность оригинального SAC была впечатляющей, alpha оказался очень чувствительным гиперпараметром. Чтобы исправить это, вторая версия SAC (2019) использует alpha как параметр с возможностью обновления. В частности, мы обновляем, беря градиент целевой функции ниже:

где H_bar представляет желаемую минимальную энтропию, обычно равную нулевому вектору. Рекомендуется использовать SAC (2019) с этим регулируемым alpha, поскольку он улучшает производительность и стабильность алгоритма.

В коде:

На этом обзор алгоритма Soft Actor-Critic завершен!

Полная реализация

Чтобы мой пост был как можно более кратким, я включил только релевантные конкретные фрагменты реализации; чтобы увидеть полную реализацию, загляните в мой репозиторий GitHub:



Использованная литература:

  1. Мягкий критик-субъект: обучение с глубоким подкреплением с максимальной энтропией вне политики со стохастическим субъектом. Haarnoja et al. (2018) »
  2. Мягкий актер-критик. Алгоритмы и приложения. Haarnoja et al. (2019)
  3. Теория регуляризованных марковских процессов принятия решений. Geist et al. (2019)