Приключенческая игра с самым опасным ИИ в мире
Сегодня мы расскажем вам о невероятной нейросетевой игре — текстовом аналоге «Подземелья и драконы», где сюжет никогда не повторяется. Попробуете сыграть с самым опасным искусственным интеллектом?
Игра, которая переписывает сама себя
Мы уже писали о нейросети GPT-2, которая умеет генерировать реалистичный текст. Вы можете дать ей начало предложения, и она попытается закончить его. Создатели нейросети сочли слишком рискованным выкладывать полную версию алгоритма в открытый доступ, но это не остановило энтузиаста Натана Уитмора — на основе GPT-2 он разработал текстовую приключенческую игру GPT Adventure.
Опираясь на интеллектуальную инфраструктуру нейронной сети, GPT Advenure переписывает текст игры заново при каждом новом старте. Всё приключение выдумывается на ходу в зависимости от того, что вы напишете. Если указать текущее местоположение игрока и его действие — например, «иду на восток», — а после попросить GPT-2 предсказать, что будет дальше, то она расскажет о последствиях этого действия. Затем игрок совершает следующий шаг, и таким образом складывается полноценное приключение.
В GPT Adventure игровой мир генерируется с помощью алгоритма прогнозирования. Это означает, что число комнат и монстров неизвестно заранее: игра начинается со старта в какой-либо локации, а затем использует AI и определяет, что будет дальше.
Чтобы превратить GPT-2 в Мастера Подземелий, её создатель, Натан Уитмор, начал собирать записи пользователей, играющих в Zork и Colossal Cave Adventure. Эти текстовые приключенческие игры созданы в середине 1970-х годов для мэйнфрейма PDP-10. Компьютер был размером с холодильник и значительно уступал в мощности даже современным смартфонам, которые теперь помещаются в карман. Уитмор вдохновился Mind Game — вымышленной игрой, создаваемой искусственным интеллектом в научно-фантастическом романе Орсона Скотта Карда «Игра Эндера».
«Чтобы создать GPT Adventure, я должен был обучить GPT-2 генерировать текст, похожий на сюжет игры», — говорит Уитмор. «Это делается с помощью алгоритмов, которые автоматически корректируют внутренние параметры GPT-2 до тех пор, пока создаваемые фразы не будут походить на текстовое приключение. GPT-2 изучает механику игр, что позволяет ей полноценно вливаться в процесс. Нейросеть генерирует текст по принципу: «Если игрок смотрит на восток, опиши объект к востоку от него».
Получившаяся игра во многом напоминает старые текстовые приключенческие игры с теми же базовыми элементами и механикой. Уитмор признаёт, что для этого ему пришлось добавить несколько дополнительных настроек. «GPT-2 иногда допускает ошибки, например, забывает, где находится игрок», — говорит автор. «Мой код сводит число ошибок к минимуму и делает игру более стабильной».
Бездушный алгоритм или творчество?
GPT Adventure — неплохая игра, хотя иногда её сюжет развивается очень странным образом. Когда люди пытаются использовать ИИ для создания текстов, ошибки и странности в генерации сюжетной линии происходят постоянно: взять хотя бы сгенерированный нейросетью монолог JD из “Scrubs” или новые главы «Игры Престолов». Если вы когда-либо запускали текстовые игры, то можете заметить, что в GPT Adventure используются и порой странным образом смешиваются некоторые их идеи и концепции.
Но на самом деле подобные явления помогают развивать творческий искусственный интеллект. Хотя в процессе игры нейросеть может утрачивать логику повествования, она всё равно постоянно анализирует шаги игрока и пытается продолжить сюжет.
«Очень круто, что игровой процесс полностью открытый и для вас нет никаких ограничений», — говорит Уитмор. «Игре можно сказать «съесть камень» или «оседлать овцу», и она попробует выяснить, что должно произойти дальше. Вы можете делать любые странные вещи, которые никто не догадается запрограммировать. Этим GPT Adventure превосходит традиционные игры, поскольку её навыки позволяют правдоподобно строить любое развитие сюжета».
Такое поведение отчасти является творческим, хотя нейросети на самом деле не придумывают новые истории или идеи, а просто используют отрывки из существующих произведений. Но понятие творчества трактуется по-разному, поэтому создание связного игрового сюжета вполне можно отнести к проявлению креатива.
Давайте сыграем!
Чтобы убедиться в возможностях искусственного интеллекта, попробуем запустить и протестировать игру. Её интерфейс максимально упрощён: нет ни музыки, ни визуальных эффектов. Весь код написан на Python в среде Jupyter Notebook. Запустить его можно прямо из браузера, перейдя по ссылке ниже:
https://colab.research.google.com/drive/17L6oCyJygOdWdp08QMiRhaMCRHBbUkV8
Посмотрим на игровой процесс. Для начала устанавливаем несколько библиотек и подключаем GPT-2:
После появления надписи «Установка завершена», можно запустить следующую ячейку. Но сначала обратим внимание на пару строк кода.
Изменив текст, который записан в переменную history, вы можете начать игру в любом месте. Только помните, что писать надо на английском языке.
1 2 |
# Этот текст определяет место, где начинается игра. Вы можете написать всё что угодно! history="you are standing in a featureless white room. An ominous noise comes from somewhere up ahead." |
Также можно отключить строгий режим игры, чтобы позволить GPT Adventure иногда предпринимать некоторые действия за вас. Но это может привести к совершенно нелогичным поворотам сюжета. Включение строгого режима делает игру более последовательной.
1 2 |
# Измените на True, чтобы сделать игру более последовательной, но, возможно, немного менее интересной STRICT_MODE=True |
Теперь можно начать игру.
Механика очень проста: GPT генерирует новую строку, а игроку надо ввести какое-либо действие, чтобы продолжить. Если не менять текст истории, то в начале вы находитесь в безликой белой комнате и слышите зловещий шум. Дальнейшее зависит только от ваших действий и от того, насколько необычной окажется сгенерированная нейросетью история.
Например, мы в процессе игры наткнулись на тролля, победили его и нашли сокровища, но уронили их в пропасть (а заодно и топор тролля, который хотели забрать себе). Спустившись в пропасть, мы попали в сказочное королевство и нашли волшебный магазин, в котором купили крылья, чтобы летать. Это позволило оседлать летающего единорога и найти расщелину, где мы вновь победили очередного тролля и заодно разжились украшенным драгоценными камнями скарабеем.
Как видите, игра старается строить более или менее последовательный сюжет, но в ней отсутствует какое-либо развитие персонажа и стремление к логичному завершению. Наблюдать за бесконечно продолжающейся историей можно довольно долго, поскольку этот процесс затягивает и завораживает. Но ошибки всё ещё встречаются: иногда игра зависает на одной и той же фразе или повторяет описание местоположения несколько раз. Если искусственный интеллект уже обыгрывает человека в шахматы и самостоятельно придумывает стратегии для пряток, вполне возможно, что скоро нейросетевые игры выйдут на новый качественный уровень.
⌘⌘⌘
Делитесь в комментариях своими историями, в которые вас завела GPT Adventure. Как вы думаете, смогут ли нейросети приблизиться к человеку в плане творчества и креатива? А может быть, гипотеза симуляции верна, и мы все давно находимся в большой приключенческой игре, созданной ИИ?