exponenta event banner

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=E∑k=1Mμk (St 'ü

Здесь:

  • E - вес потери энтропии.

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

  • мкК (St 'startλ) - вероятность осуществления действия Ak, когда в состоянии St следует текущей политике.

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

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

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

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

Способ оценки значений преимуществ, указанный как одно из следующих:

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

  • "finite-horizon" - Оценка конечных горизонтов

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

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

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

Когда 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