«Нам нужна машина, способная учиться на собственном опыте».
Алан Тьюринг, 1947 г.

Знаете ли вы, как машины (или компьютеры) могут превосходить человеческие показатели в сложных играх, таких как шахматы и гоу (DeepMind AlphaGo, AlphaZero и MuZero), или управлять автомобилями без вмешательства человека? Ответ кроется в том, как они запрограммированы. Такие машины запрограммированы так, чтобы максимизировать какую-то цель, которая явно определяется людьми. Этот подход называется обучением с подкреплением и полностью имитирует то, как люди и животные учатся действовать в мире.

В этой статье я стремился объяснить, что такое обучение с подкреплением, и его основы, не вдаваясь в подробности.

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

Сегодня машинное обучение определяется тремя основными парадигмами. Наряду с обучением с учителем (SL) и обучением без учителя (UL), обучение с подкреплением (RL) является третьим и последним. Хотя это подраздел машинного обучения, у него есть недостатки по сравнению с теорией управления и теории игр.

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

В SL агент получает питание как от входов, так и от соответствующих правильных выходов, чтобы он научился выдавать разумные выходные данные невидимым входам.

UL питает агент только входными данными и заставляет агента научиться выдавать некоторые выходные данные, которые оптимизируют заранее заданную цель, такую ​​как компактность или энтропийные меры.

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

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

Однако RL по-прежнему уникален, поскольку имеет дело с динамической средой, и данные не предоставляются заранее. В результате, в отличие от SL и UL, агент RL должен;

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

Дилемма разведки и эксплуатации

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

Теперь перейдем к техническим деталям.

Последовательное принятие решений

Последовательное принятие решений или дискретный процесс управления - это принятие решения на каждом временном шаге в дискретное время с учетом динамики окружающей среды.

В момент t наш агент находится в состоянии sₜ, награждается rₜ, получает наблюдение oₜ и выполняет действие aₜ в соответствии со своей политикой π. В результате действия с sₜ₊₁ происходит переход состояния, и за новое наблюдение приходит награда rₜ₊₁.

Ожидается, что наблюдения представляют состояние агента. Если состояние может быть сформировано с использованием мгновенных наблюдений, наблюдения непосредственно используются как состояния (sₜ = oₜ), и это называется процессом марковского принятия решений. В противном случае это называется частично наблюдаемым марковским процессом принятия решений, поскольку мгновенные наблюдения не способны полностью информировать агента о состоянии. Однако пока мы сосредотачиваемся на MDP.

Марковский процесс принятия решений (MDP)

MDP состоит из следующего;

  • Пространство состояний S как совокупность всех возможных состояний.
  • Пространство действий A как совокупность всех возможных действий.
  • Модель Функция T (s ’| s, a), как вероятности перехода состояний.
  • Функция вознаграждения R (s) как отображение вознаграждения из состояния, действия, следующего кортежа состояния в вознаграждение.
  • Коэффициент дисконтирования γ ∈ [0,1], действительное число, определяющее важность будущих вознаграждений для контроля.

Строительные блоки для RL

  • Функция политики π (a | s): вероятностная функция для действий в зависимости от состояний, указывающая, как действовать в определенной ситуации.
  • Возврат G: совокупная сумма будущих вознаграждений во времени, масштабируемая с помощью коэффициента дисконтирования γ. Это определяется как;

  • Значение Функция V (s | π): Ожидаемый результат при соблюдении политики π в состоянии s, определяемом как;

  • Функция «действие-значение» Q (s, a | π): ожидаемый результат при следовании политике π, за исключением действия a на первом шаге в состоянии s, определяемом как;

Уравнение Беллмана

Вся цель RL - максимизация функции ценности V для оптимальной политики π *. Для этого функция ценности должна удовлетворять следующему уравнению Беллмана. Уравнение Беллмана говорит нам, что оптимальная политика должна неявным образом максимизировать функцию ценности (совокупное вознаграждение в будущем) в среднем для всех возможных состояний.

Вы можете спросить, зачем нам Q-функция. Существует прямая связь с ним и политикой, которая есть;

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

Модель Бесплатного обучения с подкреплением

Model Free RL основан исключительно на опыте с отсутствием функций модели и вознаграждения.

Методы Монте-Карло

Метод Монте-Карло использует статистическую выборку для аппроксимации функции Q. Чтобы использовать такие методы, нужно дождаться завершения моделирования, потому что для каждого состояния используется совокупная сумма вознаграждений в будущем.

После посещения состояния sₜ и выполнения действия aₜ возврат Gₜ рассчитывается исходя из его определения с использованием мгновенных и будущих вознаграждений, ожидающих окончания эпизода. Методы Монте-Карло направлены на минимизацию разрыва между Q (sₜ, aₜ) и целевым значением Gₜ для всех возможных выборок.

При заданной скорости обучения α функция Q обновляется как;

Методы временной разницы (TD)

Методы временной разницы (TD) загружают оценку функции Q для целевой доходности. Это позволяет агенту обновлять функцию Q из каждой награды.

Основные методы TD - SARSA и Q Learning.

  • SARSA сводит к минимуму разрыв между Q (sₜ, aₜ) и целевым значением rₜ₊₁ + γ Q (sₜ₊₁, aₜ₊₁), которое представляет собой начальную оценку доходности. Поскольку следующие действия также требуются, он называется SARSA, указывающий состояние, действие, награду, состояние, последовательность действий. При скорости обучения α Q обновляется на;

  • Q Learning минимизирует разрыв Q (sₜ, aₜ) и целевое значение rₜ₊₁ + γ max Q (sₜ₊₁, ·), которое также является начальной оценкой доходности. В отличие от SARSA, он не требует следующих действий и предполагает, что наилучшее действие выполняется в следующем состоянии. При скорости обучения α Q обновляется на;

Модельное обучение с подкреплением

В RL на основе модели модель и функция вознаграждения либо задаются заранее, либо изучаются методами SL.

RL на основе модели зависит от качества изученной модели.

Динамическое программирование

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

Поиск на основе моделирования

Иногда пространства состояний и действий слишком велики. Это делает динамическое программирование неприменимым. В таких случаях генерируются случайные траектории моделирования. Остальное - это обычный Model Free RL, и можно использовать методы Монте-Карло или Temporal Difference. Единственное преимущество такого подхода в том, что агент моделирует, начиная с того состояния, в котором он хочет.

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

Заключение

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

В целом, RL - это не что иное, как обучение в динамической среде. Существует множество алгоритмов и методов RL, но я попытался дать основные определения и алгоритмы, чтобы дать новичкам представление об этом, сохраняя определения как можно более простыми. Надеюсь, тебе понравилось!

В качестве дополнения я оставляю симуляцию OpenAI Hide and Seek с RL.