rlDDPGAgentOptions

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

Описание

пример

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 имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

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

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

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

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

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

Для непрерывных сигналов действия важно установить шумовое отклонение соответственно поощрять исследование. Распространено иметь Variance*sqrt(Ts) будьте между 1% и 10% вашей области значений действия.

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

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

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