Не просто игра: зачем ИИ обучают шахматам, покеру и The Sims
Об авторе: Александр Панов, кандидат физико-математических наук, директор лаборатории «Когнитивные системы ИИ» Института AIRI, директор центра когнитивного моделирования МФТИ.
На заре развития искусственного интеллекта ученым нужны были критерии для оценки уровня его развития. Была середина XX века, пик популярности шахмат — и именно способность играть в шахматы стала показателем «интеллектуальности» технологии. Конечно, в то время ИИ не был настолько мощным, чтобы решать шахматные задачи, поэтому его тестировали на более простых играх и задачах, например для доказательства теорем из планиметрии.
Любая игра — небольшой замкнутый мир со своими правилами, так что это отличный полигон для экспериментов и тестирования свойств ИИ. Посмотрим, какие навыки и как именно тренируются на играх разного типа.
Шахматы и го
Умение играть в шахматы долгое время считалась эталоном для развития искусственного разума. Создать алгоритм, способный составить конкуренцию человеку в этой игре, впервые получилось в конце 1980-х: им стал шахматный суперкомпьютер Deep Blue компании IBM. А в 1997 году Deep Blue смог выиграть матч у тогдашнего чемпиона мира Гарри Каспарова.
Шахматы, как и го (логическая настольная игра, возникшая в Древнем Китае), развивают и проверяют два важнейших свойства ИИ-систем: предсказательность, то есть способность заранее просчитать ход другого игрока, и умение решать логические задачи. Эти навыки необходимы во многих других областях применения ИИ — в робототехнике, автоматизации, для предсказания результатов маркетинговых стратегий и т д. Например, алгоритм MCTS, который тестировался на шахматах и используется в некоторых шахматных движках, лег в основу одной из систем планирования перемещений роботов при автоматизации складов. Конечно, у обучения ИИ на шахматах есть и более узкие задачи — тренировка спортсменов и развлечение.
Чаще всего системы искусственного интеллекта обучают на большом количестве сыгранных партий. Алгоритм анализирует их, а затем дообучается на игре с самим с собой.
Есть и системы, которые обучаются с нуля, без готового материала, например AlphaGo Zero и MuZero от DeepMind. Для этого может использоваться метод Monte Carlo tree search, в основе которого — дерево возможных последствий каждого хода. Любое последствие алгоритм «проигрывает» до финала, запоминая, какие действия приводят к успешному сценарию, а какие — к негативному. Так накапливается обширная статистика, на основе которой ИИ принимает решения в будущих партиях.
Покер
Покер — это игра в условиях высокой неопределенности. Поэтому с его помощью ИИ-алгоритмы учатся принимать решения, просчитывать риски и разрабатывать успешные стратегии в условиях неопределенности. В таких средах и применяются обученные алгоритмы: например, ИИ может решать задачи биржевой торговли — составить инвестиционный пакет и управлять им, не падая ниже заданного уровня доходности. Другой пример — рекламные инструменты, которые выбирают, какое объявление показать пользователю, чтобы он кликнул на него с наибольшей вероятностью.
Для обучения таких алгоритмов, конечно, нужна очень большая выборка сыгранных партий. Но плюс в том, что в покере партии короче, чем в шахматах, так что их перебор не занимает много времени.
Предсказание поведения человека — это сложная и нетривиальная задача. Обычно для этого используется обучение с подкреплением, дополненное эвристическими алгоритмами (практический метод решения задачи) для оценки действий других игроков. В таком подходе агент учится принимать решения, получая награды или штрафы за свои действия, и на основе этого опыта улучшает свои стратегии. Сочетание обучения с подкреплением и эвристических алгоритмов позволяет создавать более адаптивный и интеллектуальный ИИ, способный эффективно работать в условиях неопределенности и справляться со сложностями многопользовательских игр или ситуаций.
The Sims
В 2023 году группа исследователей из Стэнфордского университета и Google создали внутри игры The Sims виртуальный город Смолвиль и заселили его 25 персонажами, сгенерированными с помощью GPT. Персонажи начали вести себя так, что настоящим людям было трудно отличить их от реальных игроков.
The Sims по своему жанру — симулятор жизни. Его применяют не столько для обучения ИИ, сколько для того, чтобы оценить его способность имитировать человеческое поведение. Для этого используются большие языковые модели (Large Language Models, LLM), предобученные на большом количестве текстов. Эти модели мы встречаем, например, в ChatGPT — именно они позволяют алгоритму поддерживать беседу и отвечать на вопросы в «человеческой» формулировке.
The Sims, по сути, просто переводила текстовый диалог с LLM в действия персонажей. Это как если бы мы написали ChatGPT: «Представь, что ты Джон Смит, работаешь страховым агентом, живешь в таком-то доме, проснулся с утра в понедельник, что ты будешь делать?» — и он ответит: «Сварю себе кофе, схожу в душ, поеду на работу». И так для каждого персонажа.
The Sims помогает протестировать LLM в условиях автономной коммуникации агентов и понять, чего ей не хватает перед тем, как погрузить ее в реальную среду. Допустим, разработать на ее основе голосового помощника, который будет общаться по телефону с клиентами. Или станет LLM-ассистентом, который будет помогать нам планировать свои действия, составлять график на день и решать бытовые задачи. LLM используется и в робототехнике: с помощью текстовых описаний робот учится выполнять определенные действия в разных ситуациях.
StarCraft и Dota
Если в шахматах, го и покере ИИ-система играет за одного игрока, то в StarCraft нужно управлять несколькими юнитами и координировать их действия между собой. Задача ИИ тут усложняется именно этим согласованием стратегий разных юнитов — условно говоря, чтобы они стреляли не друг в друга, а в противников.
В реальной жизни таких задач очень много. Простой пример — управление светофорами в конкретной локации. Чтобы уменьшить пробки, каждый светофор нужно переключать с учетом, во-первых, дорожной ситуации, а во-вторых — работы других светофоров (например, чтобы запустить для машин «Зеленую волну»).
На StarCraft очень похожа Dota — здесь тоже есть кооперация агентов. В Dota меньше многоагентной специфики, поскольку мы управляем одним героем — но делаем это так, чтобы учитывать действия остальных игроков. Если речь о многопользовательской игре, мы не управляем другими игроками, но учитываем их действия и их принадлежность к своей команде или команде противника. Интересно и то, что для обучения ИИ-системы игру немного адаптировали, разработав специальную упрощенную карту.
Doom и Minecraft
На первый взгляд, Doom — обычный шутер, где игроку нужно исследовать локации, убивать противников и прокачивать свою защиту. Но у этой игры есть особенность, которая делает ее интересной для обучения ИИ-систем: в отличие от всех предыдущих игр, в качестве входной информации в Doom игрок получает только картинку — то, что он видит перед собой.
В шахматах игроку дается описание игрового поля, то есть закодированная численная информация. В The Sims — текст, в StarCraft и Dota — векторное описание среды. Иначе говоря, во всех случаях алгоритм получает уже обработанную информацию. В Doom же обучение строится исключительно по картинке: система обрабатывает визуальную информацию, запоминает ее и на основе этого строит свое поведение.
Это свойство хорошо переносится на навигационные задачи, например обучение беспилотного транспорта. Кроме того, среда Doom помогает тестировать методы внутренней мотивации — поощрение алгоритма за исследование среды и перемещение по локациям. Это тоже применяется в робототехнике.
Еще одна популярная у ученых видеоигра в жанре песочницы — Minecraft. В отличие от других игр, здесь нет четких правил и сюжета, фантазия и действия игрока ограничиваются только определенными условностями мира. Можно собрать какой угодно объект, с помощью него добыть новый ресурс, что-то построить и т.д. Все это позволяет использовать платформу как тестовую среду для продвинутых методов обучения с подкреплением. Сложность этой «вселенной» позволяет исследователям изучать, как ИИ-агент может ориентироваться, манипулировать объектами и взаимодействовать с миром. Навыки, полученные системами в Minecraft-средах, могут быть применены в первую очередь в робототехнике, навигации и принятии решений в неопределенной среде.
Будущее игр для обучения ИИ
Игры используются всеми командами, работающими в области обучения с подкреплением (RL, англ. reinforcement learning), как бенчмарки для оценки качества моделей. Часто такие исследовательские группы не специализируются на конкретных играх. Исследователям даже не нужно знать правила игры или играть в нее самим, поскольку предполагается, что агент выучит все самостоятельно.
Разумеется, игровые задачи всегда проще реальных. Замкнутость игрового мира одновременно и облегчает процесс обучения, и является его ограничением, поскольку игра не может полностью воспроизвести реальный мир, где больше рисков и неопределенности. Поэтому исследователи и разработчики игр создают все более сложные симуляторы, которые могут ставить перед алгоритмами задачи, максимально приближенные к реальным. Однако пока что решение сложных задач в реальном мире все еще требует участия человека.