Создайте опции для агента DQN
создает opt
= rlDQNAgentOptionsrlDQNAgentOptions
объект для использования в качестве аргумента при создании агента DQN с помощью всех настроек по умолчанию. Можно изменить свойства объектов с помощью записи через точку.
создает объект опций DQN использование заданных пар "имя-значение", чтобы заменить значения свойств по умолчанию.opt
= rlDQNAgentOptions(Name,Value
)
Создайте rlDQNAgentOptions
объект, который задает размер мини-пакета агента.
opt = rlDQNAgentOptions('MiniBatchSize',48)
opt = rlDQNAgentOptions with properties: UseDoubleDQN: 1 EpsilonGreedyExploration: [1×1 rl.option.EpsilonGreedyExploration] 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
.
"UseDoubleDQN",false
'UseDoubleDQN'
— Отметьте для использования двойного DQNОтметьте для использования двойного DQN для целевых обновлений функции значения, заданных как разделенная запятой пара, состоящая из 'UseDoubleDQN'
и логический true
или false
. Поскольку большая часть приложения установила UseDoubleDQN
к "on"
. Для получения дополнительной информации смотрите Глубоких Агентов Q-сети.
'EpsilonGreedyExploration'
— Опции для эпсилон-жадного исследованияEpsilonGreedyExploration
объектОпции для эпсилон-жадного исследования, заданного как разделенная запятой пара, состоящая из 'EpsilonGreedyExploration'
и EpsilonGreedyExploration
объект со следующими свойствами числового значения.
Свойство | Описание |
---|---|
Epsilon | Порог вероятности или к случайным образом выбирает действие или выбирает действие, которое максимизирует функцию значения акта государственной власти. Большее значение Epsilon средние значения, что агент случайным образом исследует пробел действия на более высоком уровне. |
EpsilonMin | Минимальное значение Epsilon |
EpsilonDecay | Уровень затухания |
В конце каждого учебного временного шага, если Epsilon
больше EpsilonMin
, затем это обновляется с помощью следующей формулы.
Epsilon = Epsilon*(1-EpsilonDecay)
Чтобы задать опции исследования, используйте запись через точку после создания rlDQNAgentOptions
объект. Например, установите значение эпсилона к 0.9
.
opt = rlDQNAgentOptions; opt.EpsilonGreedyExploration.Epsilon = 0.9;
Если ваш агент сходится на локальных оптимумах слишком быстро, способствуйте исследованию агента путем увеличения Epsilon
.
'TargetSmoothFactor'
— Сглаживание фактора для целевых обновлений1e-3
(значение по умолчанию) | дваждыСглаживание фактора для целевых обновлений критика, заданных как разделенная запятой пара, состоящая из 'TargetSmoothFactor'
и двойное. Фактор сглаживания определяет, как целевые свойства критика обновляются когда TargetUpdateMethod
"smoothing"
.
'TargetUpdateFrequency'
— Количество эпизодов между целевыми обновлениями
(значение по умолчанию) | числовое значениеКоличество эпизодов между целевыми обновлениями критика, заданными как разделенная запятой пара, состоящая из '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'
— Размер случайного мини-пакета опыта
(значение по умолчанию) | числовое значениеРазмер случайного мини-пакета опыта, заданного как разделенная запятой пара, состоящая из 'MiniBatchSize'
и положительное числовое значение. Во время каждого эпизода тренировки агент случайным образом выборки испытывает от буфера опыта когда вычислительные градиенты для обновления свойства критика и агент.
'NumStepsToLookAhead'
— Количество шагов вперед
(значение по умолчанию) | числовое значениеКоличество шагов, чтобы смотреть вперед во время обучения, заданного как разделенная запятой пара, состоящая из 'NumStepsToLookAhead'
и числовое положительное целочисленное значение.
'ExperienceBufferLength'
— Испытайте buffer size
(значение по умолчанию) | числовое значениеИспытайте buffer size, заданный как разделенная запятой пара, состоящая из 'ExperienceBufferLength'
и числовое положительное целочисленное значение. Во время обучения агент обновляет критика, использующего мини-пакет событий, случайным образом произведенных от буфера.
В общем случае агенты должны учиться и на хорошем и на неудачном опыте. Задайте buffer size опыта, который может сохранить достаточно опыта для изучения.
'SampleTime'
— Шаг расчета агента
(значение по умолчанию) | числовое значениеШаг расчета агента, заданного как разделенная запятой пара, состоящая из 'SampleTime'
и числовое значение.
'DiscountFactor'
— Коэффициент дисконтирования применился к вознаграждениям
(значение по умолчанию) | числовое значениеКоэффициент дисконтирования применился к будущим вознаграждениям во время обучения, заданного как разделенная запятой пара, состоящая из 'DiscountFactor'
и положительное числовое значение, меньше чем или равное 1.
opt
— Опции агента DQNrlDQNAgentOptions
объектОпции агента DQN, возвращенные как rlDQNAgentOptions
объект. Свойства объектов описаны в Аргументах в виде пар имя-значение.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.