exponenta event banner

rlPGAgentOptions

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

Описание

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

Дополнительные сведения об агентах PG см. в разделе «Агенты градиента политики».

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

Создание

Описание

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

пример

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

Свойства

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

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

В целом для более простых задач с более мелкими сетями актёра агенты PG работают лучше без базовой линии.

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

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

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

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

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

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

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

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

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

Здесь:

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

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

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

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

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

rlPGAgentАгент обучения с подкреплением с градиентом политики

Примеры

свернуть все

В этом примере показано, как создать и изменить объект опций агента PG.

Создайте объект опций агента PG, определяющий коэффициент скидки.

opt = rlPGAgentOptions('DiscountFactor',0.9)
opt = 
  rlPGAgentOptions with properties:

                     UseBaseline: 1
               EntropyLossWeight: 0
    UseDeterministicExploitation: 0
                      SampleTime: 1
                  DiscountFactor: 0.9000

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

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