Доверительная оптимизация политики области (TRPO) является без моделей, онлайн, на политике, алгоритмом обучения с подкреплением градиента политики. TRPO чередуется между выборкой данных через экологическое взаимодействие и обновлением параметров политики путем решения ограниченной задачи оптимизации. KL-расхождение между старой политикой и новой политикой используется в качестве ограничения во время оптимизации. В результате этот алгоритм предотвращает значительные отбрасывания эффективности по сравнению со стандартными градиентными методами политики путем хранения обновленной политики в доверительной области близко к текущей политике [1].
PPO является упрощенной версией TRPO. TRPO является более в вычислительном отношении дорогим, чем PPO, но TRPO имеет тенденцию быть более устойчивым, чем PPO, если динамика окружения детерминирована, и количество наблюдений является низким. Для получения дополнительной информации об агентах PPO смотрите Ближайших Агентов Оптимизации политики.
Для получения дополнительной информации о различных типах агентов обучения с подкреплением смотрите Агентов Обучения с подкреплением.
Агенты TRPO могут быть обучены в средах со следующим наблюдением и пространствами действий.
Пространство наблюдений | Пространство действий |
---|---|
Дискретный или непрерывный | Дискретный или непрерывный |
Агенты TRPO используют следующие представления актёра и критика.
Критик | Агент |
---|---|
V критика функции ценности (S), который вы создаете использование | Стохастический π агента политики (S), который вы создаете использование |
Во время обучения, агента TRPO:
Оценочные вероятности принятия каждых мер в пространстве действий и случайным образом выбирают действия на основе вероятностного распределения.
Взаимодействует со средой для нескольких шагов с помощью текущей политики перед использованием мини-пакетов, чтобы обновить агента и свойства критика за несколько эпох.
Если UseDeterministicExploitation
опция в rlTRPOAgentOptions
установлен в true
действие с наибольшим правдоподобием всегда используется в sim
и generatePolicyFunction
. В результате симулированный агент и сгенерированная политика ведут себя детерминировано.
Чтобы оценить политику и функцию ценности, агент TRPO обеспечивает две функциональных аппроксимации.
Агент π (S |θ) — агент, параметрами θ, берет наблюдение S и возвращается:
Вероятности принятия каждых мер в пространстве действий, когда в S состояния (для дискретных пространств действий)
Среднее и стандартное отклонение Гауссова вероятностного распределения для каждого действия (для непрерывных пространств действий)
Критик V (S) — Критик, параметрами ϕ, берет наблюдение S и возвращает соответствующее ожидание обесцененного долгосрочного вознаграждения.
Когда обучение завершено, обученная оптимальная политика хранится в агенте π (S).
Для получения дополнительной информации о создании агентов и критиков для приближения функций, смотрите, Создают Представления Функции ценности и политика.
Можно создать агента TRPO с представлениями актёра и критика по умолчанию на основе спецификаций наблюдений и спецификаций действия от среды. Для этого выполните следующие шаги.
Создайте спецификации наблюдений для своей среды. Если у вас уже есть объект интерфейса среды, можно получить эти технические требования использование getObservationInfo
.
Технические требования действия по созданию для вашей среды. Если у вас уже есть объект интерфейса среды, можно получить эти технические требования использование getActionInfo
.
В случае необходимости задайте количество нейронов в каждом learnable слое. Для этого создайте объект опций инициализации агента использование rlAgentInitializationOptions
.
Задайте опции агента с помощью rlTRPOAgentOptions
объект.
Создайте агента с помощью rlTRPOAgent
объект.
В качестве альтернативы можно создать представления актёра и критика и использовать эти представления, чтобы создать агента. В этом случае гарантируйте, что размерности ввода и вывода представлений актёра и критика совпадают с соответствующим действием и спецификациями наблюдений среды.
Создайте агента с помощью rlStochasticActorRepresentation
объект.
Создайте критика, использующего rlValueRepresentation
объект.
В случае необходимости задайте опции агента с помощью rlTRPOAgentOptions
объект.
Создайте агента с помощью rlTRPOAgent
функция.
Агенты TRPO не поддерживают агентов и критиков, которые используют текущие глубокие нейронные сети в качестве функциональных аппроксимаций. Агенты TRPO также не поддерживают глубокие нейронные сети, которые используют quadraticLayer
.
Для получения дополнительной информации о создании агентов и критиков для приближения функций, смотрите, Создают Представления Функции ценности и политика.
Доверительная оптимизация политики области находит параметры агента, которые минимизируют следующую функцию потерь агента.
Здесь:
M является мини-пакетным размером.
Di является функцией преимущества.
πi (Si |θ) является вероятностью принимающего меры Ai после текущей политики. Это значение является определенным значением вероятности (дискретное действие) или функции плотности вероятности (непрерывное действие).
πi (Si |θold) является вероятностью принимающего меры Ai после старой политики.
w ℋi (θ, Si) является энтропийным термином потерь, где w является энтропийным весом потерь и ℋi (θ, Si) является энтропией. Для получения дополнительной информации смотрите Энтропийную Потерю.
Эта минимизация подвергается следующему ограничению.
Здесь:
DKL (θold, θ, Si) является расхождением Kullback-Leibler (KL) между старой политикой π (Si |θold) и текущей политикой π (Si |θ). DKL измеряется, насколько вероятностные распределения старых и новых политик отличаются. DKL является нулем, когда эти два распределения идентичны.
δ является пределом для DKL и управляет, сколько новая политика может отклонить от старой политики.
Для агентов с дискретными пространствами действий DKL вычисляется можно следующим образом, где P является количеством действий.
Для агентов с непрерывными пространствами действий DKL вычисляется можно следующим образом.
Здесь:
μθ,k и σθ,k являются средним и стандартным отклонением для k th действие, выведенное текущей политикой агента π (Si |θ).
μθold,k и σθold,k являются средним и стандартным отклонением для k th действие, выведенное старой политикой π (Si |θold).
Чтобы аппроксимировать эту задачу оптимизации, агент TRPO использует линейную аппроксимацию Lactor (θ) и квадратичное приближение DKL (θold, θ, Si). Приближения вычисляются путем взятия расширения Ряда Тейлора вокруг θ.
Аналитическое решение этой аппроксимированной задачи оптимизации следующие.
Здесь, x =H-1g и α являются коэффициентом для обеспечения, что политика улучшает и удовлетворяет ограничению.
Агенты TRPO используют следующий алгоритм настройки. Чтобы сконфигурировать алгоритм настройки, задайте опции с помощью rlTRPOAgentOptions
объект.
Инициализируйте агента π (S) со случайными значениями параметров θ.
Инициализируйте критика V (S) со случайными значениями параметров ϕ.
Сгенерируйте события N следующим текущая политика. Последовательность опыта
Здесь, St является наблюдением состояния, At является мерами, принятыми от того состояния, St+1 является следующим состоянием, и Rt+1 является вознаграждением, полученным для перемещения от St до St+1.
Когда в St состояния, агент вычисляет вероятность принятия каждых мер в пространстве действий с помощью π (St) и случайным образом выбирает действие At на основе вероятностного распределения.
ts является шагом времени начала текущего набора событий N. В начале эпизода тренировки, ts = 1. Поскольку каждый последующий набор N испытывает в том же эпизоде тренировки, ts ← ts + N.
Для каждой последовательности опыта, которая не содержит конечное состояние, N равен ExperienceHorizon
значение опции. В противном случае N меньше ExperienceHorizon
и SN является конечным состоянием.
Для каждого шага эпизода t = ts +1, ts +2, …, ts +N, вычисляет возврат и способствует функции с помощью метода, заданного AdvantageEstimateMethod
опция.
Конечный горизонт (AdvantageEstimateMethod = "finite-horizon"
) — Вычисляют возврат Gt, который является суммой вознаграждения за тот шаг и обесцененного будущего вознаграждения [2].
Здесь, b является 0
если Sts+N является конечным состоянием и 1
в противном случае. Таким образом, если Sts+N не является конечным состоянием, обесцененное будущее вознаграждение включает обесцененную функцию ценности состояния, вычисленное использование сети V критика.
Вычислите функцию преимущества Dt.
Обобщенное средство оценки преимущества (AdvantageEstimateMethod = "gae"
) — Вычисляют функцию преимущества Dt, который является обесцененной суммой временных ошибок различия [3].
Здесь, b является 0
если Sts+N является конечным состоянием и 1
в противном случае. λ является заданным использованием коэффициента сглаживания GAEFactor
опция.
Вычислите возврат Gt.
Чтобы задать коэффициент дисконтирования γ для любого метода, используйте DiscountFactor
опция.
Извлеките уроки из мини-пакетов событий за эпохи K. Чтобы задать K, используйте NumEpoch
опция. В течение каждой эпохи изучения:
Произведите случайный мини-пакетный набор данных размера M от текущего набора событий. Чтобы задать M, используйте MiniBatchSize
опция. Каждый элемент мини-пакетного набора данных содержит текущий опыт и соответствующий возврат и значения функции преимущества.
Обновите параметры критика путем минимизации потери Lcritic через все произведенные мини-пакетные данные.
Нормируйте значения преимущества Di на основе недавних ненормированных значений преимущества.
Если NormalizedAdvantageMethod
опцией является 'none'
, не нормируйте значения преимущества.
Если NormalizedAdvantageMethod
опцией является 'current'
, нормируйте значения преимущества на основе ненормированных преимуществ в текущем мини-пакете.
Если NormalizedAdvantageMethod
опцией является 'moving'
, нормируйте значения преимущества на основе ненормированных преимуществ для N новые преимущества, включая текущее значение преимущества. Чтобы задать размер окна N, используйте AdvantageNormalizingWindow
опция.
Обновите параметры агента путем решения ограниченной задачи оптимизации.
Вычислите градиент политики.
Примените метод метода сопряженных градиентов (CG), чтобы найти приближенное решение следующего уравнения, где H является Гессиан KL-расхождения между старыми и новыми политиками.
Чтобы сконфигурировать условия завершения для алгоритма CG, используйте NumIterationsConjugateGradient
и ConjugateGradientResidualTolerance
опции. Чтобы стабилизировать численный расчет для алгоритма CG, используйте ConjugateGradientDamping
опция.
Используя алгоритм поиска линии, найдите самый большой α, который удовлетворяет следующим ограничениям.
Здесь, δ является пределом KL-расхождения, который вы устанавливаете использование KLDivergenceLimit
опция. n является количеством итераций поиска линии, которые вы устанавливаете использование NumIterationsLineSearch
опция.
Если допустимое значение α существует, обновите параметры сети агента к θ. Если допустимое значение α не существует, не обновляйте параметры агента.
Повторите шаги 3 - 5, пока эпизод тренировки не достигнет конечного состояния.
Чтобы способствовать исследованию агента, можно добавить, что энтропийная потеря называет w ℋi (θ, Si) к функции потерь агента, где w является энтропийным весом потерь, и ℋi (θ, Si) является энтропией.
Энтропийное значение выше, когда агент более сомнителен в который действие взять затем. Поэтому максимизация энтропийного термина потерь (минимизирующий отрицательную энтропийную потерю) увеличивает неопределенность агента, таким образом ободрительное исследование. Чтобы способствовать дополнительному исследованию, которое может помочь агенту переместиться из локальных оптимумов, можно задать больший энтропийный вес потерь.
Для дискретного пространства действий агент использует следующее энтропийное значение. В этом случае агент выводит вероятность принятия каждых возможных дискретных мер.
Здесь:
P является количеством возможных дискретных действий.
πk (Si |θ) является вероятностью принимающего меры Ak когда в Si состояния после текущей политики.
Для непрерывного пространства действий агент использует следующее энтропийное значение. В этом случае агент выводит среднее и стандартное отклонение Распределения Гаусса для каждого непрерывного действия.
Здесь:
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.
rlTRPOAgent
| rlTRPOAgentOptions