В каком-то смысле, это можно назвать местью алгоритмам игр от повзрослевших геймеров.
В 2018 на заголовках новостных сайтах красовалась новость о победе искусственного интеллекта (ИИ) над игрой Montezuma's Revenge (Месть Монтесумы). Над прохождением этой игры мучились геймеры 80-ых на игровых приставках Atari 2600, 5200, на компьютерах ZX Spectrum, Commodore 64 и под DOS.
Ссылка на видео о том, как ИИ проходил игру Montezuma's Revenge, приведена в конце статьи.
Теперь ИИ может проходить всё больше и больше игр, достигая при этом почти идеальных результатов. И что с того, спросите вы? Дело в том, что это поможет будущим роботам исследовать реальную среду. Сейчас объясним как.
Независимо от того, являетесь ли вы профессиональным геймером или время от времени погружаетесь в этот мир, скорее всего, вы точно застревали где-то в процессе прохождения игры или были раз сто подряд побеждены кровожадным монстром в одной из них. Может быть, в своем отчаянии вы даже пинали свою консоль или системный блок компьютера. Может быть, вы вымещали своё отчаяние и злость на геймпад или, если вы ребенок из 80-х, вы заставляли за всё поплатиться джойстик.
Теперь группа компьютерщиков из Uber AI мстит за всех нас, кто был в такой ситуации. Используя семейство простых алгоритмов, названных “Go-Explore”, они вернулись к отложенной мести и прошли некоторые из самых известных сложных игр Atari, чьи массивные блоки пикселей и восьмибитные мелодии когда-то бросали нам вызов, дразнили и даже приводили в ярость.
Но что дает возвращение к этим играм 80-х и 90-х годов, кроме исполнения детской фантазии?
По словам ученых, опубликовавших свою работу в журнале Nature, эксперименты с решением видеоигр, требующих сложных, трудных исследований, уступают место лучшим алгоритмам обучения. Они становятся более умными и лучше работают в реальных сценариях.
“Одна из приятных вещей Go-Explore заключается в том, что она не ограничивается только видеоиграми, но может применяться в практических приложениях, таких как робототехника.”
Это цитата Йоста Хейзинга, одного из главных исследователей Uber AI. Йост разработал Go-Explore вместе с Адриеном Экоффетом и другими учеными.
Так как же это на самом деле работает? Давайте начнем с основ. Когда ИИ обрабатывает изображения мира в виде пикселей, он не знает, какие изменения следует учитывать, а какие игнорировать. Например, небольшое изменение рисунка облаков на небе в игровой среде, вероятно, не имеет значения при изучении указанной игры. Но увидеть искомый ключ от тайной двери - это уж точно важно. Но для ИИ и то, и другое - лишь изменение нескольких пикселей в этом мире.
Вот тут-то и требуется особое машинное обучение, которая помогает ИИ анализировать окружающую среду, чтобы решить, что имеет значение и какие действия учитываются с помощью сигналов обратной связи в виде внешних и внутренних вознаграждений.
“Это то, что животные постоянно делают. Вы можете себе представить, что если вы прикоснетесь к горячей плите, вы сразу же получите сильную отрицательную обратную связь, например: "Эй, это то, что вы не должны делать в будущем". Если вы съедите плитку шоколада, предполагая, что вы любите шоколад, вы сразу же получите положительный сигнал обратной связи, например: "Эй, может быть, мне следует больше искать шоколад в будущем". То же самое верно и для машинного обучения. Это те вопросы, которые должен решать ИИ чтобы, возможно, когда-то выиграть игру.”
Создание алгоритма, который может перемещаться по комнатам с препятствиями, наградами для сбора и ловушками, которых надо избегать, означает, что вы должны создать искусственный интеллект, который любопытен и может исследовать окружающую среду особым способом. Это помогает ему решить, что приближает его к цели.
Обучение с поощрением отлично подходит для этого, но оно не подходит абсолютно для всех ситуаций.
“На практике обучение с поощрением работает очень хорошо, если у вас есть очень богатая обратная связь, если вы можете сказать: "Эй, это движение хорошо, это движение плохо, это движение хорошо, это движение плохо".”
В играх Atari, таких как Montezuma's Revenge, игровая среда дает мало обратной связи, и ее награды могут намеренно привести к тупикам. Случайное исследование пространства не сокращает путь к победе.
“Вы можете себе представить, и это особенно верно в таких видеоиграх, как "Месть Монтесумы", что иногда вам приходится совершать множество очень специфических действий: вы должны уклоняться от опасностей, перепрыгивать через врагов. Случайные действия, такие как "а давай прыгнем сюда?", в этом новом месте просто приведут к проигрышу, потому что это было плохое место для прыжка. И это особенно неприятно, если вы прошли довольно далеко в игре.
Вы не можете полагаться только на “внутреннюю мотивацию”, которая в контексте искусственного интеллекта, как правило, исходит из изучения новых или необычных ситуаций.
"Допустим, у вас есть робот, и он может входить в доме налево и направо. Допустим, сначала он идет налево, исследует пространство, то есть какое-то время получает награду за это. Он не заканчивает исследовать всю левую сторону, и в какой-то момент эпизод заканчивается, и он начинается заново в начальной комнате. На этот раз он уходит довольно далеко в комнату справа и тоже исследует не всю правую сторону. А потом он возвращается в исходную комнату. Теперь проблема в том, что он ходил и влево, и вправо, и он уже видел начало, и он больше не получает внутренней мотивации для того, чтобы идти куда-то.”
Короче говоря, он перестает исследовать и считает это достаточным для победы.
Отказ от места, которое ранее уже было посещено и где уже была получена награда, не работает в сложных играх, потому что вы можете упустить важные подсказки.
Go-Explore обходит это, не вознаграждая некоторые действия, такие как переход в новое место. Вместо этого он поощряет “достаточное исследование” пространства, без каких-либо намеков или небольших подсказок, позволяя своему ИИ явно “запоминать” перспективные места или состояния в игре.
Как только ИИ записывает это состояние, он может перезагрузить его и намеренно исследовать - это то, что Адриен и Йост называют принципом “сначала возвращайся, а потом исследуй".
По словам Адриена, опираясь на другую форму обучения, называемую имитационным обучением, где ИИ могут имитировать человеческие задачи, их форма ИИ может пройти долгий путь, особенно в области робототехники.
“У вас есть разница между миром, в котором вы можете тренировать свой ИИ, и реальным миром. Например, если вы занимаетесь робототехникой, то вы моделируете вашу испытательную среду. Но вы ведь хотите, чтобы ваш робот работал в реальном мире, не так ли? И что же вы тогда можете сделать? Мы показываем это в нашей работе. Мы используем алгоритмы, которые называются "имитационное обучение".
Адриен и Йост говорят, что сила их модели заключается в ее простоте. Он может быть легко адаптирован и расширен в реальных приложениях, таких как изучение языка или разработка лекарств.