Основы обучения с подкреплением
Основные понятия, которые нужно знать, чтобы понять обучение с подкреплением (Reinforcement Learning)!
Мы начнём с самых основ — «что такое RL?» — и перейдём к более сложным темам, включая исследование среды, значения и политики агентов, а также различия между популярными подходами к обучению. По пути мы также узнаем о различных проблемах в RL и о том, как исследователи их решали.
В конце статьи я также поделюсь видео на YouTube, в котором объясняются все понятия из этой статьи в наглядной форме. Если вы не очень любите читать, вы можете посмотреть это видео вместо этого!
Основы обучения с подкреплением
Представьте, что вы хотите обучить модель искусственного интеллекта (ИИ) ориентироваться в полосе препятствий. RL — это раздел машинного обучения, в котором наши модели учатся, собирая опыт — предпринимая действия и наблюдая за происходящим.
Более формально RL состоит из двух компонентов — агента и среды.
Агент
Процесс обучения включает в себя две ключевые активности, которые повторяются снова и снова: исследование и обучение. Во время исследования агент собирает опыт в среде, предпринимая действия и выясняя, что происходит. А затем, во время обучения, агент использует этот опыт для улучшения себя.
Агент собирает опыт в среде и использует его для обучения политике.
Среда
Как только агент выбирает действие, среда обновляется. Она также возвращает вознаграждение в зависимости от того, насколько хорошо агент справляется. Разработчик среды программирует структуру вознаграждения.
Например, предположим, вы работаете над средой, которая обучает ИИ избегать препятствий и достигать цели. Вы можете запрограммировать свою среду так, чтобы она возвращала положительное вознаграждение, когда агент приближается к цели. Но если агент сталкивается с препятствием, вы можете запрограммировать его на получение большого отрицательного вознаграждения.
Другими словами, среда обеспечивает положительное подкрепление (например, высокое положительное вознаграждение), когда агент делает что-то хорошее, и наказание (например, отрицательное вознаграждение), когда он делает что-то плохое.
Хотя агент не знает, как на самом деле работает среда, он всё равно может определить из своих моделей вознаграждения, как выбрать оптимальные действия, которые приведут к максимальным вознаграждениям.
Политика
На каждом шаге ИИ-агент наблюдает текущее состояние среды и выбирает действие. Цель RL — научиться сопоставлять наблюдения с действиями, то есть «при данном состоянии, которое я наблюдаю, какое действие мне выбрать?».
В терминах RL это сопоставление состояния с действием также называется политикой.
Эта политика определяет, как агент ведёт себя в разных состояниях, и в глубоком обучении с подкреплением мы обучаем эту функцию, обучая некоторую глубокую нейронную сеть.
Обучение с подкреплением
Агент наблюдает состояние S, запрашивает сеть для генерации действия A. Среда выполняет действие и возвращает вознаграждение r и следующее состояние s’. Это продолжается до тех пор, пока эпизод не завершится. Каждый шаг, который делает агент, позже используется для обучения сети политики агента.
Понимание различий и взаимодействия между агентом, политикой и средой очень важно для понимания обучения с подкреплением.
- Агент — это обучающийся, который исследует и предпринимает действия в среде.
- Политика — это стратегия (часто нейронная сеть), которую агент использует для определения того, какое действие предпринять в данном состоянии. В RL наша конечная цель — обучить эту стратегию.
- Среда — это внешняя система, с которой взаимодействует агент, которая обеспечивает обратную связь в виде вознаграждений и новых состояний.
Вот краткое определение, которое вы должны запомнить:
В обучении с подкреплением агент следует политике, чтобы выбрать действия в среде.
Наблюдения и действия
Агент исследует среду, предпринимая последовательность «шагов». Каждый шаг — это одно решение. Агент наблюдает состояние среды. Решает о действии. Получает вознаграждение. Наблюдает следующее состояние. В этом разделе давайте разберёмся, что такое наблюдения и действия.
Наблюдение
Наблюдение — это то, что агент видит в среде — информация, которую он получает о текущем состоянии среды. В среде навигации по препятствиям наблюдение может быть проекциями LiDAR для обнаружения препятствий. Для игр Atari это может быть история последних нескольких пиксельных кадров. Для генерации текста это может быть контекст сгенерированных токенов. В шахматах это положение всех фигур, чей ход.
Наблюдение в идеале содержит всю информацию, необходимую агенту для совершения действия.
Действие
Пространство действий — это все доступные решения, которые может принять агент. Действия могут быть дискретными или непрерывными. Дискретное пространство действий — это когда агент должен выбирать между определённым набором категориальных решений. Например, в играх Atari действия могут быть кнопками контроллера Atari. Для генерации текста это выбор между всеми токенами, присутствующими в словаре модели. В шахматах это может быть список доступных ходов.
Важный урок
Но вот что важно понять: для агента и политики — среда и её особенности могут быть чёрным ящиком. Агент будет получать информацию о состоянии в виде вектора, генерировать действие, получать вознаграждение и позже учиться на этом.
Так что в своём уме вы можете считать агента и среду двумя отдельными сущностями. Среда определяет пространство состояний, пространство действий, стратегии вознаграждения и правила.
Эти правила не зависят от того, как агент исследует и как политика обучается на собранном опыте.
При изучении исследовательской статьи важно уточнить в уме, о каком аспекте RL мы читаем. Это новая среда? Это новый метод обучения политики? Это стратегия исследования? В зависимости от ответа вы можете рассматривать другие вещи как чёрный ящик.
Исследование
Как агент исследует и собирает опыт?
Каждый алгоритм RL должен решить одну из крупнейших дилемм при обучении агентов RL — исследование против эксплуатации.
Исследование означает опробование новых действий для сбора информации об среде. Представьте, что вы учитесь сражаться с боссом в сложной видеоигре. Сначала вы будете пробовать разные подходы, разное оружие, заклинания, случайные вещи, чтобы увидеть, что работает, а что нет.
Однако, как только вы начнёте получать вознаграждения, например, постоянно наносить урон боссу, вы перестанете исследовать и начнёте использовать уже приобретённую стратегию. Эксплуатация означает жадное выбор действий, которые, как вы думаете, принесут наилучшие вознаграждения.
Хорошая стратегия исследования в RL должна сбалансировать исследование и эксплуатацию.
Популярная стратегия исследования — эпсилон-жадная, где агент исследует со случайным действием часть времени (определяется параметром эпсилон), а использует своё наилучшее известное действие в остальное время. Это значение эпсилон обычно велико в начале и постепенно уменьшается, чтобы отдавать предпочтение эксплуатации по мере обучения агента.
Эпсилон-жадный — это метод исследования, при котором RL-агент выбирает случайное действие время от времени.
Эпсилон-жадный работает только в дискретных пространствах действий. В непрерывных пространствах исследование часто обрабатывается двумя популярными способами. Один из способов — добавить немного случайного шума к действию, которое агент решает предпринять. Другой популярный метод — добавить бонус энтропии в функцию потерь, который побуждает политику быть менее уверенной в своём выборе, что естественным образом приводит к более разнообразным действиям и исследованию.
Некоторые другие способы поощрения исследования:
- Разработка среды для использования случайной инициализации состояний в начале эпизодов.
- Внутренние методы исследования, где агент действует из собственного «любопытства». Алгоритмы вроде Curiosity и RND вознаграждают агента за посещение новых состояний или за выполнение действий, результат которых трудно предсказать.
Я расскажу об этих увлекательных методах в своём видео об агенте, так что обязательно посмотрите его!
Алгоритмы обучения
Большинство исследовательских работ и академических тем в области обучения с подкреплением посвящены оптимизации стратегии агента для выбора действий. Цель алгоритмов оптимизации — научиться действиям, которые максимизируют долгосрочные ожидаемые вознаграждения.
Давайте рассмотрим различные алгоритмические варианты один за другим.
Модельное и модельное свободное обучение
Итак, наш агент исследовал среду и собрал массу опыта. Теперь что?
Учится ли агент действовать непосредственно из этого опыта? Или сначала он пытается смоделировать динамику и физику среды?
Один подход — модель-ориентированное обучение. Здесь агент сначала использует свой опыт для создания собственной внутренней симуляции или модели мира. Эта модель учится предсказывать последствия своих действий, то есть, учитывая состояние и действие, каково будет следующее состояние и вознаграждение? Как только у него появится эта модель, он может практиковаться и планировать полностью в пределах своего воображения, запуская тысячи симуляций, чтобы найти лучшую стратегию, не делая рискованных шагов в реальном мире.
Модель-ориентированное RL изучает отдельную модель, чтобы узнать, как работает среда.
Это особенно полезно в средах, где сбор опыта в реальном мире может быть дорогостоящим — например, в робототехнике или беспилотных автомобилях. Примеры модель-ориентированного RL: Dyna-Q, World Models, Dreamer и т. д. Я напишу отдельную статью, чтобы рассмотреть эти модели более подробно.
Второй подход называется модель-свободным обучением. Здесь агент рассматривает среду как чёрный ящик и изучает политику непосредственно на основе собранного опыта. Давайте поговорим о модель-свободном RL в следующем разделе.
Обучение, основанное на ценности
Существуют два основных подхода к модель-свободным алгоритмам RL.
Алгоритмы, основанные на ценности, учатся оценивать, насколько хорошо каждое состояние. Алгоритмы, основанные на политике, учатся напрямую, как действовать в каждом состоянии.
Q-Learning
Мы узнали об интуиции, стоящей за значениями состояний, но как мы используем эту информацию для изучения действий? Уравнение Q-Learning отвечает на этот вопрос.
Q(s, a) = r + γ * max_a Q(s’, a’)
Значение Q(s,a) — это _q_uality-value _действия a в состоянии s. Приведённое выше уравнение по сути гласит: качество действия a в состоянии s равно немедленному вознаграждению r, которое вы получаете, находясь в состоянии s, плюс дисконтированное качество значения следующего наилучшего действия.
TD Learning vs MC Sampling
Как агент объединяет будущий опыт, чтобы научиться?
В обучении с временными различиями (TD Learning) агент обновляет свои оценки значений после каждого шага, используя уравнение Беллмана. И он делает это, видя свою собственную оценку Q-значения в следующем состоянии. Эта стратегия называется 1-шаговым TD Learning или одношаговым обучением с временными различиями. Вы делаете один шаг и обновляете своё обучение на основе своих прошлых оценок.
Второй вариант называется Монте-Карло выборкой. Здесь агент ждёт, пока закончится весь эпизод, прежде чем что-либо обновлять. И затем он использует полный возврат из эпизода:
Q(s,a) = r₁ + γr₂ + γ²r₃ + … + γⁿrₙ
В MC Sampling мы завершаем весь эпизод, чтобы вычислить оценки на основе фактических вознаграждений.
Градиенты политики
Теперь, когда мы поняли концепцию TD-Learning vs MC Sampling, пришло время вернуться к методам обучения, основанным на политике.
Напомним, что методы, основанные на ценности, такие как DQN, сначала должны явно рассчитать значение или Q-значение для каждого возможного действия, а затем выбрать лучшее. Но можно пропустить этот шаг, и методы градиента политики, такие как REINFORCE, делают именно это.
В REINFORCE сеть политики выводит вероятности для каждого действия, и мы обучаем её увеличивать вероятность действий, которые приводят к хорошим результатам. Для дискретных пространств методы PG выводят вероятность каждого действия в виде категориального распределения. Для непрерывных пространств методы PG выводят как гауссовские распределения, прогнозируя среднее значение и стандартное отклонение каждого элемента в векторе действий.
Advantage Actor Critic
Если вы попытаетесь использовать vanilla REINFORCE на большинстве сложных задач, он будет бороться, и причина этого двояка.
Первая — потому что он страдает от высокой дисперсии, потому что это метод Монте-Карло. Вторая — у него нет чувства базовой линии. Например, представьте среду, которая всегда даёт вам положительное вознаграждение, тогда возвраты никогда не будут отрицательными, так что REINFORCE будет увеличивать вероятности всех действий, хотя и непропорционально.
Мы не хотим вознаграждать действия только за то, что они получили положительный балл. Мы хотим вознаграждать их за то, что они лучше среднего.
И вот где концепция преимущества становится важной. Вместо того чтобы просто использовать необработанный возврат для обновления нашей политики, мы вычтем ожидаемый возврат для этого состояния. Итак, наш новый сигнал обновления становится:
Advantage = Возврат, который вы получили – Возврат, который вы ожидали
В то время как Advantage даёт нам базовую линию для наших наблюдаемых возвратов, давайте также обсудим концепцию методов Actor Critic.
Actor Critic сочетает в себе лучшее из методов, основанных на ценности (таких как DQN), и лучшее из методов, основанных на политике (таких как REINFORCE). Методы Actor Critic обучают отдельную нейронную сеть «критика», которая обучена только оценивать состояния, подобно Q-сети, описанной ранее.
Метод актёра, с другой стороны, изучает политику.
Заключение
Эта статья является дополнением к видео на YouTube ниже, которое я сделал. Не стесняйтесь проверить это, если вам понравилось это чтение.
Каждый алгоритм делает определённый выбор для каждого вопроса, и эти выборы каскадом проходят через всю систему, влияя на всё, от эффективности выборки до стабильности и производительности в реальных условиях.
В конце концов, создание алгоритма RL — это ответ на эти проблемы путём принятия вами определённых решений. DQNs выбирают изучение ценностей. методы политики напрямую изучают политику. Методы Монте-Карло обновляют после полного эпизода, используя фактические возвраты — это делает их беспристрастными, но у них высокая дисперсия из-за стохастической природы исследования RL. TD Learning вместо этого выбирает обучение на каждом шаге, основанном на собственных оценках агента. Методы Actor Critic сочетают в себе лучшее из методов, основанных на ценности (таких как DQN), и лучшее из методов, основанных на политике (таких как REINFORCE).
