rlDDPGAgentOptions

Создайте опции для агента DDPG

Синтаксис

opt = rlDDPGAgentOptions
opt = rlDDPGAgentOptions(Name,Value)

Описание

пример

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

opt = rlDDPGAgentOptions(Name,Value) создает объект опций DDPG использование заданных пар "имя-значение", чтобы заменить значения свойств по умолчанию.

Примеры

свернуть все

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

opt = rlDDPGAgentOptions('MiniBatchSize',48)
opt = 

  rlDDPGAgentOptions with properties:

                           NoiseOptions: [1×1 rl.option.OrnsteinUhlenbeckActionNoise]
                     TargetSmoothFactor: 1.0000e-03
                  TargetUpdateFrequency: 4
                     TargetUpdateMethod: "smoothing"
    ResetExperienceBufferBeforeTraining: 1
          SaveExperienceBufferWithAgent: 0
                          MiniBatchSize: 48
                    NumStepsToLookAhead: 1
                 ExperienceBufferLength: 10000
                             SampleTime: 1
                         DiscountFactor: 0.9900

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

opt.SampleTime = 0.5;

Входные параметры

свернуть все

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: "MiniBatchSize",24

Опции для шума, заданного как пара, разделенная запятой, состоящая из 'NoiseOptions' и объекта OrnsteinUhlenbeckActionNoise, со следующими свойствами числового значения.

СвойствоОписание
InitialActionНачальное значение действия для шумовой модели
MeanШумовое образцовое среднее значение
MeanAttractionConstantПостоянное определение, как быстро шумовой образцовый вывод привлечен к среднему значению
VarianceШумовое образцовое отклонение
VarianceDecayRateУровень затухания отклонения
SampleTimeШаг расчета шумового образцового обновления

На каждом шаге шага расчета шумовая модель обновляется с помощью следующей формулы:

x(k) = x(k-1) + MeanAttractionConstant.*(Mean - x(k-1)).*SampleTime
       + Variance.*randn(size(Mean)).*sqrt(SampleTime)

Чтобы задать шумовые опции, используйте запись через точку после создания объекта rlDDPGAgentOptions. Например, установите шумовое среднее значение на 0.5.

opt = rlDDPGAgentOptions;
opt.NoiseModel.Mean = 0.5;

Для непрерывных сигналов действия важно установить шумовое отклонение правильно. Например, когда держащийся угол ограничен [-0.26,0.26] радианы, если вы установите шумовое отклонение на 0,5, затем агент ничего не изучит.

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

Сглаживание фактора для целевого агента и обновлений критика, заданных как пара, разделенная запятой, состоящая из 'TargetSmoothFactor' и двойного. Фактор сглаживания определяет, как целевые свойства обновляются, когда TargetUpdateMethod является "smoothing".

Количество эпизодов между целевым агентом и обновлениями критика, заданными как пара, разделенная запятой, состоящая из 'TargetUpdateFrequency' и числового целочисленного значения. Эта опция применяется только, когда TargetUpdateMethod является "periodic".

Стратегия обновления целевого агента и свойств критика с помощью значений от обученного агента и критика, заданного как пара, разделенная запятой, состоящая из 'TargetUpdateMethod' и одно из следующего:

  • "smoothing" — Обновите целевого агента и свойства критика, thetaTarget, в каждом учебном эпизоде согласно следующей формуле, где theta содержит обучившие сеть свойства тока.

    thetaTarget = TargetSmoothFactor*theta + (1 - TargetSmoothFactor)*thetaTarget
  • "periodic" — Обновите целевого агента и свойства критика каждое обучение TargetUpdateFrequency эпизоды.

Отметьте для очистки буфера опыта перед обучением, заданным как пара, разделенная запятой, состоящая из 'ResetExperienceBufferBeforeTraining' и логического true или false.

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

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

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

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

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

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

Шаг расчета агента, заданного как пара, разделенная запятой, состоящая из 'SampleTime' и числового значения.

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

Выходные аргументы

свернуть все

Опции агента DDPG, возвращенные как объект rlDDPGAgentOptions. Свойства объектов описаны в Аргументах в виде пар имя-значение.

Введенный в R2019a

Для просмотра документации необходимо авторизоваться на сайте