Цель обучения с подкреплением состоит в том, чтобы настроить агента для выполнения задачи в неопределенном окружении. Агент получает наблюдения и вознаграждение от окружения и отправляет действия в окружение. Вознаграждение является мерой того, насколько успешно действие относительно выполнения цели задачи.
Агент содержит два компонента: политику и алгоритм обучения.
Политика является отображением, которое выбирает действия на основе наблюдений от окружения. Обычно политика является функциональной аппроксимацией с настраиваемыми параметрами, такими как глубокая нейронная сеть.
Алгоритм обучения постоянно обновляет параметры политики на основе действий, наблюдений и вознаграждений. Цель алгоритма обучения состоит в том, чтобы найти оптимальную политику, которая максимизирует ожидаемое совокупное долгосрочное вознаграждение, полученное во время задачи.
В зависимости от алгоритма обучения агент поддерживает одну или несколько параметризованных функциональных аппроксимаций для настройки политики. Аппроксимации могут использоваться двумя способами.
Критики - Для заданного наблюдения и действия критик возвращает как вывод ожидаемое значение совокупного долгосрочного вознаграждения для задачи.
Актёр - Для заданного наблюдения актёр возвращает как результат действие, которое максимизирует ожидаемое совокупное долгосрочное вознаграждение.
Агенты, которые используют только критиков для выбора своих действий, полагаются на косвенное представление политики. Эти агенты также упоминаются как основанные на значении, и они используют аппроксимацию, чтобы представлять функцию ценности или функцию Q-значения. В целом эти агенты работают лучше с дискретными пространствами действий, но могут стать вычислительно дорогими для непрерывных пространств действий.
Агенты, которые используют только актёров для выбора своих действий, полагаются на прямое представление политики. Эти агенты также упоминаются как основанные на политике. Политика может быть либо детерминированной, либо стохастической. В целом эти агенты проще и могут обрабатывать непрерывные пространства действий, хотя алгоритм настройки может быть чувствительным к шумным измерениям и может сходиться на локальных минимумах.
Агенты, которые используют как актёра, так и критика, упоминаются как агенты актёра-критика. В этих агентах во время обучения актёр учится лучшему действию, чтобы взять с собой обратную связь от критика (вместо использования вознаграждения непосредственно). При этом критик учит функцию ценности из вознаграждений, чтобы она могла правильно критиковать актёра. В целом эти агенты могут обрабатывать как дискретные так и непрерывные пространства действий.
Пакет Reinforcement Learning Toolbox™ предоставляет следующих встроенных агентов. Можно обучать этих агентов в окружениях с непрерывными или дискретными пространствами наблюдений и следующими пространствами действий.
В следующих таблицах представлены типы, пространства действий и представления для всех встроенных агентов. Для каждого агента пространство наблюдений может быть либо дискретным, либо непрерывным.
Встроенные агенты: Type и Пространство действий
Агент | Напечатать | Пространство действий |
---|---|---|
Агенты Q-обучения (Q) | Основанные на ценности | Дискретный |
Агенты глубоких Q-сетей (DQN) | Основанные на ценности | Дискретный |
Агенты SARSA | Основанные на ценности | Дискретный |
Агенты градиента политики (PG) | Основанные на политике | Дискретный или непрерывный |
Агенты актёра-критика (AC) | Актёр-критик | Дискретный или непрерывный |
Проксимальные агенты оптимизации политики (PPO) | Актёр-критик | Дискретный или непрерывный |
Агенты градиента глубокой детерминированной политики (DDPG) | Актёр-критик | Непрерывный |
Двухпозиционные глубокие детерминированные агенты градиента политики (TD3) | Актёр-критик | Непрерывный |
Агенты мягкого актёра-критика (SAC) | Актёр-критик | Непрерывный |
Встроенные агенты: представления, которые вы должны использовать с каждым агентом
Представление | Q, DQN, SARSA | PG | AC, PPO | МЕШОЧЕК | DDPG, TD3 |
---|---|---|---|---|---|
Критик функции ценности V (S), которую вы создаете используя | X (если используется базовый уровень) | X | |||
Критик функции Q (S, A), которую вы создаете используя | X | X | X | ||
Детерминированный актёр политики, который вы создаете используя | X | ||||
Актёр Стохастической политики (S), который вы создаете используя | X | X | X |
Агент с сетями по умолчанию - Все агенты, кроме агентов Q-обучения и SARSA, поддерживают сети по умолчанию для актёров и критиков. Можно создать агента с представлениями актёра и критика по умолчанию на основе наблюдений и спецификаций действия от окружения. Для этого в MATLAB® в командной строке выполните следующие шаги.
Создайте спецификации наблюдений для вашего окружения. Если у вас уже есть объект интерфейса окружения, можно получить эти спецификации, используя getObservationInfo
.
Создайте спецификации действия для вашего окружения. Если у вас уже есть объект интерфейса окружения, можно получить эти спецификации, используя getActionInfo
.
При необходимости укажите количество нейронов в каждом обучаемом слое или использовать ли слой LSTM. Для этого создайте объект опции инициализации агента с помощью rlAgentInitializationOptions
.
При необходимости задайте опции агента путем создания набора опций для конкретного агента.
Создайте агента с помощью соответствующей функции создания агента. Получившийся агент содержит соответствующие представления актёра и критика, перечисленные в таблице выше. Актёр и критик используют специфические для агента по умолчанию глубокие нейронные сети в качестве внутренних аппроксимаций.
Для получения дополнительной информации о создании функциональных аппроксимаций актёра и критика, смотрите, Создают Политику и Представления Функции Ценности.
Можно использовать приложение Reinforcement Learning Designer для импорта существующего окружения и интерактивного проектирования агентов DQN, DDPG, PPO или TD3. Приложение позволяет вам обучать и моделировать агента в пределах вашего окружения, анализировать результаты симуляции, уточнять параметры агента и экспортировать агента в рабочее пространство MATLAB для дальнейшего использования и развертывания.
При выборе агента лучшая практика состоит в том, чтобы начать с более простого (и более быстрого для обучения) алгоритма, который совместим с вашими пространствами действий и наблюдений. Затем можно попробовать постепенно более сложные алгоритмы, если более простые таковые не работают должным образом.
Дискретные пространства действий и наблюдений - для окружений с дискретными пространствами действий и наблюдений агент Q-обучения является самым простым совместимым агентом, далее указываются DQN и PPO.
Дискретное пространство действий и непрерывное пространство наблюдений - Для окружений с дискретным пространством действий и непрерывным пространством наблюдений DQN является простейшим совместимым агентом, за которым следует PPO.
Непрерывное пространство действий - для окружений с непрерывным пространством действий и наблюдений DDPG является самым простым совместимым агентом, за которым следуют TD3, PPO и SAC. Для таких окружений попробуйте сначала DDPG. В целом:
TD3 является улучшенной, более сложной версией DDPG.
PPO имеет более стабильные обновления, но требует большего обучения.
SAC является улучшенной, более сложной версией DDPG, которая генерирует стохастические политики.
Можно также обучить политики с помощью других алгоритмов обучения, создав пользовательского агента. Для этого вы создаете подкласс пользовательского класса агента и задаете поведение агента с помощью набора обязательных и необязательных методов. Для получения дополнительной информации смотрите Создание Пользовательских Агентов Обучения с Подкреплением.
rlACAgent
| rlDDPGAgent
| rlDQNAgent
| rlPGAgent
| rlPPOAgent
| rlQAgent
| rlSACAgent
| rlSARSAAgent
| rlTD3Agent