Боты, играющие в доту 2ИИ, обыгравший лучших игроков в го в мире, компьютеры, которые преуспевают в Doom. Что происходит? Есть ли причина, по которой сообщество ИИ так занято играми? Подсказка: это обучение с подкреплением.
Позвольте мне сказать так. Если вы хотите, чтобы робот научился ходить, что вы делаете? Вы создаете его, программируете и выпускаете на улицы Нью-Йорка? Конечно, нет. Вы создаете симуляцию, игру и используете это виртуальное пространство, чтобы научить его перемещаться по нему. Нулевая стоимость, нулевые риски. Вот почему игры так полезны в исследовательских областях. Но как научить его ходить? Ответ — тема сегодняшней статьи и, вероятно, самая захватывающая область машинного обучения в то время.
Вы, наверное, знали, что существует два типа машинного обучения. Контролируемые и неконтролируемые. Ну, есть и третий, который называется «обучение с подкреплением». RL, возможно, является самой сложной областью ML для понимания, потому что очень много вещей происходит одновременно. Я постараюсь максимально упростить, потому что это действительно удивительная область, и вы обязательно должны знать о ней. Но позвольте мне предупредить вас. Это включает в себя комплексное мышление и 100% концентрацию, чтобы понять его. И немного математики. Итак, сделайте глубокий вдох и давайте погрузимся в:
Марковские процессы принятия решений
Обучение с подкреплением — это процесс проб и ошибок, в котором ИИ (агент) выполняет ряд действия в среда. В каждый уникальный момент агент имеет состояние и действует от данного данного состояния к новому. Это конкретное действие может, а может и не иметь награда. Следовательно, можно сказать, что каждую эпоху обучения (или эпизод) можно представить как последовательность состояний, действий и наград. Каждое состояние зависит только от предыдущих состояний и действий, а поскольку среда по своей природе стохастична (мы не знаем, какое состояние будет следующим), этот процесс удовлетворяет марковское свойство. Марковское свойство говорит о том, что условное распределение вероятностей будущих состояний процесса зависит только от текущего состояния, а не от последовательности событий, которые ему предшествовали. Весь процесс называется Марковский процесс принятия решений.
Давайте посмотрим на реальный пример с использованием Super Mario. В этом случае:
-
Агент — это, конечно же, любимый Марио.
-
Состояние – это текущая ситуация (допустим рамка нашего экрана)
-
Действия: движение влево, вправо и прыжок
-
Окружение — это виртуальный мир каждого уровня;
-
И награда в том, жив Марио или мертв.
Хорошо, мы правильно определили проблему. Что дальше? Нам нужно решение. Но сначала нам нужен способ оценить, насколько хорошо решение?
Я говорю о том, что награды за каждый эпизод недостаточно. Представьте себе игру Марио, в которой Марио контролируется агентом. Он постоянно получает положительные награды на протяжении всего уровня, незадолго до финального флага его убивает один Хаммер Бро (ненавижу этих парней). Вы видите, что каждой отдельной награды недостаточно для победы в игре. Нам нужна награда, которая захватывает весь уровень. Именно здесь срок действия дисконтированное совокупное ожидаемое вознаграждение вступает в игру.
Это не что иное, как сумма всех вознаграждений, за вычетом коэффициента gamma, где gamma принадлежит (0,1). Скидка необходима, потому что вознаграждение в начале, как правило, гораздо значительнее, чем в конце. И это имеет смысл.
Следующим шагом является решение проблемы. Для этого мы определяем, что цель задачи обучения такова: агент должен узнать, какое действие выполнять из заданного состояния, которое максимизирует кумулятивное вознаграждение с течением времени. Или чтобы выучить Политика π: S->А. Политика — это просто сопоставление между состоянием и действием.
Чтобы суммировать все вышесказанное, мы используем следующее уравнение:
где V (Ценить) это ожидал долгосрочное вознаграждение, достигаемое политикой (π) от государства (государств).
Ты все еще со мной? Если да, давайте сделаем паузу на 5 секунд, потому что это было немного ошеломляюще:
1…2…3…4…5
Теперь, когда мы восстановили ясность ума, давайте подведем итоги. У нас есть определение проблемы как марковский процесс принятия решений, и у нас есть цель изучить наилучшую политику или наилучшую ценность. Как мы поступим?
Нам нужен алгоритм (Спасибо, Шерлок…)
Что ж, существует множество алгоритмов RL, разработанных за эти годы. Каждый алгоритм фокусируется на разных вещах, будь то максимизация ценности, политики или того и другого. Использовать ли модель (например, нейронную сеть) для имитации среды или нет. Будет ли это захватывать награду на каждом этапе или в конце. Как вы уже догадались, не очень просто разбить все эти алгоритмы на классы, но это то, что я собираюсь сделать.
Как видите, мы можем разделить алгоритмы RL на две большие категории: основанные на моделях и не связанные с моделями:
Модельный
Эти алгоритмы нацелены на то, чтобы узнать, как работает среда (ее динамика) на основе наблюдений, а затем спланировать решение с использованием этой модели. Когда у них есть модель, они используют какой-то метод планирования, чтобы найти наилучшую политику. Известно, что они эффективны с данными, но они терпят неудачу, когда пространство состояний слишком велико. Попробуйте построить алгоритм на основе моделей для игры в го. Не произойдет.
Динамическое программирование методы являются примером методов, основанных на моделях, поскольку они требуют полного знания среды, такой как вероятности перехода и вознаграждения.
Без модели
Алгоритмы без моделей не требуют изучения среды и хранения всех комбинаций состояний и действий. Их можно разделить на две категории в зависимости от конечной цели обучения.
на основе политики методы пытаются найти оптимальную политику, будь то стохастическая или детерминированная. К этой категории относятся такие алгоритмы, как градиенты политик и REINFORCE. Их преимущества заключаются в лучшей сходимости и эффективности в многомерных или непрерывных пространствах действия.
Методы, основанные на политике, по сути являются проблемой оптимизации, где мы находим максимум функции политики. Вот почему мы также используем такие алгоритмы, как стратегии эволюции и восхождение на вершину.
Ценностно-ориентированный методы, с другой стороны, пытаются найти оптимальное значение. Большая часть этой категории — семейство алгоритмов, называемых Q-learning, которые учатся оптимизировать Q-Value. Я планирую тщательно проанализировать Q-обучение в следующей статье, потому что это важный аспект обучения с подкреплением. Другие алгоритмы включают SARSA и итерацию значений.
На пересечении политики и метода, основанного на ценности, мы находим методы «актор-критик», целью которых является оптимизация как политики, так и функции ценности.
А теперь к крутой части. В последние несколько лет в городе появился новый ребенок. И было неизбежно затронуть и усовершенствовать все существующие методы для решения Reinforcement Learning. Я уверен, вы догадались. Глубокое обучение. Таким образом, у нас появился новый термин для обозначения всех этих новых исследовательских идей.
Глубокое обучение с подкреплением
Глубокие нейронные сети использовались для моделирования динамики среды (на основе режима), для улучшения поиска политики (на основе политики) и для аппроксимации функции значения (на основе значения). Исследование последней (мой любимой) привело к созданию модели под названием Deep Q Network, которая, наряду с ее многочисленными улучшениями, ответственна за некоторые из самых поразительных прорывов в этой области (например, Atari). И чтобы еще больше вас заинтересовать, мы используем не только простые нейронные сети, но и сверточные, рекуррентные и многие другие.
Хорошо, думаю, для первого знакомства с Reinforcement Learning достаточно. Я просто хотел дать вам основу для всей идеи и представить вам обзор всех важных методов, реализованных за эти годы. Но также, чтобы дать вам подсказку о том, что будет дальше в этой области. Хотите узнать больше? Ну во-первых это круто. Во-вторых, вы можете сделать это, используя этот удивительный набор курсов от Курсера
До моей следующей статьи, следите за обновлениями.
Чтобы прочитать следующую статью в разделе «Путь к обучению с подкреплением», нажмите здесь.
* Раскрытие информации: Обратите внимание, что некоторые из приведенных выше ссылок могут быть партнерскими ссылками, и без дополнительной оплаты для вас мы будем получать комиссию, если вы решите совершить покупку после перехода по ссылке.