exponenta event banner

Агент RL

Усиливающий обучающий агент

  • Библиотека:
  • Инструментарий для обучения по усилению

  • RL Agent block

Описание

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

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

Блок использует агента для создания действия, основанного на наблюдении и вознаграждении, которое вы предоставляете. Подключите action порт вывода на соответствующий вход системы. Например, в rlSimplePendulumModel, action порт - это крутящий момент, приложенный к маятниковой системе. Дополнительные сведения об этой модели см. в разделе Подготовка агента DQN к качанию вверх и балансировке маятника.

Для обучения агента обучения усилению в Simulink создается среда из модели Simulink. Затем создается и настраивается агент для обучения в этой среде. Дополнительные сведения см. в разделе Создание учебных сред усиления Simulink. При звонке train использование среды, train моделирует модель и обновляет агент, связанный с блоком.

Порты

Вход

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

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

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

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

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

Зависимости

Чтобы включить этот порт, выберите параметр Add inports for external action signal.

Этот сигнал используется для передачи внешнего сигнала воздействия в среду.

При значении сигнала внешнего воздействия на использование 1 блок передает сигнал внешнего действия в среду. Блок также использует внешнее действие для обновления политики агента.

При значении сигнала внешнего воздействия на использование 0 блок не передает сигнал внешнего действия в среду и не обновляет политику с помощью внешнего действия. Вместо этого действие из блока использует действие из политики агента.

Зависимости

Чтобы включить этот порт, выберите параметр Add inports for external action signal.

Продукция

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

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

Примечание

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

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

Зависимости

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

Параметры

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

Введите имя объекта агента, хранящегося в рабочей области MATLAB или словаре данных, например rlACAgent или rlDDPGAgent объект. Сведения об объектах-агентах см. в разделе Усиление агентов обучения.

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

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

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

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

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

Включите внешнее действие и используйте входные порты блока внешних действий, выбрав этот параметр.

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

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