rlPPOAgentOptions

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

Описание

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

Для получения дополнительной информации об агентах PPO см. «Проксимальные агенты оптимизации политики».

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

Создание

Описание

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

пример

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

Свойства

расширить все

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

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

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

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

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

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

Здесь:

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

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

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

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

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

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

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

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

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

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

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

Коэффициент сглаживания для обобщенной оценки преимущества, заданный как скалярное значение между 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