Как Google делает искусственный интеллект эффективнее человека
Массовое проникновение нейросетей в игровую индустрию в первую очередь связано с компанией DeepMind, принадлежащей Google. В 2015 году издание Wired рассказало о том, как специалисты натренировали нейросеть проходить 49 видеоигр для Atari 2600. Были выбраны разные жанры, от гонок до файтинга. Результат везде одинаковый — нейросеть быстро осваивала новую механику и часто превосходила по мастерству профессионального тестера.
15 марта 2016 года мир ещё раз услышал о DeepMind. Разработанная компанией программа AplhaGo обыграла в го Ли Седоля (Lee Sedol) — одного из сильнейших игроков на планете. В серии из пяти партий человек одержал только одну победу — в четвёртом матче.
Ли Седоль ощутил на себе эффективность ИИ / Фото: bbc.com
Го считается одной из самых сложных игр из-за невероятного количества вариантов. Во время партии невозможно понять, является текущее состояние выигрышным или проигрышным. Одну и ту же ситуацию разные эксперты оценивают по-разному. Максимум, на что способен человеческий мозг, — создать гипотезу и, исходя из имеющегося опыта, догадаться, какие действия подходят больше всего в данный момент. По сути, речь идёт о развитой интуиции, которую невозможно ни просчитать, ни смоделировать.
Уникальность AlphaGo в том, что это самообучающаяся программа. Фактически она состоит из двух нейросетей. Первая училась на существующих партиях предсказывать лучшие ходы, вторая оценивала позицию с точки зрения предыдущего опыта. Процесс принятия решения в итоге состоял из трёх этапов:
Программа предсказывает следующий лучший ход. Программа просчитывает разные варианты, основываясь на предыдущем опыте. Программа решает, станет её позиция лучше или нет.
Выполнение этих трёх действий уже выводит нейросеть на уровень хороших игроков в го. Но разработчики пошли дальше и научили AplhaGo создавать партии и играть саму с собой. В результате программа может создавать для себя обучающую выборку, осваивая новые ходы и стратегии без посторонней помощи.
Такой подход к нейросети как к самообучающемуся интеллекту открыл перспективы для развития ИИ, в том числе в игровой индустрии. Посмотрев на успехи DeepMind, другие разработчики тоже приступили к обучению нейросетей и более широкому применению наработок в играх.
Боты учатся намного быстрее человека. Им даже не надо объяснять правила
Один из примеров самообучающегося искусственного интеллекта — генетический алгоритм. В нём обучение похоже на механизм эволюционного отбора. Разные версии ботов соревнуются между собой, самые эффективные дают потомство, передавая детям удачные черты.
Простой пример — обучение птиц в игре Flappy Bird. Нейросеть создал программист Срджан Суснич (Srđan Susnich). В начале симуляции он выбрал случайные числа для нейронов и связей. Далее система работала самостоятельно, оценивая успех через расстояние, которое преодолела каждая птица. В каждом поколении соревновались 10 особей. После того, как все они разбивались, программа отбирала 4 лучших птиц, которые производили ещё 10 испытуемых. Здесь в работу как раз включался генетический алгоритм.
Если лучших птиц просто клонировать, результаты не улучшатся — каждая гонка будет проходить по одному и тому же сценарию в соответствии с теми параметрами, который задал создатель нейросети. Но если перемешивать гены условных «мамы» и «папы», а также вводить случайные изменения, то уровень приспособленности будет меняться.
Использование рекомбинации и мутации дало отличный результат. В эксперименте Срджана Суснича уже в третьем поколении лучшая птица преодолевала 4 препятствия, в десятом — 8 препятствий, а в 73-м поколении появилась особь, которая преодолела 448 препятствий, после чего исследователь завершил симуляцию. Этого чемпиона по Flappy Bird игра вывела самостоятельно с помощью процессов, благодаря которым развивалось многообразие жизни на Земле.
Куда более известный и массовый эксперимент — умные боты от компании OpenAI (один из основателей — Илон Маск), которые сами научились играть в Dota 2. Разработчики не пытались имитировать поведение человека, а предоставили ИИ возможность создать его с нуля. Алгоритм запустили в Доту, после чего он начал проводить матчи и самостоятельно выводить закономерности.
По сути, OpenAI Five (так называется бот, играющий в Dota 2) на старте находился в тех же условиях, что и любой начинающий игрок. Он попадал в виртуальный мир и учился с ним взаимодействовать. Но боты видят игру не так, как мы. Они не наводят курсор, чтобы прочитать описание, не смотрят стримы на Twitch и видео на YouTube, чтобы разобраться в персонажах. Они анализируют огромные наборы цифр, большая часть которых для них ничего не значат.
Вряд ли вы бы стали играть, если бы видели геймплей так же, как AI / Фото: championat.com
Со временем бот понимает, что вот этот набор цифр — это оглушение противника, а вот этот — время восстановления способности. Но для этого ему нужно провести сотни тысяч игр. Чтобы немного ускорить процесс, разработчики используют систему наград. Бот стремится в течение определенного промежутка времени заработать как можно больше баллов — например, за добычу золота и опыта или уничтожение строений. Чтобы нейросеть не занималась только набиванием очков для наград, разработчики её дополнительно настраивают. Получается такое самообучение с подкреплением.
Это и есть слабое место искусственного интеллекта в современных играх. Он пока не может быть полностью самостоятельным — многое в алгоритмах завязано на данных, которые даёт человек. Но даже такой «слабый искусственный интеллект» способен играть на уровне лучших дотеров мира. Боту для этого не нужно глубоко анализировать игру. Он просто экспериментирует, проводит миллионы матчей и набирается опыта гораздо быстрее, чем любой топовый игрок. Доказательство — достижения OpenAI Five в матчах с людьми.
- 2017 год — бот в матче 1 на 1 побеждает Данила «Dendi» Ишутина, одного из самых известных дотеров в мире. 2018 год — OpenAI Five побеждает любительские команды в матчах 5 на 5, а затем обыгрывает со счётом 2:1 команду из бывших профессионалов, в которой выступали Уильям «Blitz» Ли, Иоаннис «Fogged» Лукас, Бен «Merlini» Ву, Остин «Capitalist» Уолш и Дэвид «MoonMeander» Тан. Правда, действующим профессионалам бот проигрывает — в матче с бразильской командой paiN Gaming человечество берёт реванш. апрель 2019 года — OpenAI Five обыгрывает команду OG, которая в 2018 (а затем и в августе 2019 года) становится первой на The International.
В командной игре с ботом все ещё установлены ограничения (например, нет большинства персонажей), но с каждым годом их становится меньше — искусственный интеллект развивается.
Нейросети пока не могут сами разрабатывать игры. Но скоро научатся
Усложнение поведения ботов — лишь небольшая часть того, что могут нейросети. Они также активно применяются в разработке игр, а в некоторых областях уже сейчас заставляют людей чувствовать себя неуютно.
Вот несколько задач из геймдева, с которыми неплохо справляются нейросети:
- Генерирование изображения игрового персонажа на основе фотографий лица. Автоматическое добавление одежды. На входе подаются разные изображения вещей, на выходе получается полностью одетый персонаж. Генерирование 3D-модели объекта на основе одного или нескольких двумерных изображений. Автоматическое создание локаций и уровней. На входе модель принимает изображение или описание составляющих, а на выходе отдаёт локацию в виде 3D-модели. Создание лицевой анимации. Одни модели генерируют голос на основе текста и соответствующее движение мимических мышц, другие способны воссоздать трёхмерный объект на основе нескольких изображений лица. Анимация персонажей по изображениям в полный рост. На основе одного или нескольких изображений нейросеть создаёт 3D-объект, который может двигаться: садиться, ходить, бегать.
Наверное, самую известную нейронную генеративную сеть, полезную при разработке игр, в 2018 году показала NVIDIA. Разработчики научили ИИ создавать виртуальные миры на основе видео с реальных улиц. На камеры были зафиксированы разные локации. Затем нейронную сеть обучили переносить «увиденное» в виртуальный мир с предельной точностью.
Сняли улицы, получили игровой мир / Фото: nvidia.com
По словам разработчиков, ИИ отрисовывает каждый объект, который затем доступен для редактирования. Получается существенная экономия времени и денег. Отснять улицы города и затем отредактировать детали гораздо проще, чем рисовать локации с нуля. Правда, это применимо только к играм, в которых используются пространства, существующие в реальном мире. Но потенциал у нейросети всё равно огромный.
Ещё одно решение от NVIDIA — нейросеть GauGan. Она превращает грубые наброски в реалистичные фотографии. Инструмент ускоряет рисование игровых локаций. Из бесформенных пятен после обработки получаются произведения искусства. Для демонстрации возможностей сервиса NVIDIA запустила онлайн-редактор — попробуйте.
Несмотря на внушительный список того, что ИИ может делать без участия человека, разработать даже простую игру с нуля нейросети пока не в состоянии. Максимум, на что их хватает, — текстовые квесты. Например, на Гитхабе есть проект AIDungeon 2, стилизованный под классическую ролевую текстовую игру. Его особенность в том, что игровой мир, развитие сюжета и все события генерируются нейросетью. Разработчик утверждает, что потенциально программа может создать бесконечное количество миров, которые не будут повторяться, так что играть в AIDungeon 2 можно вечно. У игры есть бесплатная браузерная версия — попробуйте.
Пишет с ошибками, но история уже неплохая
В основе проекта лежит нейросеть GPT-2. Компания OpenAI опубликовала её в общем доступе в ноябре 2019 года. Задача этой нейросети — создавать связный текст из предложенного набора данных. Например, на основе нескольких романов Джорджа Оруэлла она создала научно-фантастическую книгу, действие которой разворачивается в Китае.
В начале игры пользователь выбирает несколько параметров, исходя из которых генерируются стартовые позиции и завязка сюжета. Затем нейросеть создаёт мир, основываясь на поведении игрока. Для генерации новых ситуаций ИИ обращается к стартовым настройкам, реплике игрока, а также восьми последним действиям и их результатам. В итоге сеть выдаёт связный текст, который иногда невозможно отличить от написанного человеком. Однако встречаются и ошибки — например, при создании диалогов игра может перепутать, кому какая реплика принадлежит.
С более сложными играми нейросети пока справляются заметно хуже. Показательный пример — эксперимент исследователей из технологического института Джорджии. Разработчики создали алгоритм, который наблюдает за людьми, играющими в классические игры, а затем создаёт новые проекты. В качестве способа обучения специалисты выбрали мимикрию, рассудив, что именно так дети учатся творчеству — подражая взрослым.
Искусственный интеллект наблюдал за тем, как люди проходят первые уровни в Super Mario Bros., Kirby’s Adventure и Mega Man. После получения необходимых данных нейросеть составляла соотношение между объектами и их взаимодействием с миром. Затем исследователи ставили перед ИИ задачу разработать похожее игровое пространство.
Главная проблема, с которой столкнулись учёные, — нейросетям трудно копировать механику игры. Некоторые достижения в этом направлении есть, но исследования продолжаются. Поэтому в перспективе для разработки игр ещё долго будут требоваться реальные специалисты, хоть с некоторыми задачами ИИ справляется уже сейчас.
Нейросети изменят игровую индустрию. Затем ИИ возьмётся за другие сферы жизни
Что мы можем получить в играх будущего:
- Уникальный пользовательский опыт. Представьте, что персонаж игры — ваша точная копия, оцифрованная с фотографий и затем анимированная. Это совершенно другой уровень вовлечённости, максимальная ассоциация себя с героем. Вместо заскриптованных противников и союзников в режиме PvE будут боты, обученные менять стратегию и вообще вести себя, как живые игроки. Это даст уровень интереса и насыщенности событиями, как в PvP, но с меньшей токсичностью и социальным давлением — боты не будут оскорблять тех, кто играет плохо. Хотя они могут научиться этому очень быстро — достаточно пустить нейросети в игровые чаты. Подобный пример уже был в истории развития ИИ. В 2016 году Microsoft запустила в Twitter бота Тэя. Пользователям понадобился один день, чтобы познакомить его с идеями Гитлера, а также научить оскорблять людей по расовым, социальным и другим признакам. Эксперимент был признан неудачным, но зато благодаря ему возник важный вопрос — как обучать ИИ с помощью общедоступных данных, не прививая ему худшие человеческие черты? Окружающий мир начнёт жить своей жизнью, которая будет меняться в зависимости от действий игрока. По сути, у каждого геймера игра может идти по уникальному сценарию. Нейросети будут реагировать на изменения и предлагать новые условия игрового мира.
Если игрокам развитие искусственного интеллекта принесет в основном положительные эмоции, то у разработчиков могут возникнуть серьёзные проблемы — вплоть до потери работы. Первыми пострадают художники, которые занимаются созданием визуальной части. Автоматическое формирование текстур, генерация уровней на основе видеосъемки, анимирование персонажей по фотографиям — всё это ИИ может делать уже сейчас. Следующими жертвами станут геймдизайнеры — алгоритмы научатся собирать игровой процесс из компонентов и адаптировать их под целевую аудиторию.
Нейросети обучаются (и самообучаются) очень быстро. По одному из прогнозов консалтинговой компании McKinsey & Co, к 2030 году из-за автоматизации до 800 миллионов человек могут потерять ту работу, которой они занимаются сейчас. Чем примитивнее задача, тем быстрее станет ненужным человек. Это уже заметно в игровой индустрии, но скоро распространится и на другие сферы жизни, потому что игры — это лишь удобная площадка для экспериментов с искусственным интеллектом перед его внедрением в реальную жизнь.
Источник: