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 к истине. Вместо этого при создании агента или представления критика, используйте rlRepresentationOptions объект, в который UseDevice опция установлена в "gpu".

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

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

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

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

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

Инициализация Randomizer для рабочих в виде одного следующее:

  • –1 — Присвойте уникальный случайный seed каждому рабочему. Значение seed является ID рабочего.

  • –2 — Не присваивайте случайный seed рабочим.

  • Вектор — Вручную указывает, что случайный seed для каждого работает. Число элементов в векторе должно совпадать с количеством рабочих.

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

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

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

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

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

simСимулируйте обученных агентов обучения с подкреплением в заданной среде

Примеры

свернуть все

Создайте набор опций для симуляции среды обучения с подкреплением. Определите номер шагов, чтобы симулировать к 1 000 и сконфигурировать опции, чтобы запустить три симуляции.

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

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