Опции для агента SAC
Используйте rlSACAgentOptions объект задать опции для агентов мягкого критика агента (SAC). Чтобы создать агента SAC, использовать rlSACAgent.
Для получения дополнительной информации смотрите Мягких Агентов Критика Агента.
Для получения дополнительной информации о различных типах агентов обучения с подкреплением смотрите Агентов Обучения с подкреплением.
создает объект опций для использования в качестве аргумента при создании агента SAC с помощью всех опций по умолчанию. Можно изменить свойства объектов с помощью записи через точку.opt = rlSACAgentOptions
EntropyWeightOptions — Настраивающие опции энтропииEntropyWeightOptions объектНастраивающие опции энтропии в виде EntropyWeightOptions объект со следующими свойствами.
EntropyWeight — Начальный энтропийный вес компонента (значение по умолчанию) | положительная скалярная величинаНачальный энтропийный вес компонента в виде положительной скалярной величины.
LearnRate — Скорость обучения оптимизатора3e-4 (значение по умолчанию) | неотрицательный скалярСкорость обучения оптимизатора в виде неотрицательного скаляра. Если LearnRate нуль, EntropyWeight значение фиксируется во время обучения и TargetEntropy значение проигнорировано.
TargetEntropy — Предназначайтесь для энтропийного значения[] (значение по умолчанию) | скалярПредназначайтесь для энтропийного значения для настройки энтропийного веса в виде скаляра. Более высокое целевое энтропийное значение поощряет больше исследования.
Если вы не задаете TargetEntropy, агент использует –A в качестве целевого значения, где A является количеством действий.
Optimizer — Оптимизатор для энтропийной настройки"adam" (значение по умолчанию) | "sgdm" | "rmsprop"Оптимизатор для энтропии, настраивающейся в виде одной из следующих строк.
"adam" — Используйте оптимизатор Адама. Можно задать уровни затухания градиента и скользящих средних значений градиента в квадрате с помощью GradientDecayFactor и SquaredGradientDecayFactor поля OptimizerParameters опция.
"sgdm" — Используйте стохастический градиентный спуск с оптимизатором импульса (SGDM). Можно задать значение импульса с помощью Momentum поле OptimizerParameters опция.
"rmsprop" — Используйте оптимизатор RMSProp. Можно задать уровень затухания скользящего среднего значения градиента в квадрате с помощью SquaredGradientDecayFactor поля OptimizerParameters опция.
Для получения дополнительной информации об этих оптимизаторах, смотрите Стохастический Градиентный спуск в Deep Learning Toolbox™.
GradientThreshold — Пороговое значение для градиентаInf (значение по умолчанию) | положительная скалярная величинаПороговое значение для энтропийного градиента в виде Inf или положительная скалярная величина. Если градиент превышает это значение, градиент отсекается.
OptimizerParameters — Применимые параметры для оптимизатораOptimizerParameters объектПрименимые параметры для оптимизатора в виде OptimizerParameters объект следующими параметрами. Значения параметров по умолчанию работают хорошо на большинство проблем.
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
Momentum | Вклад предыдущего шага в виде скаляра от 0 до 1. Значение 0 средних значений никакой вклад от предыдущего шага. Значение 1 среднего значения максимальный вклад. Этот параметр применяется только когда | 0.9 |
Epsilon | Знаменатель возмещен в виде положительной скалярной величины. Оптимизатор добавляет это смещение к знаменателю в сетевых обновлениях параметра, чтобы избежать деления на нуль. Этот параметр применяется только когда | 1e-8 |
GradientDecayFactor | Уровень затухания скользящего среднего значения градиента в виде положительной скалярной величины от 0 до 1. Этот параметр применяется только когда | 0.9 |
SquaredGradientDecayFactor | Уровень затухания скользящего среднего значения градиента в квадрате в виде положительной скалярной величины от 0 до 1. Этот параметр применяется только когда | 0.999 |
Когда конкретное свойство OptimizerParameters не применимо к типу оптимизатора, заданному в Optimizer опция, то свойство установлено в "Not applicable".
Чтобы изменить значения по умолчанию, получите доступ к свойствам OptimizerParameters использование записи через точку.
opt = rlSACAgentOptions; opt.EntropyWeightOptions.OptimizerParameters.GradientDecayFactor = 0.95;
PolicyUpdateFrequency — Количество шагов между обновлениями политики агента (значение по умолчанию) | положительное целое числоКоличество шагов между политикой агента обновляется в виде положительного целого числа. Для получения дополнительной информации смотрите Алгоритм настройки.
CriticUpdateFrequency — Количество шагов между обновлениями критика (значение по умолчанию) | положительное целое числоКоличество шагов между критиком обновляется в виде положительного целого числа. Для получения дополнительной информации смотрите Алгоритм настройки.
TargetUpdateFrequency — Количество шагов между целевыми обновлениями критика (значение по умолчанию) | положительное целое числоКоличество шагов между целевым критиком обновляется в виде положительного целого числа. Для получения дополнительной информации см. Целевые Методы Обновления.
UseDeterministicExploitation — Используйте действие с наибольшим правдоподобиемfalse (значение по умолчанию) | trueОпция, чтобы возвратить действие с наибольшим правдоподобием для симуляции и генерации политики в виде логического значения. Когда UseDeterministicExploitation установлен в true, действие с наибольшим правдоподобием всегда используется в sim и generatePolicyFunction, который заставляет агента вести себя детерминировано.
Когда UseDeterministicExploitation установлен в false, демонстрационные действия агента от вероятностных распределений, который заставляет агента вести себя стохастическим образом.
TargetSmoothFactor — Коэффициент сглаживания для целевых обновлений критика1e-3 (значение по умолчанию) | положительная скалярная величина, меньше чем или равная 1Коэффициент сглаживания для целевого критика обновляется в виде положительной скалярной величины, меньше чем или равной 1. Для получения дополнительной информации см. Целевые Методы Обновления.
SequenceLength — Максимальная пакетно-учебная длина траектории при использовании RNN (значение по умолчанию) | положительное целое числоМаксимальная пакетно-учебная длина траектории при использовании рекуррентной нейронной сети в виде положительного целого числа. Это значение должно быть больше 1 при использовании рекуррентной нейронной сети и 1 в противном случае.
MiniBatchSize — Размер случайного мини-пакета опыта (значение по умолчанию) | положительное целое числоРазмер случайного опыта мини-обрабатывает в пакетном режиме в виде положительного целого числа. Во время каждого эпизода тренировки агент случайным образом выборки испытывает от буфера опыта когда вычислительные градиенты для обновления агента и критиков. Большие мини-пакеты уменьшают отклонение, когда вычислительные градиенты, но увеличивают вычислительное усилие.
ResetExperienceBufferBeforeTraining — Опция для очистки буфера опытаtrue (значение по умолчанию) | falseОпция для очистки буфера опыта перед обучением в виде логического значения.
NumStepsToLookAhead — Количество будущих вознаграждений раньше оценивало значение политики (значение по умолчанию) | положительное целое числоКоличество будущих вознаграждений раньше оценивало значение политики в виде положительного целого числа. Для получения дополнительной информации см. [1], Глава 7.
Обратите внимание на то, что, если параллельное обучение включено (это то, если rlTrainingOptions объект опции, в который UseParallel свойство установлено в true передается train) затем NumStepsToLookAhead должен быть установлен в 1, в противном случае ошибка сгенерирована. Это гарантирует, что события хранятся непрерывно.
.
ExperienceBufferLength — Испытайте buffer size (значение по умолчанию) | положительное целое числоИспытайте buffer size в виде положительного целого числа. Во время обучения агент вычисляет обновления с помощью мини-пакета событий, случайным образом произведенных от буфера.
SampleTime — Шаг расчета агента (значение по умолчанию) | положительная скалярная величинаШаг расчета агента в виде положительной скалярной величины.
В Simulink® среда, агент выполняется каждый SampleTime секунды времени симуляции.
В MATLAB® среда, агент выполняется каждый раз усовершенствования среды. Однако SampleTime временной интервал между последовательными элементами в выходном опыте, возвращенном sim или train.
DiscountFactor — Коэффициент дисконтирования (значение по умолчанию) | положительная скалярная величина, меньше чем или равная 1Коэффициент дисконтирования применился к будущим вознаграждениям во время обучения в виде положительной скалярной величины, меньше чем или равной 1.
SaveExperienceBufferWithAgent — Опция для сохранения буфера опытаfalse (значение по умолчанию) | trueОпция для того, чтобы сохранить опыт буферизует данные при сохранении агента в виде логического значения. Эта опция применяется и при сохранении агентов кандидата во время обучения и при сохранении агентов с помощью save функция.
Для некоторых агентов, таких как те с большим опытом буферные и основанные на изображении наблюдения, память, требуемая для сохранения их буфера опыта, является большой. В таких случаях, чтобы не сохранить буферные данные об опыте, устанавливают SaveExperienceBufferWithAgent к false.
Если вы планируете далее обучить своего сохраненного агента, можно начать обучение с буфера предыдущего опыта как начальная точка. В этом случае установите SaveExperienceBufferWithAgent к true.
NumWarmStartSteps — Количество действий, чтобы взять перед обновляющимся агентом и критикомКоличество действий, чтобы взять перед обновляющимся агентом и критиками в виде положительного целого числа. По умолчанию, NumWarmStartSteps значение равно MiniBatchSize значение.
NumGradientStepsPerUpdate — Количество градиента продвигается при обновлении агента и критиков (значение по умолчанию) | положительное целое числоКоличество градиента продвигается, чтобы взять при обновлении агента и критиков в виде положительного целого числа.
rlSACAgent | Мягкий агент обучения с подкреплением критика агента |
Создайте объект опций агента SAC, задав коэффициент дисконтирования.
opt = rlSACAgentOptions('DiscountFactor',0.95)opt =
rlSACAgentOptions with properties:
EntropyWeightOptions: [1x1 rl.option.EntropyWeightOptions]
PolicyUpdateFrequency: 1
CriticUpdateFrequency: 1
NumWarmStartSteps: 64
NumGradientStepsPerUpdate: 1
UseDeterministicExploitation: 0
TargetSmoothFactor: 1.0000e-03
TargetUpdateFrequency: 1
ResetExperienceBufferBeforeTraining: 1
SaveExperienceBufferWithAgent: 0
SequenceLength: 1
MiniBatchSize: 64
NumStepsToLookAhead: 1
ExperienceBufferLength: 10000
SampleTime: 1
DiscountFactor: 0.9500
Можно изменить опции с помощью записи через точку. Например, установите шаг расчета агента на 0.5.
opt.SampleTime = 0.5;
Для агентов SAC сконфигурируйте энтропийный оптимизатор веса с помощью опций в EntropyWeightOptions. Например, установите целевое энтропийное значение к –5.
opt.EntropyWeightOptions.TargetEntropy = -5;
[1] Саттон, Ричард С. и Эндрю Г. Барто. Обучение с подкреплением: Введение. Второй выпуск. Адаптивный Расчет и Машинное обучение. Кембридж, Масса: Нажатие MIT, 2018.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.