Набор опций для представлений агента обучения с подкреплением (критики и агенты)
Используйте rlRepresentationOptions объект задать набор опций для критиков (rlValueRepresentation, rlQValueRepresentation) и агенты (rlDeterministicActorRepresentation, rlStochasticActorRepresentation).
создает набор опции по умолчанию, чтобы использовать в качестве последнего аргумента при создании агента обучения с подкреплением или критика. Можно изменить свойства объектов с помощью записи через точку.repOpts = rlRepresentationOptions
создает набор опций с заданными Свойствами с помощью одного или нескольких аргументов пары "имя-значение".repOpts = rlRepresentationOptions(Name,Value)
LearnRate — Скорость обучения для представления (значение по умолчанию) | положительная скалярная величинаСкорость обучения для представления в виде разделенной запятой пары, состоящей из 'LearnRate' и положительная скалярная величина. Если скорость обучения является слишком низкой, то обучение занимает много времени. Если скорость обучения слишком высока, то учебная сила достигает субоптимального результата или отличается.
Пример: 'LearnRate',0.025
Optimizer — Оптимизатор для представления"adam" (значение по умолчанию) | "sgdm" | "rmsprop"Оптимизатор для того, чтобы обучить сеть представления в виде разделенной запятой пары, состоящей из 'Optimizer' и одна из следующих строк:
"adam" — Используйте оптимизатор Адама. Можно задать уровни затухания градиента и скользящих средних значений градиента в квадрате с помощью GradientDecayFactor и SquaredGradientDecayFactor поля OptimizerParameters опция.
"sgdm" — Используйте стохастический градиентный спуск с оптимизатором импульса (SGDM). Можно задать значение импульса с помощью Momentum поле OptimizerParameters опция.
"rmsprop" — Используйте оптимизатор RMSProp. Можно задать уровень затухания скользящего среднего значения градиента в квадрате с помощью SquaredGradientDecayFactor поля OptimizerParameters опция.
Для получения дополнительной информации об этих оптимизаторах, смотрите Стохастический Градиентный спуск в разделе Algorithms trainingOptions в Deep Learning Toolbox™.
Пример: 'Optimizer',"sgdm"
OptimizerParameters — Применимые параметры для оптимизатора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 (значение по умолчанию) | положительная скалярная величинаПороговое значение для градиента представления в виде разделенной запятой пары, состоящей из 'GradientThreshold' и Inf или положительная скалярная величина. Если градиент превышает это значение, градиент отсекается, как задано GradientThresholdMethod опция. Усечение градиента ограничивает, сколько сетевые параметры изменяют в учебной итерации.
Пример: 'GradientThreshold',1
GradientThresholdMethod — Пороговый метод градиента"l2norm" (значение по умолчанию) | "global-l2norm" | "absolute-value"Пороговый метод градиента раньше отсекал значения градиента, которые превышают порог градиента в виде разделенной запятой пары, состоящей из 'GradientThresholdMethod' и одна из следующих строк:
"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 регуляризации (затухание веса) в виде разделенной запятой пары, состоящей из 'L2RegularizationFactor' и неотрицательный скаляр. Для получения дополнительной информации см. Регуляризацию L2 в разделе Algorithms trainingOptions в Deep Learning Toolbox.
Чтобы постараться не сверхсоответствовать при использовании представления многим параметрам, рассмотрите увеличение L2RegularizationFactor опция.
Пример: 'L2RegularizationFactor',0.0005
UseDevice — Устройство расчета для обучения"cpu" (значение по умолчанию) | "gpu"Устройство расчета для обучения агента, которое использует представление в виде разделенной запятой пары, состоящей из 'UseDevice' и любой "cpu" или "gpu".
"gpu" опция требует Parallel Computing Toolbox™. Чтобы использовать графический процессор для обучения сети, у вас должен также быть CUDA®, включенный NVIDIA®, графический процессор с вычисляет возможность 3.0 или выше.
Примечание
Обучение или симуляция агента на графическом процессоре включают специфичный для устройства числовой раунд от ошибок. Эти ошибки могут привести к различным результатам по сравнению с выполнением тех же операций центральный процессор.
Пример: '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
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.