Интуитивный подход к пониманию одного из самых важных методов обучения с подкреплением.

Обзор

Прежде чем углубляться в подробности об актерском критике, напомним Градиент политики.

Что означает наличие обучения с подкреплением на основе политик?
Проще говоря, представьте, что робот оказался в какой-то ситуации, но похоже, что эта ситуация похожа на то, что он испытывал раньше.
Итак метод, основанный на политике, гласит: поскольку я предпринимал действие (a) в этой конкретной ситуации в прошлом, давайте попробуем то же действие и на этот раз.

PS. Не смешивайте похожую ситуацию с одинаковыми состояниями, в аналогичной ситуации робот или агент находится в некоторых новых состояниях, которые напоминают то, что он испытал раньше, и не обязательно в том же состоянии, в котором они находились.

На изображении выше робот стоит перед валом, но кажется, что он видел это раньше, поэтому, как и раньше, он использовал свои ракеты, чтобы перепрыгнуть через него.

Однако на этот раз это может быть не идеальное действие!
Может случиться так, что есть триггер, который просто открывает ворота, экономя ценную энергию, которая может быть использована позже.

Основываясь на этой концепции, робот должен сделать ретроспективный обзор, чтобы проверить, насколько полезным было это действие (с использованием его ракет).

Теперь нам нужно перевести это в математическое уравнение.

Задача

Имейте в виду, что цель состоит в том, чтобы всегда получать самые высокие награды.
Чтобы иметь возможность делать это, мы должны определить функцию, которая собирает эти награды и работать над ее оптимизацией, чтобы максимизировать эти награды.
Другой не менее важным моментом является то, что мы собираемся сделать это с помощью нейронной сети.
Итак, мы будем искать набор весов 𝜽 нейронной сети, который помогает нам максимизировать целевая функция.

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

На основе градиента, основанного на политике, мы нашли целевую функцию и вычислили ее градиент следующим образом (подробнее о том, как возникло это уравнение, см. Градиент политики, шаг за шагом):

J (𝜽) - целевая функция, которая зависит от 𝜽
m - количество выполненных эпизодов (здесь называемых траекториями)
𝛑 - это политика, параметризованная 𝜽, что означает, что при изменении политика будет затронута . Помните, что политика дает вероятность выполнения определенного действия, когда агент находится в определенном состоянии.
𝞽ⁱ - это i-й эпизод или выполненная траектория.
R (𝞽ⁱ) - это отдача (общее вознаграждение) траектории.
T - количество шагов на траектории.

Это уравнение говорит нам, что градиент J (𝜽) - это среднее значение всех m траекторий, где каждая траектория представляет собой сумму шагов, составляющих ее. На каждом из этих шагов мы вычисляем производную журнала политики 𝛑 и умножаем ее на доходность R (𝞽ⁱ).

Другими словами, мы пытаемся выяснить, как меняется политика, следуя 𝜽. Использование возврата R (𝞽ⁱ) состоит в том, чтобы усилить (или уменьшить) эти вариации. Это означает, что высокое значение R () повысит результат и даст нейронной сети уверенность в том, что 𝜽 продвигается в правильном направлении.

Однако есть проблема с возвратом R (𝞽ⁱ).

Проблема возврата

Предположим, что мы находимся на траектории, где награды за первые шаги отрицательны, а те, которые ближе к концу траектории, положительны, так что общее R = 0!
В этом случае ∇J (𝜽) будет быть 0, и нейронная сеть не будет изучать новые значения для 𝜽 из этой ситуации.
Чтобы решить эту проблему, мы используем дисконтированные вознаграждения на каждом шаге, начиная с текущего состояния и до конца траектории.

Это даст нам новую версию ∇J (𝜽):

Теперь нейронная сеть сможет учиться на траекториях.
Тем не менее, есть еще возможности для улучшения, но нам нужно заняться математикой.

А вот и математика

Что, если мы углубимся в размышления?
Rt (возврат, начиная с шага t) неплох, но мы не совсем уверены, какое значение Rt считается достаточно хорошим, чтобы его принимать во внимание ?!

Возьмем, к примеру, робота из начала статьи. Было ли использование ракет для прыжка хорошим решением? Откуда нам знать ? Насколько это было хорошо?
Если взять пример спринтера на 100 метров, который набрал 10 баллов, сделал он хорошо или плохо? Если это было хорошо, то насколько хорошо?
Один из способов придать значение этому числу - сравнить его с эталоном или с тем, что мы называем базовым показателем.

Базовые показатели могут иметь несколько форм, одна из которых - ожидаемая производительность или, другими словами, средняя производительность. Если спринтер получил 10 баллов, а средний - 12 баллов, то он показал очень хорошие результаты, и наоборот, если средний балл 8 баллов, он показал плохие результаты.

Обозначим базовую линию как b 𝑡, градиент целевой функции станет:

Теперь давайте подумаем об этом на секунду, R𝑡 - это вознаграждение в результате выполнения действия a на шаге t.
С другой стороны, b 𝑡 представляет собой среднее значение результатов всех действий.
Это странно похоже на Q (s, a), которое является значением действия a взятые в состоянии s, и V (s), который является значением состояния или средним значением всех вознаграждений (вызванных всеми предпринятыми действиями) в состоянии s.

Уравнение можно переписать как

Если мы внимательно рассмотрим приведенное выше уравнение, мы увидим, что 𝛑 (a | s) - это то, что выполняет действие (помните, что 𝛑 - это вероятность того, что действие a выполняется в состоянии s), а Q (s, a) -V (s) говорит нам, насколько это ценно.

Другими словами, 𝛑 (a | s) - актер, Q (s, a) -V (s) - критик.

Вычисление критика может иметь разные вкусы:

  • Q Актер-Критик
  • Преимущество Актер-Критик
  • TD Актер-Критик
  • TD (λ) Актер-Критик
  • Прирожденный актер-критик

Статьи по Теме