Задайте опции обучения в Reinforcement Learning Designer

Чтобы настроить обучение агента в приложении Reinforcement Learning Designer, задайте опции обучения на вкладке Train.

Specify training options on the Train tab.

Задайте основные опции

На вкладке Train можно задать следующие основные опции обучения.

ОпцияОписание
Max EpisodesМаксимальное количество эпизодов для обучения агента, заданное как положительное целое число.
Max Episode LengthМаксимальное количество шагов для запуска в каждом эпизоде, заданное как положительное целое число.
Stopping Criteria

Условие завершения обучения, заданное как одно из следующих значений.

  • AverageSteps - Остановите обучение, когда среднее количество шагов на эпизод равняется или превышает критическое значение, заданное Stopping Value.

  • AverageReward - Остановите обучение, когда текущее среднее вознаграждение равняется или превышает критическое значение.

  • EpisodeReward - Остановите обучение, когда вознаграждение в текущем эпизоде равняется или превышает критическое значение.

  • GlobalStepCount - Остановите обучение, когда общее количество шагов во всех эпизодах (общее количество раз, когда вызывается агент) равняется или превышает критическое значение.

  • EpisodeCount - Остановите обучение, когда количество эпизодов тренировки равняется или превышает критическое значение.

Stopping ValueКритическое значение условия завершения обучения в Stopping Criteria, заданное как скаляр.
Average Window LengthДлина окна для усреднения счетов, вознаграждений и количества шагов для агента при Stopping Criteria или Save agent criteria задании условия усреднения.

Задайте дополнительные опции

Чтобы задать дополнительные опции обучения, на вкладке Train нажмите More Options.

В диалоговом окне «Дополнительные опции обучения» можно задать следующие опции.

ОпцияОписание
Save agent criteria

Условие сохранения агентов во время обучения, заданное как одно из следующих значений.

  • none - Не сохраняйте агентов во время обучения.

  • AverageSteps - Сохраните агент, когда среднее количество шагов на эпизод равняется или превышает критическое значение, заданное Save agent value.

  • AverageReward - Сохраните агента, когда текущее среднее вознаграждение равняется или превышает критическое значение.

  • EpisodeReward - Сохраните агента, когда вознаграждение в текущем эпизоде равняется или превышает критическое значение.

  • GlobalStepCount - Сохраните агент, когда общее количество шагов во всех эпизодах (общее количество раз, когда вызывается агент) равняется или превышает критическое значение.

  • EpisodeCount - Сохраните агента, когда количество эпизодов тренировки равняется или превышает критическое значение.

Save agent valueКритическое значение условия агента сохранения в Save agent criteria, заданное как скаляр или "none".
Save directory

Папка для сохраненных агентов. Если вы задаете имя, а папка не существует, приложение создает папку в текущей рабочей директории.

Чтобы в интерактивном режиме выбрать папку, нажмите Browse.

Show verbose outputВыберите эту опцию, чтобы отобразить процесс обучения в командной строке.
Stop on ErrorВыберите эту опцию, чтобы остановить обучение, когда ошибка возникает во время эпизода.
Training plot

Опция для графического отображения процесса обучения в приложении, заданная как одно из следующих значений. "training-progress" или "none".

  • training-progress - Показать процесс обучения

  • none - Не показывать процесс обучения

Задайте параллельные Опции обучения

Чтобы обучить агента с помощью параллельных вычислений, на вкладке Train, нажмите. Parallel computing icon.Для обучения агентов с помощью параллельных вычислений требуется программное обеспечение Parallel Computing Toolbox™. Для получения дополнительной информации смотрите Train агентов с использованием параллельных вычислений и графических процессоров.

Чтобы задать опции для параллельного обучения, выберите Use Parallel > Parallel training options.

Parallel training options dialog box.

В диалоговом окне Опции параллельного обучения (Parallel Training Options) можно задать следующие опции обучения.

ОпцияОписание
Parallel computing mode

Режим параллельных вычислений, заданный как одно из следующих значений.

  • sync - Использование parpool чтобы запустить синхронное обучение для доступных работников. В этом случае рабочие останавливают выполнение, пока все работники не закончены. Ведущий обновляет параметры актёра и критика на основе результатов от всех работников и отправляет обновленные параметры всем работникам.

  • async - Использование parpool чтобы запустить асинхронное обучение для доступных работников. В этом случае работники отправляют свои данные обратно на хост, как только заканчивают и получают обновленные параметры от хоста. Затем рабочие продолжают выполнять свою задачу.

Type of data from workers

Тип данных, которые рабочие передают на хост, задается как одно из следующих значений.

  • experiences - Симуляция выполняется работниками, а обучение - хозяином. В частности, рабочие моделируют агент против окружения и отправляют данные опыта (наблюдение, действие, вознаграждение, следующее наблюдение и флаг, указывающий, достигнуто ли терминальное условие) хосту. Для агентов с градиентами хост вычисляет градиенты из опыта, обновляет параметры сети и отправляет обновленные параметры работникам, чтобы они могли выполнить новую симуляцию относительно окружения.

  • gradients - И симуляция, и обучение выполняются работниками. В частности, рабочие моделируют агент относительно окружения, вычисляют градиенты от опыта и отправляют градиенты в хост. Хост усредняет градиенты, обновляет параметры сети и отправляет обновленные параметры работникам, чтобы они могли выполнить новую симуляцию относительно окружения.

Примечание

Для DQN, DDPG, PPO и TD3 необходимо задать эту опцию experiences.

Steps until data is sent

Количество шагов, после которых работники отправляют данные на хост и получают обновленные параметры, заданное как –1 или положительное целое число. Когда эта опция –1Рабочий процесс ожидает окончания эпизода, а затем отправляет все данные шага на хост. В противном случае рабочий процесс ожидает заданное количество шагов перед отправкой данных.

Transfer workspace variables to workers

Выберите эту опцию, чтобы отправить переменные модели и рабочей области параллельным рабочим. Когда вы выбираете эту опцию, хост отправляет переменные, используемые в моделях и определенные в MATLAB® рабочей области рабочим.

Random seed for workers

Инициализация рандомизатора для рабочих процессов, заданная как одно из следующих значений.

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

  • –2 - Не назначать работникам случайный seed.

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

Files to attach to parallel poolДополнительные файлы для присоединения к параллельному пулу. Укажите имена файлов в текущей рабочей директории с одним именем в каждой линии.
Worker setup functionФункция для выполнения перед началом обучения, заданная как указатель на функцию, не имеющую входных параметров. Эта функция запускается один раз на каждого работника перед началом обучения. Напишите эту функцию, чтобы выполнить любую обработку, которая вам нужна до обучения.
Worker cleanup functionФункция для выполнения после окончания обучения, заданная как указатель на функцию, не имеющую входных параметров. Можно записать эту функцию, чтобы очистить рабочую область или выполнить другую обработку после завершения обучения.

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

  • Файл данных, присоединенный к параллельному пулу - workerData.mat

  • Функция настройки работника - mySetup.m

  • Функция очистки рабочих - myCleanup.m

Parallel training options dialog showing file and function information.

См. также

Похожие темы