Доверительные агенты оптимизации политики области

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

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

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

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

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

Агенты TRPO используют следующие представления актёра и критика.

КритикАгент

V критика функции ценности (S), который вы создаете использование rlValueRepresentation

Стохастический π агента политики (S), который вы создаете использование rlStochasticActorRepresentation

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

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

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

Если UseDeterministicExploitation опция в rlTRPOAgentOptions установлен в true действие с наибольшим правдоподобием всегда используется в sim и generatePolicyFunction. В результате симулированный агент и сгенерированная политика ведут себя детерминировано.

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

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

  • Агент π (S |θ) — агент, параметрами θ, берет наблюдение S и возвращается:

    • Вероятности принятия каждых мер в пространстве действий, когда в S состояния (для дискретных пространств действий)

    • Среднее и стандартное отклонение Гауссова вероятностного распределения для каждого действия (для непрерывных пространств действий)

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

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

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

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

Можно создать агента TRPO с представлениями актёра и критика по умолчанию на основе спецификаций наблюдений и спецификаций действия от среды. Для этого выполните следующие шаги.

  1. Создайте спецификации наблюдений для своей среды. Если у вас уже есть объект интерфейса среды, можно получить эти технические требования использование getObservationInfo.

  2. Технические требования действия по созданию для вашей среды. Если у вас уже есть объект интерфейса среды, можно получить эти технические требования использование getActionInfo.

  3. В случае необходимости задайте количество нейронов в каждом learnable слое. Для этого создайте объект опций инициализации агента использование rlAgentInitializationOptions.

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

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

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

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

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

  3. В случае необходимости задайте опции агента с помощью rlTRPOAgentOptions объект.

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

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

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

Доверительная оптимизация политики области

Доверительная оптимизация политики области находит параметры агента, которые минимизируют следующую функцию потерь агента.

Lactor(θ)=1Mi=1M(πi(Si|θ)πi(Si|θold)Di+wi(θ,Si))

Здесь:

  • M является мини-пакетным размером.

  • Di является функцией преимущества.

  • πi (Si |θ) является вероятностью принимающего меры Ai после текущей политики. Это значение является определенным значением вероятности (дискретное действие) или функции плотности вероятности (непрерывное действие).

  • πi (Si |θold) является вероятностью принимающего меры Ai после старой политики.

  • w ℋi (θ, Si) является энтропийным термином потерь, где w является энтропийным весом потерь и ℋi (θ, Si) является энтропией. Для получения дополнительной информации смотрите Энтропийную Потерю.

Эта минимизация подвергается следующему ограничению.

1Mi=1MDKL(θold,θ,Si)δ

Здесь:

  • DKL (θold, θ, Si) является расхождением Kullback-Leibler (KL) между старой политикой π (Si |θold) и текущей политикой π (Si |θ). DKL измеряется, насколько вероятностные распределения старых и новых политик отличаются. DKL является нулем, когда эти два распределения идентичны.

  • δ является пределом для DKL и управляет, сколько новая политика может отклонить от старой политики.

Для агентов с дискретными пространствами действий DKL вычисляется можно следующим образом, где P является количеством действий.

DKL(θold,θ,Si)=k=1Pπk(Si|θold)ln(πk(Si|θold)πk(Si|θ))

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

DKL(θold,θ,Si)=1Pk=1P(ln(σθ,k)ln(σθold,k)+σθold,k2+(μθold,kμθ,k)22σθ,k20.5)

Здесь:

  • μθ,k и σθ,k являются средним и стандартным отклонением для k th действие, выведенное текущей политикой агента π (Si |θ).

  • μθold,k и σθold,k являются средним и стандартным отклонением для k th действие, выведенное старой политикой π (Si |θold).

Чтобы аппроксимировать эту задачу оптимизации, агент TRPO использует линейную аппроксимацию Lactor (θ) и квадратичное приближение DKL (θold, θ, Si). Приближения вычисляются путем взятия расширения Ряда Тейлора вокруг θ.

minθLactor(θ)g(θθold)=θLactor(θ)|θ=θold(θθold)subjectto12(θoldθ)TH(θoldθ)δwhereH=θ21Mi=1MDKL(θold,θ,Si)|θ=θold

Аналитическое решение этой аппроксимированной задачи оптимизации следующие.

θ=θold+α2δxTH1xx

