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