Создайте опции для агента DDPG
opt = rlDDPGAgentOptions
opt = rlDDPGAgentOptions(Name,Value)
создает объект opt
= rlDDPGAgentOptionsrlDDPGAgentOptions
для использования в качестве аргумента при создании агента DDPG с помощью всех опций по умолчанию. Можно изменить свойства объектов с помощью записи через точку.
создает объект опций DDPG использование заданных пар "имя-значение", чтобы заменить значения свойств по умолчанию.opt
= rlDDPGAgentOptions(Name,Value
)
Создайте объект 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
Опции для шума, заданного как пара, разделенная запятой, состоящая из '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'
— Сглаживание фактора для целевых обновлений1e-3
(значение по умолчанию) | дваждыСглаживание фактора для целевого агента и обновлений критика, заданных как пара, разделенная запятой, состоящая из 'TargetSmoothFactor'
и двойного. Фактор сглаживания определяет, как целевые свойства обновляются, когда TargetUpdateMethod
является "smoothing"
.
'TargetUpdateFrequency'
— Количество эпизодов между целевыми обновлениями4
(значение по умолчанию) | числовое значениеКоличество эпизодов между целевым агентом и обновлениями критика, заданными как пара, разделенная запятой, состоящая из 'TargetUpdateFrequency'
и числового целочисленного значения. Эта опция применяется только, когда TargetUpdateMethod
является "periodic"
.
'TargetUpdateMethod'
— Стратегия обновления целевого агента и свойств критика"smoothing"
(значение по умолчанию) | "periodic"
Стратегия обновления целевого агента и свойств критика с помощью значений от обученного агента и критика, заданного как пара, разделенная запятой, состоящая из 'TargetUpdateMethod'
и одно из следующего:
"smoothing"
— Обновите целевого агента и свойства критика, thetaTarget
, в каждом учебном эпизоде согласно следующей формуле, где theta
содержит обучившие сеть свойства тока.
thetaTarget = TargetSmoothFactor*theta + (1 - TargetSmoothFactor)*thetaTarget
"periodic"
— Обновите целевого агента и свойства критика каждое обучение TargetUpdateFrequency
эпизоды.
'ResetExperienceBufferBeforeTraining'
— Отметьте для очистки буфера опытаtrue
(значение по умолчанию) | false
Отметьте для очистки буфера опыта перед обучением, заданным как пара, разделенная запятой, состоящая из 'ResetExperienceBufferBeforeTraining'
и логического true
или false
.
'SaveExperienceBufferWithAgent'
— Отметьте для сохранения буфера опытаfalse
(значение по умолчанию) | true
Отметьте для того, чтобы сохранить буферные данные об опыте при сохранении агента, заданного как пара, разделенная запятой, состоящая из 'SaveExperienceBufferWithAgent'
и логического true
или false
. Эта опция применяется и при сохранении агентов кандидата во время обучения и при сохранении агентов с помощью функции save
.
Для некоторых агентов, таких как те с большим опытом буферные и основанные на изображении наблюдения, память, требуемая для сохранения их буфера опыта, является большой. В таких случаях, чтобы не сохранить буферные данные об опыте, устанавливают SaveExperienceBufferWithAgent
на false
.
Если вы планируете далее обучить свой сохраненный агент, можно запустить обучение с буфера предыдущего опыта как отправная точка. В этом случае установите SaveExperienceBufferWithAgent
на true
.
'MiniBatchSize'
— Размер случайного мини-пакета опыта64
(значение по умолчанию) | числовое значениеРазмер случайного мини-пакета опыта, заданного как пара, разделенная запятой, состоящая из 'MiniBatchSize'
и положительного числового значения. Во время каждого учебного эпизода агент случайным образом выборки испытывает от буфера опыта когда вычислительные градиенты для обновления свойств критика. Большие мини-пакеты уменьшают отклонение, когда вычислительные градиенты, но увеличивают вычислительное усилие.
'NumStepsToLookAhead'
— Количество шагов вперед1
(значение по умолчанию) | числовое значениеКоличество шагов, чтобы смотреть вперед во время обучения, заданного как пара, разделенная запятой, состоящая из 'NumStepsToLookAhead'
и числового положительного целочисленного значения.
'ExperienceBufferLength'
— Испытайте buffer size10000
(значение по умолчанию) | числовое значениеИспытайте buffer size, заданный как пара, разделенная запятой, состоящая из 'ExperienceBufferLength'
и числового положительного целочисленного значения. Во время обучения агент обновляет агента и критика, использующего мини-пакет событий, случайным образом выбранных от буфера.
'SampleTime'
Шаг расчета агента1
(значение по умолчанию) | числовое значениеШаг расчета агента, заданного как пара, разделенная запятой, состоящая из 'SampleTime'
и числового значения.
'DiscountFactor'
— Коэффициент дисконтирования0.99
(значение по умолчанию) | числовое значениеКоэффициент дисконтирования применился к будущим вознаграждениям во время обучения, заданного как пара, разделенная запятой, состоящая из 'DiscountFactor'
и положительного числового значения, меньше чем или равного 1.
opt
— Опции агента DDPGrlDDPGAgentOptions
Опции агента DDPG, возвращенные как объект rlDDPGAgentOptions
. Свойства объектов описаны в Аргументах в виде пар имя-значение.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.