rlRepresentationOptions

Создайте опции для укрепления, изучив представления агента

Синтаксис

repOpts = rlRepresentationOptions
repOpts = rlRepresentationOptions(Name,Value)

Описание

пример

repOpts = rlRepresentationOptions возвращает опции по умолчанию для определения представления для агента изучения укрепления.

пример

repOpts = rlRepresentationOptions(Name,Value) набор опции с помощью заданных пар "имя-значение", чтобы заменить значения опции по умолчанию.

Примеры

свернуть все

Создайте набор опций для создания критика или представления агента для агента изучения укрепления. Установите темп обучения для представления 0,05 и установите порог градиента к 1. Можно определить опции с помощью Имени, пар Значения, когда вы создаете набор опций. Любые опции, которые вы явным образом не устанавливаете, имеют свои значения по умолчанию.

repOpts = rlRepresentationOptions('LearnRate',5e-2,...
                                  'GradientThreshold',1)
repOpts = 
  rlRepresentationOptions with properties:

                  LearnRate: 0.0500
                  Optimizer: "adam"
        OptimizerParameters: [1×1 rl.option.OptimizerParameters]
          GradientThreshold: 1
    GradientThresholdMethod: "l2norm"
     L2RegularizationFactor: 1
                  UseDevice: "CPU"
              MiniBatchSize: Inf

Также создайте набор опций по умолчанию и используйте запись через точку, чтобы изменить некоторые значения.

repOpts = rlRepresentationOptions;
repOpts.LearnRate = 5e-2;
repOpts.GradientThreshold = 1
repOpts = 
  rlRepresentationOptions with properties:

                  LearnRate: 0.0500
                  Optimizer: "adam"
        OptimizerParameters: [1×1 rl.option.OptimizerParameters]
          GradientThreshold: 1
    GradientThresholdMethod: "l2norm"
     L2RegularizationFactor: 1
                  UseDevice: "CPU"
              MiniBatchSize: Inf

Если вы хотите изменить свойства опции 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

Входные параметры

свернуть все

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Optimizer',"rmsprop"

Темп обучения для представления, заданного как пара, разделенная запятой, состоящая из 'LearnRate' и положительной скалярной величины. Если темп обучения является слишком низким, то обучение занимает много времени. Если темп обучения слишком высок, то учебная сила достигает субоптимального результата или отличается.

Пример: 'LearnRate',0.025

Оптимизатор для того, чтобы обучить сеть представления, заданного как пара, разделенная запятой, состоящая из 'Optimizer' и одна из следующих строк:

  • "adam" — Используйте оптимизатор Адама. Можно задать уровни затухания градиента и скользящих средних значений градиента в квадрате с помощью полей GradientDecayFactor и SquaredGradientDecayFactor опции OptimizerParameters.

  • "sgdm" — Используйте стохастический спуск градиента с импульсом (SGDM) оптимизатор. Можно задать значение импульса с помощью поля Momentum опции OptimizerParameters.

  • "rmsprop" — Используйте оптимизатор RMSProp. Можно задать уровень затухания скользящего среднего значения градиента в квадрате с помощью полей SquaredGradientDecayFactor опции OptimizerParameters.

Для получения дополнительной информации об этих оптимизаторах, смотрите Стохастический Спуск Градиента (Deep Learning Toolbox) в разделе Algorithms trainingOptions в Deep Learning Toolbox™.

Пример: 'Optimizer',"sgdm"

Применимые параметры для оптимизатора, заданного как пара, разделенная запятой, состоящая из 'OptimizerParameters' и объекта OptimizerParameters.

Объект OptimizerParameters имеет следующие свойства.

  
Momentum

Вклад предыдущего шага, заданного как скаляр от 0 до 1. Значение 0 средних значений никакой вклад от предыдущего шага. Значение 1 среднего значения максимальный вклад.

Этот параметр применяется только, когда Optimizer является "sgdm". В этом случае значение по умолчанию 0.9. Это значение по умолчанию работает хорошо на большинство проблем.

Epsilon

Смещение знаменателя, заданное как положительная скалярная величина. Оптимизатор добавляет это смещение в знаменатель в сетевых обновлениях параметра, чтобы избежать деления на нуль.

