Что такое Обучение с Подкреплением?

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

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

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

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

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

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

В качестве примера рассмотрим задачу парковки транспортного средства с помощью автоматизированной системы вождения. Цель этой задачи состоит в том, чтобы компьютер автомобиля (агент) припарковал транспортное средство в правильном положении и ориентации. Для этого контроллер использует показания с камер, акселерометров, гироскопов, приемника GPS и лидара (наблюдений), чтобы сгенерировать команды для руля и педалей тормоза и газа (действия). Команды действия передаются на приводы, которые управляют транспортным средством. Полученные наблюдения зависят от приводов, датчиков, динамики аппарата, дорожного покрытия, ветра и многих других менее важных факторов. Все эти факторы, то есть все, что не является агентом, составляют окружение в обучении с подкреплением.

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

Рабочий процесс обучения с подкреплением

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

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

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

  3. Задайте вознаграждение - Задайте сигнал вознаграждения, который агент использует для измерения своей эффективности относительно целей задачи и как вычислить этот сигнал от окружения. Для получения дополнительной информации смотрите Задать сигналы вознаграждения.

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

  5. Обучите агента - Обучите представление политики агента с помощью заданного окружения, вознаграждения и алгоритма обучения агента. Для получения дополнительной информации см. Train агентов обучения с подкреплением».

  6. Валидация агента - оценка производительности обученного агента путем совместной симуляции агента и окружения. Для получения дополнительной информации см. Train агентов обучения с подкреплением».

  7. Развертывание политики - развертывание обученного представления политики с помощью, например, сгенерированного кода GPU. Для получения дополнительной информации см. раздел Развертывание обученных политик обучения с подкреплением.

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

  • Настройки обучения

  • Строение алгоритма обучения

  • Представление политики

  • Определение сигнала вознаграждения

  • Сигналы действия и наблюдения

  • Динамика окружения

Похожие темы