12 ноября 2018 Живой журнал
7. Тест на универсальные навыки в видеоигра
Разговаривая о понимании и называя фильмы самым сложным вызовом для машин, я не случайно сделал оговорку «из предложенного набора». Поскольку существует еще более требовательный вид медиа. Да, видеоигры далеко не всеми признаются за искусство. Но нас сейчас интересуют не вопросы эстетики, а вопросы интеллекта — и здесь видеоигры оказываются настолько удачным инструментом, что всё остальное уходит на второй план.
Возможно, вы удивлены, поскольку не считаете компьютерные «игрушки» сколь-нибудь серьезным делом. Но подозревать в несерьезности Х. Эрнандеза-Оральо и Д. Доува, двух крупных специалистов по теории ИИ, у меня нет совершенно никаких оснований. Разрабатывая наиболее точный и наиболее универсальный подход к оценке интеллекта, опираясь на скрупулезные теоретические выкладки, они приходят к выводу, что именно видеоигры наиболее хорошо подходят под установленные ими требования.
Сама идея проверки интеллектуальных возможностей машин в играх не нова. Правда, в конце 1980-ых видеоигры были еще примитивны, и работа кипела над компьютерами, способными переиграть шахматных гроссмейстеров. Работа в конце концов увенчалась безоговорочным успехом — в мае 1997 IBM Deep Blue со счетом 3½–2½ обыграл действующего чемпиона мира Гарри Каспарова.
Это была громкая победа — бытовали представления, что шахматы требуют недюжинного интеллекта, соответственно, Deep Blue стали считать вехой в истории ИИ. Но насколько интеллектуален был Deep Blue? Дело в том, что все знания об игре в шахматы, вся база этюдов, все алгоритмы поиска ходов и т.д. были заложены в него разработчиками-людьми. Именно они были авторами победы, без их навыков Deep Blue не смог бы сделать даже ход е2-е4.
При каких же условиях в игру играет не закодированный человеческий интеллект, а интеллект искусственный? На этот вопрос в 2005 попытались ответить исследователи М. Джинсерет и Н. Лав. Они предложили такой вызов: создать универсальные алгоритмы, которые могут играть в любые игры, описанные формальным набором правил.
Чтобы было понятно, о чем идет речь, условно опишем правила игры «крестики-нолики». Это игра для двух игроков. Игровое поле — матрица 3х3. В начале раунда ячейки игрового поля пусты. Игроки делают ходы поочередно, за каждый ход заполняя одну пустую ячейку своим символом. Выигрывает игрок, первым создавший линию из трёх своих символов по горизонтали, вертикали или диагонали.
Ученые предложили формальный язык, которым можно описать правила подобного рода. Системе дают правила определенной игры, написанные на этом языке. И она, первый раз столкнувшаяся с этой игрой, должна без какого-либо участия разработчика хорошо играть в неё. На тематической конференции AAAI несколько раз организовывались конкурсы для таких алгоритмов, в которых они соревновались друг с другом сразу во многих видах игр.
Выглядит уже гораздо интереснее, правда? Однако и тут можно указать на некоторые слабые места. Во-первых, условия игры должны быть чётко формализованы. А вот реальный мир имеет совсем другую природу, здесь никто не предоставит однозначных формальных описаний. Поэтому игры, в которые умеют играть эти алгоритмы, слабо соотносятся с реальностью. Да и набор описывающих их правил принципиально ограничен тем языком, на котором они задаются, что дополнительно сужает рамки применимости алгоритмов.
Во-вторых, такие формальные игры вообще плохо подходят для отработки проблем, с которыми сталкивается развитие технологий ИИ. Комбинаторные проблемы, проблемы моделирования распределения вероятности, вообще вычислительные проблемы — всё это может быть очень трудным для человеческого интеллекта, но совершенно необременительно для машины. Между тем, именно такие проблемы, в основном, и ставят формально описанные игры. А вот проблема абстрагирования для машин - одна из ключевых, и подобные игры здесь бесполезны.
Мне не слишком хочется завязывать спор о том, какие игры следует считать «интеллектуальными», а какие — нет. Я просто хочу продемонстрировать различия в степени сложности разных типов игр. И первый показатель — это коэффициент ветвления. Он обозначает количество возможных решений на каждом ходу игры.
Cредний коэффициент ветвления для шахмат составляет 35. Коэффициент ветвления для игры го составляет от 361 в начале игры до нескольких десятков в конце, т. е. около 200 в среднем. Количество возможных позиций растет экспоненциально с каждым ходом, и на оценку каждой позиции нужны вычислительные ресурсы. Я думаю, теперь стало понятнее, почему чемпиона по шахматам компьютер победил в 1997, а чемпиона по го — только в 2017.
В современных видеоиграх коэффициент ветвления исчисляется тысячами. Но это еще не самое страшное. Если мы посмотрим на продолжительность игрового раунда, разница будет еще более масштабной. Типичная шахматная партия длится около 40 ходов. Партия в го — 200-300 ходов. Стандартный тикрейт, т. е. количество последовательных обсчетов игровой обстановки, для видеоигр составляет 60 в секунду. В более динамичных играх, например «Контр-Страйк», раунд длится несколько минут. Но не менее часто средняя продолжительность достигает 20 минут (скажем, в «Старкрафте»).
Итого, от 10 тыс. до 100 тыс. «ходов». И вот уже число возможных позиций 2*10^170, которым может похвастаться го, бледнеет — на первой же секунде более-менее приличной видеоигры теоретически может быть еще больше возможных действий.
А давай скатаем в "Доту", умник?
Но тут возникает специфическая проблема, связанная с применением методов машинного обучения. Самим перспективным из них в контексте автономности и ИИ считается обучение с подкреплением. Этот метод предполагает, что алгоритм должен получать информацию о том, насколько хорошо он справляется с задачей, в частности — ведёт ли он в игре. Именно на основе этой информации алгоритм и выбирает ходы из множества возможных.
Уже в го тактические победы в начале раунда могут обернуться стратегическим проигрышем в его финале. То есть, поверхностная информация о «правильных» действиях может завести алгоритм в стратегический тупик через 100-150 ходов. В случае с видеоиграми ситуация с этой информацией гораздо хуже. Например, в «Контр-Страйк» первая перестрелка с противником может случиться только через 15-20 секунд после начала раунда. В RTS до первых схваток проходит несколько минут.
То есть, как минимум, пару тысяч «ходов» алгоритм должен действовать без возможности как-то оценивать правильность своих решений. Эта проблема называется «редкость наград». Она очень актуальна и для вполне серьезных приложений, но именно видеоигры являются одним из самых удобных средств для отработки различных подходов к ее решению.
С другой стороны, очевидно, что с проблемой наград не справиться, не продвинувшись в способностях машин понимать игровую обстановку. И разница в сложности игровой обстановки между «классическими» и видеоиграми тоже свидетельствует о том, что вторые являются более крепким орешком.
Так, шахматная доска может быть описана 224 битами (максимально 32 фигуры, 1 бит присутствия на доске + 64 возможных позиции каждой). Позиция в го — 722 битами (361 ячейка, 3 возможных состояния каждой). В видеоиграх игровая ситуация даётся игроку опосредованно, через графическое изображение и аудиодорожку. В стандартном разрешении FullHD графика — это 2,07 млн. пикселей, цвет каждого описывается 24 битами. Стереоизображение удваивает количество пикселей. По сравнению с этим звук за 1/60 секунды добавит немного - 735 сэмплов по 16 бит каждый.
Таким образом, имеем 50-100 мегабит, или 5 порядков разницы с го. Разумеется, в этом потоке мегабитов огромный объем информации попросту избыточен. Но тут уже условия приближены к «боевым»: в окружающем ИИ реальном мире никто не будет заботливо отфильтровывать для него входящий поток информации с тем, чтобы отобрать только полезное.
С точки зрения обрабатываемого информационного потока почти нет никаких отличий от того, что требуется в тесте на полноту понимания фильмов. Самый важный фактор усложнения в видеоиграх — это необходимость постоянного выбора правильных решений из обширного пространства всех возможных, и, соответственно, умение оценивать правильность своих действий в нестандартной обстановке.
Но, с другой стороны, в случае с пониманием от ИИ требуется находить максимально глубокие смыслы. В видеоигры же достаточно просто уметь играть на сносном уровне — так что возросшая сложность здесь в чем-то компенсируется более скромными критериями успеха. Более того, учитывая преимущество машины в памяти, скорости и точности реакции перед человеком (а видеоигры ориентированы на последнего), ИИ гораздо проще показывать сносные результаты.
Мы разобрались, почему видеоигры являются сложным тестом для ИИ. Но почему они являются хорошим тестом? Для ответа на этот вопрос нам понадобится вернуться к теории. В 2010 году Дж. Лэйрд и Р. Рэй опубликовали ряд характеристик, которым должны соответствовать ИИ-агенты и та среда, в которой они демонстрируют свои умения. Обратимся к требованиям, относящимся к среде:
И можем сразу оценить, соответствуют ли им ранее описанные тесты. Так, С2 в части динамизма окружения есть проблемы у теста Лавлейс и теста на глубину понимания, в части открытости — у теста Возняка, теста Ортиза на сборку и опять у теста на понимание. Эти же тесты не отвечают С4, где подразумевается взаимодействие между несколькими агентами. Тест Тьюринга может не проходить по С6, так как не ограничивает никакими рамками общение между участниками.
А что по видеоиграм? Сразу видно, что не каждая из них будет отвечать всем критериям. Но эта фильтрация весьма полезна: остаются только самые сложные окружения, требовательные к интеллектуальным навыкам и позволяющие оценить всю полноту способностей ИИ. Помимо того, как правило, более сложные игры стремятся к реалистичности графики, что делает их еще более релевантными в деле обучения ИИ. И таких игр — реалистичных, сложных, с разнообразными и богато структурированными объектами, открытых, многопользовательских, со сложными и необычными задачами и т. п. - существует очень много.
Дополним этот список еще несколькими достоинствами видеоигр. Во-первых, видеоигра представляет собой уже готовую, цельную, отлаженную, базирующуяся на представлениях из реального мира и качественно визуализированную среду.
Во-вторых, здесь, в отличие от теста Тьюринга, игровой характер работает на пользу процессу тестирования. В видеоиграх изначально заложена предельно конкретная цель, которой нужно достигнуть агенту. Более того, видеоигры проектируются исключительно вокруг этой цели и процесса ее достижения. Таким образом, оценка ИИ здесь интуитивно понятна, точна и абсолютно объективна. Можно сказать, что видеоигры являются практически идеальным «испытательным полигоном».
В-третьих, виртуальный игровой мир строится так, чтобы постепенно знакомить игрока со своим устройством. Чтобы игрок не потерялся в «сложной богатой среде», он начинает с обучающих уровней, где в очень доступной форме объясняются основы игрового процесса. ИИ нужно будет понимать такой формат обучения в той же степени, как его понимает человек. В дальнейшем сложность игрового процесса нарастает, и параллельно усложняются вызовы, которые надо преодолевать игроку.
Наконец, видеоигры способны предложить очень широкий спектр окружений, предъявляющий экстремальные требования к универсальности навыков и гибкости ИИ. По сути, пользуясь сравнением Гёрцеля и Бугаджа, каждая видеоигра представляет собой отдельный микрокосм, только гораздо более проработанный и структурированный, по сравнению с несколько наивным «воспитательным» вариантом авторов «детского сада для ИИ». Начиная с натуралистичных 3D-шутеров и заканчивая космическими стратегиями, каждый виртуальный мир может потребовать от машинного интеллекта самых неожиданных способностей и познаний.
В этом плане приведенные выше в качестве примеров «Контр-Страйк» и «Старкрафт» являются далеко не самыми сложными. Возьмем, скажем, игры жанра RPG, особенно построенные в формате sandbox. Их продолжительность составляет десятки часов. Здесь не обойтись без серьезных достижений в обработке естественного языка. ИИ нужно понимать нарратив, из которого складывается сюжет игры. Ведь именно продвижение по сюжету в данном случае является целью игрока.
Еще больше трудностей может возникнуть с новаторскими видеоиграми, не укладывающимися в рамки сложившихся жанров. Конечно, если мы будем совсем строго подходить к отбору игр, нам придется исключить однопользовательские. Но, возможно, стоит пожертвовать этой строгостью ради большего разнообразия.
Ведь именно способность разбираться в самых разнообразных окружениях является главной для любого интеллекта. И поэтому неиссякающий поток новостей об успехах искусственных нейросетей в видеоиграх — при всей важности этих успехов — пока свидетельствует лишь о неприступной проблеме генерализации.
Команда нейросетей может быть обучена хорошо играть в «Дота 2». Однако эти же самые нейросети даже не смогут найти кнопку окончания хода в «Цивилизации». Узкая специализация — это большое ограничение, но еще хуже то, что данные алгоритмы абсолютно несамостоятельны. По сути, как и в случае с Deep Blue, на плечи разработчиков ложится самая сложная часть работы. Без месяцев кропотливого труда и изящных решений, рожденных пытливыми умами, ничего бы не получилось. Даже с такой поддержкой алгоритмам нужны миллионы часов игрового времени на обучение.
Получается, что по части универсальности программы, участвующие в турнирах по «обычным» играм AAAI, кардинально превосходят эти нейросети, несмотря на всю продвинутость последних. К счастью, у данного турнира есть идейное продолжение в области видеоигр. Называется оно «General Video Game - AI Competition» (GVGAI). Правда, ИИ может не пользоваться видеоинтерфейсом и получать игровую ситуацию в более формализованном виде. Как вы можете догадаться, сделано это в целях снижения сложности задачи.
Сами игры представляют собой аркадную классику: например, «Сокобан» или «Пакман». Опять же, это предельно простые игры, пожалуй, не отвечающие ни одному из критериев Лэйрда-Рэя. Увы, но здесь нам придется вернуться к вопросу о высоте «планки»: универсальность ИИ-агентов в «правильных» определениях нам сейчас попросту недоступна. Даже с такими простыми играми нынешний ИИ совладать не может: обучающиеся алгоритмы показывают откровенно неудовлетворительные результаты, едва превосходя стратегию случайного выбора действия. Подробности изложены в этом отчете; добавим, что условия тестирования довольно жесткие: на ознакомление с новой игрой алгоритму даётся 3 минуты.
Возможно, иного не следовало и ожидать: пока такие алгоритмы-игроки весьма примитивны. Однако существует игровое соревнование, в котором участвуют гораздо более сложно устроенные ИИ-агенты. Это «The Text-Based Adventure AI Competition». Как ясно из названия, оно также основано на ретро-жанре компьютерных игр, имеющих текстовый интерфейс. Жанр, как и в предыдущем случае, задает довольно низкую планку. Тем не менее, и здесь, несмотря на сложность алгоритмов и уровень планки, с генерализацией дела обстоят плохо. Результат ИИ-агентов по-прежнему лишь немного лучше случайного выбора команд.
Конечно, такие слабые достижения несколько обескураживают. С другой стороны, они показывают, что универсальность в видеоиграх является действительно масштабным вызовом для ИИ, несмотря на наше снисходительное отношение к этому виду развлечений.
Но одновременно видеоигры дают нам все возможности для «масштабирования» этой масштабной задачи. Ведь у нас есть обширнейшая коллекция уже созданных образцов, позволяющая очень плавно повышать уровень сложности, из раза в раз ставя перед алгоритмами принципиально досягаемые для них вызовы. И это еще одно преимущество видеоигр: богатство имеющегося материала делает их полезным тестом на самых разных этапах развития ИИ.
Рано или поздно, но такие благоприятные условия должны дать свои плоды. Тест на универсальность в видеоиграх — далеко не самый тяжелый среди представленных в этом обзоре, и он вполне может быть пройден машиной раньше других.
/ (C) Источник
Не является индивидуальной инвестиционной рекомендацией | При копировании ссылка обязательна | Нашли ошибку - выделить и нажать Ctrl+Enter | Отправить жалобу