Подготовка обучающих агентов по усилению в определенной среде
обучает одного или нескольких агентов обучения усилению в указанной среде, используя параметры обучения по умолчанию. Хотя trainStats = train(env,agents)agents является входным аргументом, после каждого учебного эпизода, train обновляет параметры каждого агента, указанного в agents максимизировать их ожидаемое долгосрочное вознаграждение от окружающей среды. Когда обучение прекращается, agents отражает состояние каждого агента в конце финального тренировочного эпизода.
выполняет то же обучение, что и предыдущий синтаксис.trainStats = train(agents,env)
поезда env = train(___,trainOpts)agents в env, использование объекта «Параметры обучения» trainOpts. Используйте параметры обучения, чтобы указать параметры обучения, такие как критерии прекращения обучения, время сохранения агентов, максимальное количество эпизодов для обучения и максимальное количество шагов для каждого эпизода. Используйте этот синтаксис после любого из входных аргументов в предыдущих синтаксисах.
train обновляет агентов по мере прохождения обучения. Чтобы сохранить исходные параметры агента для последующего использования, сохраните агенты в MAT-файле.
По умолчанию вызов train открывает Менеджер обучающих эпизодов для усиления, который позволяет визуализировать ход обучения. Сюжет «Менеджер эпизодов» показывает вознаграждение за каждый эпизод, среднее значение вознаграждения и Q0 оценки критика (для агентов, у которых есть критики). Менеджер эпизодов также отображает различные статистические данные по эпизодам и тренировкам. Чтобы отключить Диспетчер обучающих эпизодов с усилением, установите Plots вариант trainOpts кому "none".
При использовании предопределенной среды, для которой существует визуализация, можно использовать plot(env) для визуализации среды. При звонке plot(env) перед тренировкой, затем визуализация обновляется во время тренировки, чтобы вы могли визуализировать ход каждого эпизода. (Для пользовательских сред необходимо внедрить собственные plot метод.)
Обучение прекращается, когда условия, указанные в trainOpts удовлетворены. Чтобы завершить текущее обучение, в менеджере эпизодов обучения по усилению щелкните Остановить обучение. Поскольку train обновляет агента в каждом эпизоде, вы можете возобновить обучение, позвонив train(agent,env,trainOpts) опять же, без потери обученных параметров, полученных во время первого вызова train.
Во время обучения можно сохранить агентов-кандидатов, которые соответствуют условиям, указанным в trainOpts. Например, вы можете сохранить любого агента, чья награда за эпизод превышает определенное значение, даже если общее условие прекращения обучения еще не выполнено. train хранит сохраненные агенты в MAT-файле в папке, указанной в trainOpts. Сохраненные агенты могут быть полезны, например, для тестирования агентов-кандидатов, созданных в течение длительного процесса обучения. Дополнительные сведения о сохранении критериев и расположении см. в разделе rlTrainingOptions.
В общем, train выполняет следующие итеративные шаги:
Инициализировать agent.
Для каждого эпизода:
Сбросьте среду.
Получение исходного наблюдения s0 из среды.
Вычислите начальное действие a0 = λ (s0).
Установите текущее действие в исходное действие (a←a0) и установите текущее наблюдение в исходное наблюдение (s←s0).
Пока эпизод не закончен или не прекращен:
Шаг среды с действием a для получения следующего наблюдения s 'и награды r.
Извлеките уроки из набора опыта (s, a, r, s ').
Вычислите следующее действие a «» = λ (s «»).
Обновите текущее действие следующим действием (a←a ') и обновите текущее наблюдение следующим (s←s').
Прерывание при выполнении условий завершения эпизода, определенных в среде.
Если условие окончания обучения определено trainOpts выполняется, прекращает обучение. В противном случае начните следующий эпизод.
Особенности того, как train выполнение этих вычислений зависит от конфигурации агента и среды. Например, сброс среды в начале каждого эпизода может включать рандомизацию начальных значений состояния, если вы настраиваете среду для этого.