Ближайшие агенты оптимизации политики

Ближайшая оптимизация политики (PPO) является без моделей, онлайн, на политике, методом обучения с подкреплением градиента политики. Этот алгоритм является типом обучения градиента политики, которое чередуется между выборкой данных через экологическое взаимодействие и оптимизацией отсеченной суррогатной целевой функции с помощью стохастического градиентного спуска. Отсеченная суррогатная целевая функция улучшает учебную устойчивость путем ограничения размера изменения политики на каждом шаге. [1]

Для получения дополнительной информации о различных типах агентов обучения с подкреплением смотрите Агентов Обучения с подкреплением.

Агенты PPO могут быть обучены в средах со следующим наблюдением и пространствами действий.

Пространство наблюденийПространство действий
Дискретный или непрерывныйДискретный или непрерывный

Во время обучения, агента PPO:

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

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

Агент и функция критика

Чтобы оценить политику и функцию ценности, агент PPO обеспечивает две функциональных аппроксимации:

  • Агент μ (S) — Агент берет наблюдение S и выводит вероятности принятия каждых мер в пространстве действий когда в S состояния.

  • Критик V (S) — Критик берет наблюдение S и выводит соответствующее ожидание обесцененного долгосрочного вознаграждения.

Когда обучение завершено, обученная оптимальная политика хранится в агенте μ (S).

Для получения дополнительной информации о создании агентов и критиков для приближения функций, смотрите, Создают Представления Функции ценности и политика.

Создание агента

Создать агента PPO:

  1. Создайте агента с помощью rlStochasticActorRepresentation объект.

  2. Создайте критика, использующего rlValueRepresentation объект.

  3. Задайте опции агента с помощью rlPPOAgentOptions объект.

  4. Создайте агента с помощью rlPPOAgent функция.

Агенты PPO поддерживают агентов и критиков, которые используют текущие глубокие нейронные сети в качестве аппроксимаций функций.

Алгоритм обучения

Агенты PPO используют следующий алгоритм настройки. Чтобы сконфигурировать алгоритм настройки, задайте опции с помощью rlPPOAgentOptions.

  1. Инициализируйте агента μ (S) со случайными значениями параметров θμ.

  2. Инициализируйте критика V (S) со случайными значениями параметров θV.

  3. Сгенерируйте события N следующим текущая политика. Последовательность опыта:

    Sts,Ats,Rts+1,Sts+1,,Sts+N1,Ats+N1,Rts+N,Sts+N

    Здесь, St является наблюдением состояния, At является мерами, принятыми от того состояния, St+1 является следующим состоянием, и Rt+1 является вознаграждением, полученным для перемещения от St до St+1.

    Когда в St состояния, агент вычисляет вероятность принятия каждых мер в пространстве действий с помощью μ (St) и случайным образом выбирает действие At на основе вероятностного распределения.

    ts является шагом времени начала текущего набора событий N. В начале эпизода тренировки, ts = 1. Поскольку каждый последующий набор N испытывает в том же эпизоде тренировки, tsts + N.

    Для каждой последовательности опыта, которая не содержит конечное состояние, N равен ExperienceHorizon значение опции. В противном случае N меньше ExperienceHorizon и SN является конечным состоянием.

  4. Для каждого шага эпизода t = ts +1, ts +2, …, ts +N, вычисляет возврат и способствует функции с помощью метода, заданного AdvantageEstimateMethod опция.

    • Конечный горизонт (AdvantageEstimateMethod = "finite-horizon") — Вычисляют возврат Gt, который является суммой вознаграждения за тот шаг и обесцененного будущего вознаграждения. [2]

      Gt=k=tts+N(γktRk)+bγNt+1V(Sts+N|θV)

      Здесь, b является 0 если Sts+N является конечным состоянием и 1 в противном случае. Таким образом, если Sts+N не является конечным состоянием, обесцененное будущее вознаграждение включает обесцененную функцию ценности состояния, вычисленное использование сети V критика.

      Вычислите функцию преимущества Dt.

      Dt=GtV(St|θV)

    • Обобщенное средство оценки преимущества (AdvantageEstimateMethod = "gae") — Вычисляют функцию преимущества Dt, который является обесцененной суммой временных ошибок различия. [3]

      Dt=k=tts+N1(γλ)ktδkδk=Rt+bγV(St|θV)

      Здесь, b является 0 если Sts+N является конечным состоянием и 1 в противном случае. λ является заданным использованием коэффициента сглаживания GAEFactor опция.

      Вычислите возврат Gt.

      Gt=DtV(St|θV)

    Чтобы задать коэффициент дисконтирования γ для любого метода, используйте DiscountFactor опция.

  5. Извлеките уроки из мини-пакетов опыта за эпохи K. Чтобы задать K, используйте NumEpoch опция. В течение каждой эпохи изучения:

    1. Произведите случайный мини-пакетный набор данных размера M от текущего набора опыта. Чтобы задать M, используйте MiniBatchSize опция. Каждый элемент мини-пакетного набора данных содержит текущий опыт и соответствующий возврат и значения функции преимущества.

    2. Обновите параметры критика путем минимизации потери Lcritic через все произведенные мини-пакетные данные.

      Lcritic(θV)=1Mi=1M(GiV(Si|θV))2

    3. Обновите параметры агента путем минимизации потери Lactor через все произведенные мини-пакетные данные. Если EntropyLossWeight опция больше нуля, затем дополнительная энтропийная потеря добавляется к Lactor, который поощряет исследование политики.

      Lactor(θμ)=1Mi=1Mmin(ri(θμ)Di,ci(θμ)Di)ri(θμ)=μAi(Si|θμ)μAi(Si|θμ,old)ci(θμ)=max(min(ri(θμ),1+ε),1ε)

      Здесь:

      • Di, Gi является значением функции преимущества и возвращаемым значением для i th элемент мини-пакета, соответственно.

      • μi (Si |θμ) является вероятностью принимающего меры Ai когда в Si состояния, учитывая обновленные параметры политики θμ.

      • μi (Si |θμ,old) является вероятностью принимающего меры Ai когда в Si состояния, учитывая предыдущие параметры политики (θμ,old) до текущей эпохи изучения.

      • ε является заданным использованием фактора клипа ClipFactor опция.

  6. Повторите шаги 3 - 5, пока эпизод тренировки не достигнет конечного состояния.

Ссылки

[1] Шульман, J., и др. "Ближайшие Алгоритмы Оптимизации политики", Технический отчет, ArXiv, 2017.

[2] Mnih, V., и др. "Асинхронные методы для глубокого обучения с подкреплением", Международная конференция по вопросам Машинного обучения, 2016.

[3] Шульман, J., и др. "Высоко-размерное Непрерывное Управление Используя Обобщенную Оценку Преимущества", Технический отчет, ArXiv, 2018.

Смотрите также

|

Похожие темы