Набор опций для представлений агента обучения с подкреплением (критики и агенты)
Используйте rlRepresentationOptions объект задать набор опций для критиков (rlValueRepresentation, rlQValueRepresentation) и агенты (rlDeterministicActorRepresentation, rlStochasticActorRepresentation).
создает набор опции по умолчанию, чтобы использовать в качестве последнего аргумента при создании агента обучения с подкреплением или критика. Можно изменить свойства объектов с помощью записи через точку.repOpts = rlRepresentationOptions
создает набор опций с заданными Свойствами с помощью одного или нескольких аргументов пары "имя-значение".repOpts = rlRepresentationOptions(Name,Value)
LearnRate — Скорость обучения для представления (значение по умолчанию) | положительная скалярная величинаСкорость обучения для представления в виде положительной скалярной величины. Если скорость обучения является слишком низкой, то обучение занимает много времени. Если скорость обучения слишком высока, то учебная сила достигает субоптимального результата или отличается.
Пример: 'LearnRate',0.025
Optimizer — Оптимизатор для представления"adam" (значение по умолчанию) | "sgdm" | "rmsprop"Оптимизатор для того, чтобы обучить сеть представления в виде одного из следующих значений.
"adam" — Используйте оптимизатор Адама. Можно задать уровни затухания градиента и скользящих средних значений градиента в квадрате с помощью GradientDecayFactor и SquaredGradientDecayFactor поля OptimizerParameters опция.
"sgdm" — Используйте стохастический градиентный спуск с оптимизатором импульса (SGDM). Можно задать значение импульса с помощью Momentum поле OptimizerParameters опция.
"rmsprop" — Используйте оптимизатор RMSProp. Можно задать уровень затухания скользящего среднего значения градиента в квадрате с помощью SquaredGradientDecayFactor поля OptimizerParameters опция.
Для получения дополнительной информации об этих оптимизаторах, смотрите Стохастический Градиентный спуск в разделе Algorithms trainingOptions в Deep Learning Toolbox™.
Пример: 'Optimizer',"sgdm"
OptimizerParameters — Применимые параметры для оптимизатораOptimizerParameters объектПрименимые параметры для оптимизатора в виде OptimizerParameters объект следующими параметрами.
| Параметр | Описание |
|---|---|
Momentum | Вклад предыдущего шага в виде скаляра от 0 до 1. Значение 0 средних значений никакой вклад от предыдущего шага. Значение 1 среднего значения максимальный вклад. Этот параметр применяется только когда |
Epsilon | Знаменатель возмещен в виде положительной скалярной величины. Оптимизатор добавляет это смещение к знаменателю в сетевых обновлениях параметра, чтобы избежать деления на нуль. Этот параметр применяется только когда |
GradientDecayFactor | Уровень затухания скользящего среднего значения градиента в виде положительной скалярной величины от 0 до 1. Этот параметр применяется только когда |
SquaredGradientDecayFactor | Уровень затухания скользящего среднего значения градиента в квадрате в виде положительной скалярной величины от 0 до 1. Этот параметр применяется только когда |
Когда конкретное свойство OptimizerParameters не применимо к типу оптимизатора, заданному в Optimizer опция, то свойство установлено в "Not applicable".
Чтобы изменить значения по умолчанию, создайте rlRepresentationOptions установите и используйте запись через точку, чтобы получить доступ и изменить свойства OptimizerParameters.
repOpts = rlRepresentationOptions; repOpts.OptimizerParameters.GradientDecayFactor = 0.95;
GradientThreshold — Пороговое значение для градиентаInf (значение по умолчанию) | положительная скалярная величинаПороговое значение для градиента представления в виде Inf или положительная скалярная величина. Если градиент превышает это значение, градиент отсекается, как задано GradientThresholdMethod опция. Усечение градиента ограничивает, сколько сетевые параметры изменяют в учебной итерации.
Пример: 'GradientThreshold',1
GradientThresholdMethod — Пороговый метод градиента"l2norm" (значение по умолчанию) | "global-l2norm" | "absolute-value"Пороговый метод градиента раньше отсекал значения градиента, которые превышают порог градиента в виде одного из следующих значений.
"l2norm" — Если L 2 нормы градиента настраиваемого параметра больше, чем GradientThreshold, затем масштабируйте градиент так, чтобы L 2 нормы равнялся GradientThreshold.
"global-l2norm" — Если глобальный L 2 нормы, L, больше, чем GradientThreshold, затем масштабируйте все градиенты на коэффициент GradientThreshold/L. Глобальный L 2 нормы рассматривает все настраиваемые параметры.
"absolute-value" — Если абсолютное значение отдельной частной производной в градиенте настраиваемого параметра больше, чем GradientThreshold, затем масштабируйте частную производную, чтобы иметь величину, равную GradientThreshold и сохраните знак частной производной.
Для получения дополнительной информации смотрите, что Градиент Отсекает в разделе Algorithms trainingOptions в Deep Learning Toolbox.
Пример: 'GradientThresholdMethod',"absolute-value"
L2RegularizationFactor — Фактор для L 2 регуляризацииФактор для L 2 регуляризации (затухание веса) в виде неотрицательного скаляра. Для получения дополнительной информации см. Регуляризацию L2 в разделе Algorithms trainingOptions в Deep Learning Toolbox.
Чтобы постараться не сверхсоответствовать при использовании представления многим параметрам, рассмотрите увеличение L2RegularizationFactor опция.
Пример: 'L2RegularizationFactor',0.0005
UseDevice — Устройство расчета для обучения"cpu" (значение по умолчанию) | "gpu"Устройство расчета раньше выполняло операции глубокой нейронной сети, такие как расчет градиента, обновление параметра и предсказание во время обучения. Это задано как любой "cpu" или "gpu".
"gpu" опция требует и программного обеспечения Parallel Computing Toolbox™ и CUDA® активированный NVIDIA® Графический процессор. Для получения дополнительной информации о поддерживаемых графических процессорах смотрите Поддержку графического процессора Релизом (Parallel Computing Toolbox).
Можно использовать gpuDevice (Parallel Computing Toolbox), чтобы запросить или выбрать локальное устройство графического процессора, которое будет использоваться с MATLAB®.
Примечание
Обучение или симуляция агента на графическом процессоре включают специфичный для устройства числовой раунд от ошибок. Эти ошибки могут привести к различным результатам по сравнению с выполнением тех же операций центральный процессор.
Обратите внимание на то, что, если вы хотите использовать параллельную обработку, чтобы ускорить обучение, вы не должны устанавливать UseDevice. Вместо этого когда обучение ваш агент, используйте rlTrainingOptions объект, в который UseParallel опция установлена в true. Для получения дополнительной информации об обучении с помощью многоядерных процессоров и графических процессоров для обучения, смотрите, Обучают Агентов Используя Параллельные вычисления и графические процессоры.
Пример: 'UseDevice',"gpu"
rlValueRepresentation | Представление критика функции ценности для агентов обучения с подкреплением |
rlQValueRepresentation | Представление критика Q-функции-ценности для агентов обучения с подкреплением |
rlDeterministicActorRepresentation | Детерминированное представление актера для агентов обучения с подкреплением |
rlStochasticActorRepresentation | Стохастическое представление актера для агентов обучения с подкреплением |
Создайте набор опций для создания критика или представления актера для агента обучения с подкреплением. Установите скорость обучения для представления 0,05 и установите порог градиента к 1. Можно определить опции с помощью Имени, пар Значения, когда вы создаете набор опций. Любые опции, которые вы явным образом не устанавливаете, имеют свои значения по умолчанию.
repOpts = rlRepresentationOptions('LearnRate',5e-2,... 'GradientThreshold',1)
repOpts =
rlRepresentationOptions with properties:
LearnRate: 0.0500
GradientThreshold: 1
GradientThresholdMethod: "l2norm"
L2RegularizationFactor: 1.0000e-04
UseDevice: "cpu"
Optimizer: "adam"
OptimizerParameters: [1x1 rl.option.OptimizerParameters]
В качестве альтернативы создайте набор опций по умолчанию и используйте запись через точку, чтобы изменить некоторые значения.
repOpts = rlRepresentationOptions; repOpts.LearnRate = 5e-2; repOpts.GradientThreshold = 1
repOpts =
rlRepresentationOptions with properties:
LearnRate: 0.0500
GradientThreshold: 1
GradientThresholdMethod: "l2norm"
L2RegularizationFactor: 1.0000e-04
UseDevice: "cpu"
Optimizer: "adam"
OptimizerParameters: [1x1 rl.option.OptimizerParameters]
Если вы хотите изменить свойства OptimizerParameters опция, используйте запись через точку, чтобы получить доступ к ним.
repOpts.OptimizerParameters.Epsilon = 1e-7; repOpts.OptimizerParameters
ans =
OptimizerParameters with properties:
Momentum: "Not applicable"
Epsilon: 1.0000e-07
GradientDecayFactor: 0.9000
SquaredGradientDecayFactor: 0.9990
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.