RL Agent

Агент обучения с подкреплением

  • Библиотека:
  • Reinforcement Learning Toolbox

  • RL Agent block

Описание

Используйте блок RL Agent, чтобы симулировать и обучить агента обучения с подкреплением в Simulink®. Вы сопоставляете блок с агентом, сохраненным в рабочей области MATLAB® или словаре данных как объект агента такой как rlACAgent или rlDDPGAgent объект. Вы соединяете блок так, чтобы он получил наблюдение и вычисленное вознаграждение. Например, рассмотрите следующую блок-схему rlSimplePendulumModel модель.

observation входной порт блока RL Agent получает сигнал, который выведен из мгновенного угла и скорости вращения маятника. reward порт получает вознаграждение, вычисленное от тех же двух значений и прикладного действия. Вы конфигурируете наблюдения и вознаграждаете расчеты, которые соответствуют вашей системе.

Блок использует агента, чтобы сгенерировать действие на основе наблюдения и вознаграждения, которое вы предоставляете. Соедините action выходной порт к соответствующему входу для вашей системы. Например, в rlSimplePendulumModel, action порт является крутящим моментом, применился к системе маятника. Для получения дополнительной информации об этой модели, смотрите, Обучают Агента DQN к Swing и Маятнику Баланса.

Чтобы обучить агента обучения с подкреплением в Simulink, вы генерируете среду из модели Simulink. Вы затем создаете и конфигурируете агента для обучения против той среды. Для получения дополнительной информации смотрите, Создают окружения Simulink для Обучения с подкреплением. Когда вы вызываете train использование среды, train симулирует модель и обновляет агента, сопоставленного с блоком.

Порты

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

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

Этот порт получает сигналы наблюдения от среды. Сигналы наблюдения представляют измерения или другие мгновенные системные данные. Если у вас есть несколько наблюдений, можно использовать блок Mux, чтобы объединить их в векторный сигнал. Чтобы использовать невиртуальный сигнал шины, использовать bus2RLSpec.

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

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

Вывод

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

Действие, вычисленное агентом на основе наблюдения и премиальных входных параметров. Соедините этот порт с входными параметрами вашей системы. Чтобы использовать невиртуальный сигнал шины, использовать bus2RLSpec.

Примечание

Когда агенты, такие как rlACAgent, rlPGAgent, или rlPPOAgent используйте rlStochasticActorRepresentation агент с непрерывным пространством действий, ограничения, установленные спецификацией действия, не осуществляется агентом. В этих случаях необходимо осуществить ограничения пространства действий в среде.

Совокупная сумма сигнала вознаграждения в процессе моделирования. Наблюдайте или регистрируйте этот сигнал отследить, как совокупное вознаграждение развивается в зависимости от времени.

Зависимости

Чтобы включить этот порт, выберите параметр Provide cumulative reward signal.

Параметры

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

Введите имя объекта агента, хранившего в рабочем пространстве MATLAB или словаре данных, такой как rlACAgent или rlDDPGAgent объект. Для получения информации об объектах агента смотрите Агентов Обучения с подкреплением.

Программируемое использование

Параметры блоков: Agent
Ввод: строка, вектор символов
Значение по умолчанию: "agentObj"

Включите cumulative_reward блок, выведенный путем выбора этого параметра.

Программируемое использование

Параметры блоков: ProvideCumRwd
Ввод: строка, вектор символов
Значения: "off"on
Значение по умолчанию: "off"
Введенный в R2019a