Здесь, x =H-1g и α являются коэффициентом для обеспечения, что политика улучшает и удовлетворяет ограничению.

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

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

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

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

  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|ϕ)

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

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

      Dt=GtV(St|ϕ)

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

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

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

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

      Gt=Dt+V(St|ϕ)

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

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

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

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

      Lcritic(ϕ)=1Mi=1M(GiV(Si|ϕ))2

    3. Нормируйте значения преимущества Di на основе недавних ненормированных значений преимущества.

      • Если NormalizedAdvantageMethod опцией является 'none', не нормируйте значения преимущества.

        D^iDi

      • Если NormalizedAdvantageMethod опцией является 'current', нормируйте значения преимущества на основе ненормированных преимуществ в текущем мини-пакете.

        D^iDimean(D1,D2,,DM)std(D1,D2,,DM)

      • Если NormalizedAdvantageMethod опцией является 'moving', нормируйте значения преимущества на основе ненормированных преимуществ для N новые преимущества, включая текущее значение преимущества. Чтобы задать размер окна N, используйте AdvantageNormalizingWindow опция.

        D^iDimean(D1,D2,,DN)std(D1,D2,,DN)

    4. Обновите параметры агента путем решения ограниченной задачи оптимизации.

      1. Вычислите градиент политики.

        g=θLactor(θ)=θ1Mi=1M(πi(Si|θ)πi(Si|θold)D^i+wi(θ,Si))

      2. Примените метод метода сопряженных градиентов (CG), чтобы найти приближенное решение следующего уравнения, где H является Гессиан KL-расхождения между старыми и новыми политиками.

        xH1g

        Чтобы сконфигурировать условия завершения для алгоритма CG, используйте NumIterationsConjugateGradient и ConjugateGradientResidualTolerance опции. Чтобы стабилизировать численный расчет для алгоритма CG, используйте ConjugateGradientDamping опция.

      3. Используя алгоритм поиска линии, найдите самый большой α, который удовлетворяет следующим ограничениям.

        θ=θold+α2δxTH1xxLactor(θ)Lactor(θold)<01Mi=1MDKL(θold,θ,Si)δα{1,12,122,,12n1}

        Здесь, δ является пределом KL-расхождения, который вы устанавливаете использование KLDivergenceLimit опция. n является количеством итераций поиска линии, которые вы устанавливаете использование NumIterationsLineSearch опция.

      4. Если допустимое значение α существует, обновите параметры сети агента к θ. Если допустимое значение α не существует, не обновляйте параметры агента.

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

Энтропийная потеря

Чтобы способствовать исследованию агента, можно добавить, что энтропийная потеря называет w ℋi (θ, Si) к функции потерь агента, где w является энтропийным весом потерь, и ℋi (θ, Si) является энтропией.

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

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

i(θ,Si)=k=1Pπk(Si|θ)lnπk(Si|θ)

Здесь:

  • P является количеством возможных дискретных действий.

  • πk (Si |θ) является вероятностью принимающего меры Ak когда в Si состояния после текущей политики.

Для непрерывного пространства действий агент использует следующее энтропийное значение. В этом случае агент выводит среднее и стандартное отклонение Распределения Гаусса для каждого непрерывного действия.

i(θ,Si)=12k=1Cln(2πeσk,i2)

Здесь:

  • C является количеством непрерывных действий, выведенных агентом.

  • σk,i является стандартным отклонением для действия k когда в Si состояния после текущей политики.

Ссылки

[1] Шульман, Джон, Сергей Левин, Питер Аббеель, Майкл Джордан и Филипп Мориц. "Доверительная Оптимизация политики области". Продолжения 32-й Международной конференции по вопросам Машинного обучения, стр 1889-1897. 2015.

[2] Mnih, Владимир, Adrià Puigdomènech Бадия, Мехди Мирза, Алекс Грэйвс, Тимоти П. Лилликрэп, Тим Харли, Дэвид Сильвер и Корей Кэваккуоглу. “Асинхронные методы для Глубокого Обучения с подкреплением”. ArXiv:1602.01783 [Cs], 4 февраля 2016. https://arxiv.org/abs/1602.01783.

[3] Шульман, Джон, Филипп Мориц, Сергей Левин, Майкл Джордан и Питер Аббеель. “Высоко-размерное Непрерывное Управление Используя Обобщенную Оценку Преимущества”. ArXiv:1506.02438 [Cs], 20 октября 2018. https://arxiv.org/abs/1506.02438.

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

|

Похожие темы