exponenta event banner

rlSimulationOptions

Варианты моделирования агента обучения усилению в среде

Описание

Использовать rlSimulationOptions задание параметров моделирования для моделирования агента обучения армированию в среде. Для выполнения моделирования используйте sim.

Дополнительные сведения об обучении агентов и моделировании см. в разделе Обучение агентов обучения усилению.

Создание

Описание

simOpts = rlSimulationOptions возвращает параметры по умолчанию для моделирования среды обучения усилению по отношению к агенту. Используйте параметры моделирования, чтобы задать параметры моделирования, такие как максимальное количество шагов для каждого моделирования и количество запускаемых моделирований. После настройки параметров используйте simOpts в качестве входного аргумента для sim.

пример

opt = rlSimulationOptions(Name,Value) создает набор параметров моделирования с указанными свойствами, используя один или несколько аргументов пары имя-значение.

Свойства

развернуть все

Количество шагов для выполнения моделирования, указанное как пара, разделенная запятыми, состоящая из 'MaxSteps' и положительное целое число. Как правило, условия завершения эпизода определяются в среде. Это значение является максимальным количеством шагов для выполнения в моделировании, если эти условия завершения не выполняются.

Пример: 'MaxSteps',1000

Количество запускаемых имитаций, указанных как пара, разделенная запятыми, состоящая из 'NumSimulations' и положительное целое число. В начале каждого моделирования sim сбрасывает среду. При создании среды необходимо указать, что происходит при сбросе среды. Например, сброс среды в начале каждого эпизода может включать рандомизацию начальных значений состояния, если вы настраиваете среду для этого. В этом случае выполнение нескольких симуляций позволяет проверить производительность обучаемого агента в диапазоне начальных условий.

Пример: 'NumSimulations',10

Остановить моделирование при возникновении ошибки, указанной как "off" или "on". Когда этот параметр "off", ошибки фиксируются и возвращаются в SimulationInfo вывод simи моделирование продолжается.

Флаг для использования параллельного моделирования, указанный как logical. Установка для этого параметра значения true настраивает моделирование на использование параллельной обработки для моделирования среды, тем самым позволяя использовать несколько ядер, процессоров, компьютерных кластеров или облачных ресурсов для ускорения моделирования. Чтобы задать параметры параллельного моделирования, используйте команду ParallelizationOptions собственность.

Обратите внимание, что для ускорения глубоких вычислений нейронной сети (таких как вычисление градиента, обновление параметров и прогнозирование) с помощью локального графического процессора устанавливать не требуется UseParallel к true. Вместо этого при создании своего представления актера или критика используйте rlRepresentationOptions объект, в котором UseDevice параметр имеет значение "gpu".

Для использования параллельных вычислений или графического процессора требуется программное обеспечение Parallel Computing Toolbox™. Для использования компьютерных кластеров или облачных ресурсов дополнительно требуется приложение MATLAB ® Parallel Server™.

Дополнительные сведения об обучении работе с многоядерными процессорами и графическими процессорами см. в разделе Обучение агентов работе с параллельными вычислениями и графическими процессорами.

Пример: 'UseParallel',true

Параметры параллелизма для управления параллельным моделированием, указанные как ParallelTraining объект. Дополнительные сведения об обучении с использованием параллельных вычислений см. в разделе Обучение агентов обучения усилению.

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

Инициализация рандомизатора для работников, указанная следующим образом:

  • –1 - назначьте каждому работнику уникальное случайное начальное число. Значением начального числа является идентификатор работника.

  • –2 - Не присваивайте работникам случайное семя.

  • Вектор (Vector) - вручную указать случайное начальное число для каждой работы. Число элементов в векторе должно соответствовать числу работников.

Отправка переменных модели и рабочей области параллельным работникам, указанным как "on" или "off". Когда опция "on", хост отправляет рабочим переменные, используемые в моделях и определенные в базовой рабочей области MATLAB.

Дополнительные файлы для присоединения к параллельному пулу, заданному как строковый или строковый массив.

Функция для запуска перед запуском моделирования, заданная как дескриптор функции, не имеющей входных аргументов. Эта функция выполняется один раз для каждого работника перед началом моделирования. Запишите эту функцию для выполнения любой обработки, необходимой перед моделированием.

Функция для выполнения после завершения моделирования, заданная как дескриптор функции, не имеющей входных аргументов. Эту функцию можно записать для очистки рабочей области или выполнения другой обработки после завершения моделирования.

Функции объекта

simМоделирование обученных агентов по обучению подкреплению в определенной среде

Примеры

свернуть все

Создайте набор опций для моделирования среды обучения армированию. Задайте 1000 шагов для моделирования и настройте параметры для выполнения трех моделирований.

При создании набора опций можно задать опции с помощью пар Наименование (Name) и Значение (Value). Значения по умолчанию для всех параметров, которые явно не заданы.

simOpts = rlSimulationOptions(...
    'MaxSteps',1000,...
    'NumSimulations',3)
simOpts = 
  rlSimulationOptions with properties:

                  MaxSteps: 1000
            NumSimulations: 3
               StopOnError: "on"
               UseParallel: 0
    ParallelizationOptions: [1x1 rl.option.ParallelSimulation]

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

simOpts = rlSimulationOptions;
simOpts.MaxSteps = 1000;
simOpts.NumSimulations = 3;

simOpts
simOpts = 
  rlSimulationOptions with properties:

                  MaxSteps: 1000
            NumSimulations: 3
               StopOnError: "on"
               UseParallel: 0
    ParallelizationOptions: [1x1 rl.option.ParallelSimulation]

Представлен в R2019a