Этот параметр применяется только, когда Optimizer является "adam" или rmsprop. В этом случае значение по умолчанию 10–8. Это значение по умолчанию работает хорошо на большинство проблем.

GradientDecayFactor

Уровень затухания скользящего среднего значения градиента, заданного как положительная скалярная величина от 0 до 1.

Этот параметр применяется только, когда Optimizer является "adam". В этом случае значение по умолчанию 0.9. Это значение по умолчанию работает хорошо на большинство проблем.

SquaredGradientDecayFactor

Уровень затухания скользящего среднего значения градиента в квадрате, заданного как положительная скалярная величина от 0 до 1.

Этот параметр применяется только, когда Optimizer является "adam" или "rmsprop". В этом случае значение по умолчанию 0.999. Это значение по умолчанию работает хорошо на большинство проблем.

Когда конкретное свойство OptimizerParameters не применимо к типу оптимизатора, заданному в опции Optimizer, то свойство установлено в "Not applicable".

Чтобы изменить значения по умолчанию, создайте набор rlRepresentationOptions и используйте запись через точку, чтобы получить доступ и изменить свойства OptimizerParameters.

repOpts = rlRepresentationOptions;
repOpts.OptimizerParameters.Epsilon = 1e-7;

Пороговое значение для градиента представления, заданного как пара, разделенная запятой, состоящая из 'GradientThreshold' и Inf или положительной скалярной величины. Если градиент превышает это значение, градиент отсекается, как задано GradientThresholdOption. Усечение градиента ограничивает, сколько сетевые параметры изменяют в учебной итерации.

Пример: 'GradientThreshold',1

Пороговый метод градиента раньше отсекал значения градиента, которые превышают порог градиента, заданный как пара, разделенная запятой, состоящая из 'GradientThresholdMethod' и одна из следующих строк:

  • "l2norm" — Если L, 2 нормы градиента learnable параметра больше, чем GradientThreshold, то масштабируют градиент так, чтобы L 2 нормы равнялся GradientThreshold.

  • "global-l2norm" — Если глобальный L, 2 нормы, L, больше, чем GradientThreshold, то масштабирует все градиенты фактором GradientThreshold/ L. Глобальный L 2 нормы рассматривает все learnable параметры.

  • Абсолютное значение Если абсолютное значение отдельной частной производной в градиенте learnable параметра больше, чем GradientThreshold, то масштабируйте частную производную, чтобы иметь значение, равное GradientThreshold и сохранить знак частной производной.

Для получения дополнительной информации смотрите, что Градиент Отсекает (Deep Learning Toolbox) в разделе Algorithms trainingOptions в Deep Learning Toolbox.

Пример: 'GradientThresholdMethod',"absolute-value"

Фактор для L 2 регуляризации (затухание веса), заданный как пара, разделенная запятой, состоящая из 'L2RegularizationFactor' и неотрицательного скаляра. Для получения дополнительной информации см. Регуляризацию L2 (Deep Learning Toolbox) в разделе Algorithms trainingOptions в Deep Learning Toolbox.

Чтобы постараться не сверхсоответствовать при использовании представления многим параметрам, рассмотрите увеличение опции L2RegularizationFactor.

Пример: 'L2RegularizationFactor',0.0005

Устройство вычисления для обучения агент, который использует представление, заданное как пара, разделенная запятой, состоящая из 'UseDevice' и или "cpu" или "gpu".

Опция "gpu" требует Parallel Computing Toolbox™. Чтобы использовать графический процессор для того, чтобы обучить сеть, у вас должен также быть CUDA®, включенный NVIDIA®, графический процессор с вычисляет возможность 3.0 или выше.

Пример: 'UseDevice',"gpu"

Выходные аргументы

свернуть все

Набор опции для определения представления для агента изучения укрепления., возвратился как объект rlRepresentationgOptions. Значения свойств repOpts инициализируются к значениям по умолчанию или к значениям, которые вы задаете с парами Name,Value. Можно далее изменить значения свойств с помощью записи через точку. Используйте набор опций в качестве входного параметра с rlRepresentation, когда вы создадите представления изучения укрепления.

Смотрите также

Функции

Введенный в R2019a

Для просмотра документации необходимо авторизоваться на сайте