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

Цель обучения с подкреплением состоит в том, чтобы настроить агента для выполнения задачи в неопределенном окружении. Агент получает наблюдения и вознаграждение от окружения и отправляет действия в окружение. Вознаграждение является мерой того, насколько успешно действие относительно выполнения цели задачи.

Агент содержит два компонента: политику и алгоритм обучения.

  • Политика является отображением, которое выбирает действия на основе наблюдений от окружения. Обычно политика является функциональной аппроксимацией с настраиваемыми параметрами, такими как глубокая нейронная сеть.

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

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

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

  • Актёр - Для заданного наблюдения актёр возвращает как результат действие, которое максимизирует ожидаемое совокупное долгосрочное вознаграждение.

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

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

Агенты, которые используют как актёра, так и критика, упоминаются как агенты актёра-критика. В этих агентах во время обучения актёр учится лучшему действию, чтобы взять с собой обратную связь от критика (вместо использования вознаграждения непосредственно). При этом критик учит функцию ценности из вознаграждений, чтобы она могла правильно критиковать актёра. В целом эти агенты могут обрабатывать как дискретные так и непрерывные пространства действий.

Встроенные агенты

Пакет Reinforcement Learning Toolbox™ предоставляет следующих встроенных агентов. Можно обучать этих агентов в окружениях с непрерывными или дискретными пространствами наблюдений и следующими пространствами действий.

В следующих таблицах представлены типы, пространства действий и представления для всех встроенных агентов. Для каждого агента пространство наблюдений может быть либо дискретным, либо непрерывным.

Встроенные агенты: Type и Пространство действий

АгентНапечататьПространство действий
Агенты Q-обучения (Q)Основанные на ценностиДискретный
Агенты глубоких Q-сетей (DQN)Основанные на ценностиДискретный
Агенты SARSAОснованные на ценностиДискретный
Агенты градиента политики (PG)Основанные на политикеДискретный или непрерывный
Агенты актёра-критика (AC)Актёр-критикДискретный или непрерывный
Проксимальные агенты оптимизации политики (PPO)Актёр-критикДискретный или непрерывный
Агенты градиента глубокой детерминированной политики (DDPG)Актёр-критикНепрерывный
Двухпозиционные глубокие детерминированные агенты градиента политики (TD3)Актёр-критикНепрерывный
Агенты мягкого актёра-критика (SAC)Актёр-критикНепрерывный

Встроенные агенты: представления, которые вы должны использовать с каждым агентом

ПредставлениеQ, DQN, SARSAPGAC, PPOМЕШОЧЕКDDPG, TD3

Критик функции ценности V (S), которую вы создаете используя

rlValueRepresentation

 X (если используется базовый уровень)X  

Критик функции Q (S, A), которую вы создаете используя

rlQValueRepresentation

X  XX

Детерминированный актёр политики, который вы создаете используя

rlDeterministicActorRepresentation

    X

Актёр Стохастической политики (S), который вы создаете используя

rlStochasticActorRepresentation

 XXX 

Агент с сетями по умолчанию - Все агенты, кроме агентов Q-обучения и SARSA, поддерживают сети по умолчанию для актёров и критиков. Можно создать агента с представлениями актёра и критика по умолчанию на основе наблюдений и спецификаций действия от окружения. Для этого в MATLAB® в командной строке выполните следующие шаги.

  1. Создайте спецификации наблюдений для вашего окружения. Если у вас уже есть объект интерфейса окружения, можно получить эти спецификации, используя getObservationInfo.

  2. Создайте спецификации действия для вашего окружения. Если у вас уже есть объект интерфейса окружения, можно получить эти спецификации, используя getActionInfo.

  3. При необходимости укажите количество нейронов в каждом обучаемом слое или использовать ли слой LSTM. Для этого создайте объект опции инициализации агента с помощью rlAgentInitializationOptions.

  4. При необходимости задайте опции агента путем создания набора опций для конкретного агента.

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

Для получения дополнительной информации о создании функциональных аппроксимаций актёра и критика, смотрите, Создают Политику и Представления Функции Ценности.

Можно использовать приложение Reinforcement Learning Designer для импорта существующего окружения и интерактивного проектирования агентов DQN, DDPG, PPO или TD3. Приложение позволяет вам обучать и моделировать агента в пределах вашего окружения, анализировать результаты симуляции, уточнять параметры агента и экспортировать агента в рабочее пространство MATLAB для дальнейшего использования и развертывания.

Выбор типа агента

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

  • Дискретные пространства действий и наблюдений - для окружений с дискретными пространствами действий и наблюдений агент Q-обучения является самым простым совместимым агентом, далее указываются DQN и PPO.

    Arrow going from left to right showing first a vertical stack containing the Q-learning agent on top and the SARSA agent on the bottom, followed by a DQN on the middle, and by a PPO agent on the right

  • Дискретное пространство действий и непрерывное пространство наблюдений - Для окружений с дискретным пространством действий и непрерывным пространством наблюдений DQN является простейшим совместимым агентом, за которым следует PPO.

    Arrow showing a DQN agent on the left followed by a PPO agent on the right

  • Непрерывное пространство действий - для окружений с непрерывным пространством действий и наблюдений DDPG является самым простым совместимым агентом, за которым следуют TD3, PPO и SAC. Для таких окружений попробуйте сначала DDPG. В целом:

    • TD3 является улучшенной, более сложной версией DDPG.

    • PPO имеет более стабильные обновления, но требует большего обучения.

    • SAC является улучшенной, более сложной версией DDPG, которая генерирует стохастические политики.

    Arrow showing a DDPG agent followed by a vertical stack containing the TD3 agent on top, the PPO agent in th emiddle, and the SAC agent on the bottom.

Настраиваемые агенты

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

См. также

| | | | | | | |

Похожие темы