rlPPOAgentOptions

Опции для агента PPO

Описание

Используйте rlPPOAgentOptions объект задать опции для агентов ближайшей оптимизации политики (PPO). Чтобы создать агента PPO, используйте rlPPOAgent

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

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

Создание

Описание

opt = rlPPOAgentOptions создает rlPPOAgentOptions объект для использования в качестве аргумента при создании агента PPO с помощью всех настроек по умолчанию. Можно изменить свойства объектов с помощью записи через точку.

пример

opt = rlPPOAgentOptions(Name,Value) свойства опции наборов с помощью пар "имя-значение". Например, rlPPOAgentOptions('DiscountFactor',0.95) создает набор опции с коэффициентом дисконтирования 0.95. Можно задать несколько пар "имя-значение". Заключите каждое имя свойства в кавычки.

Свойства

развернуть все

Количество шагов агент взаимодействует со средой перед учением из ее опыта в виде положительного целого числа.

ExperienceHorizon значение должно быть больше или быть равно MiniBatchSize значение.

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

Энтропийный вес потерь в виде скалярного значения между 0 и 1. Более высокое значение веса потерь способствует исследованию агента путем применения штрафа за то, что были слишком уверены в который действие взять. Выполнение так может помочь агенту переместиться из локальных оптимумов.

Поскольку эпизод продвигается t, энтропийная функция потерь, которая добавляется к функции потерь для обновлений агента:

Ht=Ek=1Mμk(St|θμ)lnμk(St|θμ)

Здесь:

  • E является энтропийным весом потерь.

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

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

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

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

MiniBatchSize значение должно быть меньше чем или равно ExperienceHorizon значение.

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

Метод для оценки значений преимущества в виде одного из следующего:

  • "gae" — Обобщенное средство оценки преимущества

  • "finite-horizon" — Конечная оценка горизонта

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

Коэффициент сглаживания для обобщенного средства оценки преимущества в виде скалярного значения между 0 и 1, включительно. Эта опция применяется только когда AdvantageEstimateMethod опцией является "gae"

Опция, чтобы возвратить действие с наибольшим правдоподобием для симуляции и генерации политики в виде логического значения. Когда UseDeterministicExploitation установлен в true, действие с наибольшим правдоподобием всегда используется в sim и generatePolicyFunction, какой casues агент, чтобы вести себя детерминировано.

Когда UseDeterministicExploitation установлен в false, демонстрационные действия агента от вероятностных распределений, который заставляет агента вести себя стохастическим образом.

Шаг расчета агента в виде положительной скалярной величины.

В среде Simulink® агент выполняется каждый SampleTime секунды времени симуляции.

В среде MATLAB® агент выполняется каждый раз усовершенствования среды. Однако SampleTime временной интервал между последовательными элементами в выходном опыте, возвращенном sim или train.

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

Функции объекта

rlPPOAgentБлижайший агент обучения с подкреплением оптимизации политики

Примеры

свернуть все

Создайте объект опций агента PPO, задав горизонт опыта.

opt = rlPPOAgentOptions('ExperienceHorizon',256)
opt = 
  rlPPOAgentOptions with properties:

               ExperienceHorizon: 256
                   MiniBatchSize: 128
                      ClipFactor: 0.2000
               EntropyLossWeight: 0.0100
                        NumEpoch: 3
         AdvantageEstimateMethod: "gae"
                       GAEFactor: 0.9500
    UseDeterministicExploitation: 0
                      SampleTime: 1
                  DiscountFactor: 0.9900

Можно изменить опции с помощью записи через точку. Например, установите шаг расчета агента на 0.5.

opt.SampleTime = 0.5;
Введенный в R2019b