Автор: Шамиль Мамедов Редактор: Иван Перминов

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

walking_bot.gif

parkour.gif

Конечная цель обучения с подкреплением — решение задач посредством взаимодействия со средой. В отличие от обучения с учителем, агент не знает правильных ответов и учится путем максимизации вознаграждений, которые дают обратную связь о качестве его действий. Для наглядности представим нашего агента в виде единорога, как показано на рисунке 1. Его цель — собрать как можно больше монет. За каждую монету он получает вознаграждение +1, а за смерть от злых осьминогов –1. После многих попыток единорог обучается избегать осьминогов и собирать максимальное количество монет.

Рисунок 1. Пример видеоигры как простой среды. Есть агент единорог и вознаграждения +1 за монету и -1 за смерть

Рисунок 1. Пример видеоигры как простой среды. Есть агент единорог и вознаграждения +1 за монету и -1 за смерть

Парадигма обучения с подкреплением

Ключевые персонажи в обучении с подкреплением — агент и среда.

Среда представляет собой мир, в котором агент существует и с чем-то взаимодействует. На каждом шаге агент получает состояние среды $s_t$ и на его основе принимает решение $a_t$. Среда может изменяться либо в результате взаимодействия с агентом, либо сама по себе.

Помимо состояния среды агент получает вознаграждение от среды $r_t$. Это числовое значение, которое отражает качество принятого решения и ценность нахождения в данном состоянии. Цель агента заключается в максимизации суммарного вознаграждения — дохода (англ. return).

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

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

Гипотеза вознаграждений

Гипотеза вознаграждений — основа обучения с подкреплением. Она утверждает, что любая цель может быть выражена через максимизацию скалярного числа, называемого вознаграждением. Например, в шахматной игре за победу агент получает +1, за проигрыш - 0 или -1. В случае робота-сортировщика за каждую отсортированную вещь он получает +1. Для достижения наилучшего поведения агент должен максимизировать среднюю сумму вознаграждений.

Состояния и наблюдения

Состояние или наблюдение — информация о среде, которую получает агент. Для видеоигр это может быть скриншот экрана, для агента-трейдера — цена определенной акции, а для робота — данные с камеры, лидара и энкодеров. Различие между состоянием и наблюдением можно объяснить так:

Рисунок 3. Положение всех фигур в шахматах — состояние среды, потому что оно полностью описывает среду

Рисунок 3. Положение всех фигур в шахматах — состояние среды, потому что оно полностью описывает среду

Рисунок 4. Скриншот не является состоянием среды в видеоигре, так как не описывает ее целиком. Например, он не указывает направление движения агента

Рисунок 4. Скриншот не является состоянием среды в видеоигре, так как не описывает ее целиком. Например, он не указывает направление движения агента

Пространство действий

Пространство действий — набор всех возможных действий, которые способен выполнить агент. В таких средах, как видеоигры и шахматы, число действий ограничено. Их называют дискретными пространствами действий. Однако в других средах, например, в управлении автономным автомобилем или роботом, число действий может быть бесконечным (любое значение угла поворота руля от 0 до 180 градусов). В таких случаях говорят о непрерывных пространствах действий.

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