rlDDPGAgentOptions

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

Описание

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

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

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

Создание

Описание

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

пример

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

Свойства

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

Шумовые опции модели в виде OrnsteinUhlenbeckActionNoise объект. Для получения дополнительной информации о шумовой модели см. Шумовую Модель.

Для агента с несколькими действиями, если действия имеют различные области значений и модули, вероятно, что каждое действие требует различных шумовых параметров модели. Если действия имеют подобные области значений и модули, можно установить шумовые параметры для всех действий к тому же значению.

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

opt = rlDDPGAgentOptions;
opt.NoiseOptions.StandardDeviation = [0.1 0.2];
opt.NoiseOptions.StandardDeviationDecayRate = 1e-4;

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

Количество шагов между целевым агентом и критиком обновляется в виде положительного целого числа. Для получения дополнительной информации см. Целевые Методы Обновления.

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

Опция для того, чтобы сохранить опыт буферизует данные при сохранении агента в виде логического значения. Эта опция применяется и при сохранении агентов кандидата во время обучения и при сохранении агентов с помощью save функция.

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

Если вы планируете далее обучить своего сохраненного агента, можно начать обучение с буфера предыдущего опыта как начальная точка. В этом случае установите SaveExperienceBufferWithAgent к true.

Максимальная пакетно-учебная длина траектории при использовании рекуррентной нейронной сети в виде положительного целого числа. Это значение должно быть больше 1 при использовании рекуррентной нейронной сети и 1 в противном случае.

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

Количество будущих вознаграждений раньше оценивало значение политики в виде положительного целого числа. Для получения дополнительной информации см. [1], Глава 7.

Обратите внимание на то, что, если параллельное обучение включено (это то, если rlTrainingOptions объект опции, в который UseParallel свойство установлено в true передается train) затем NumStepsToLookAhead должен быть установлен в 1, в противном случае ошибка сгенерирована. Это гарантирует, что события хранятся непрерывно.

.

Испытайте buffer size в виде положительного целого числа. Во время обучения агент вычисляет обновления с помощью мини-пакета событий, случайным образом произведенных от буфера.

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

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

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

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

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

rlDDPGAgentГлубоко детерминированный агент обучения с подкреплением градиента политики

Примеры

свернуть все

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

Создайте rlDDPGAgentOptions объект, который задает мини-пакетный размер.

opt = rlDDPGAgentOptions('MiniBatchSize',48)
opt = 
  rlDDPGAgentOptions with properties:

                           NoiseOptions: [1x1 rl.option.OrnsteinUhlenbeckActionNoise]
                     TargetSmoothFactor: 1.0000e-03
                  TargetUpdateFrequency: 1
    ResetExperienceBufferBeforeTraining: 1
          SaveExperienceBufferWithAgent: 0
                         SequenceLength: 1
                          MiniBatchSize: 48
                    NumStepsToLookAhead: 1
                 ExperienceBufferLength: 10000
                             SampleTime: 1
                         DiscountFactor: 0.9900

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

opt.SampleTime = 0.5;

Алгоритмы

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

Вопросы совместимости

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

Поведение изменяется в R2021a

Поведение изменяется в R2020a

Ссылки

[1] Саттон, Ричард С. и Эндрю Г. Барто. Обучение с подкреплением: Введение. Второй выпуск. Адаптивный Расчет и Машинное обучение. Кембридж, Масса: Нажатие MIT, 2018.

Введенный в R2019a