Настоящий господин ведьмак: беседа с создателями искусственного интеллекта с личностью Геральта

ИИ, который может поддержать беседу, и его применение в игровой индустрии.

Российская компания Mind Simulation Lab специализируется на исследованиях в области искусственного интеллекта. Основная их разработка — ИИ-Стив, но есть и побочная, содержащая в себе знания о вселенной «Ведьмака». ИИ, получивший имя Геральт, может поддержать диалог, рассказать о монстрах, персонажах, местах и предметах.

Как заявляют в Mind Simulation Lab, её разработки могут быть применимы в игровой индустрии для создания полноценных «живых» NPC, способных реалистично реагировать на слова и действия игрока. Мы пообщались генеральным директором компании Леонидом Дерикьянцем о том, что из себя представляет эта технология и как она в теории будет работать в играх.

Настоящий господин ведьмак: беседа с создателями искусственного интеллекта с личностью Геральта

В текущем виде, чем ваш ИИ отличается от условных чат-ботов, которые способны отвечать на вопросы и реагировать на конкретные слова-триггеры?

Главное отличие искусственного интеллекта Mind Simulation от других заключается в том, что он думает, а не просто ищет триггеры в тексте.

Работа практически всех существующих чат-ботов построена на парах вопрос-ответ. На миллионах именно таких пар или, например, диалогов и тренируются нейросети. Тысячами итераций. Мы считаем, что это неправильный путь: такие системы не понимают, с какими данными работают, не понимают что делают, что знают и так далее. Человек же так не учится — нам достаточно одной итерации для понимания чего-либо.

Для некоторых ещё дополнительно пишут интенты (ещё их называют скиллами, капсулами, навыками) для решений конкретных задач. Разработка таких интентов требует значительных усилий — это полностью ручная обработка каждого возможного сценария. И по сути, это микропрограммы, обёрнутые в вызов каким-либо триггером. Вот пример.

Настоящий господин ведьмак: беседа с создателями искусственного интеллекта с личностью Геральта

Интеллекта в таких системах нет. Более того, они обычно привязаны к языку, и перевести их полностью на другой язык крайне проблематично.

Наша разработка основывается на других принципах, а именно: на представлении знаний в виде набора последовательно усложняющихся слоёв, использующих различные формы представлений. ИИ знает, как оперировать такими знаниями и как формировать ответы на их основе.

После того, как языковые модули преобразуют входящий текст во внутреннее представление (создав «образ» вопроса или утверждения, который накладывается на имеющуюся картину мира), запускается каскад интеллектуальных агентов, которые и формируют ответ.

У нас на сайте наша технология описана более подробно, без углубления в алгоритмистику, но общее представление сформировать эта информация позволяет.

Настоящий господин ведьмак: беседа с создателями искусственного интеллекта с личностью Геральта

Вы говорили о том, что ваш ИИ в теории можно интегрировать в видеоигры. Каких вычислительных мощностей это потребует? Насколько это будет трудозатратно с позиции разработчика?

Интегрировать его можно куда угодно: в умную игрушку, в робота, сделать персонального ассистента (к чему мы идём) или виртуального гида — неважно. Там, где нужен интеллект, его спокойно можно применять. Ядро ИИ для работы требует мало ресурсов, как вычислительных, так и места на жёстком диске.

Что же касается игр, то даже учитывая тот факт, что персонажей планируется множество, вычислительных мощностей это потребует немного. Вполне справится одно ядро центрального процессора. Знания, в большинстве случаев, интеллектуальные NPC будут разделять между собой, что не потребует значительного количества памяти. Одного гигабайта оперативной вполне достаточно.

Также внедрение такой технологии в игры позволит улучшить способ организации данных о сущностях мира игры и происходящих в нём событиях. ИИ, который развивается и обрастает знаниями параллельно разработке игры, может выступать и своего рода помощником для разработчиков, так как сможет указывать на пробелы и упущения. Это значит, что знания ИИ уже будут правильно сформированы к моменту выхода игры.

Из того же третьего «Ведьмака» вырезали немало контента, отчасти из-за того, что разработка игры обычно происходит в некотором хаосе. Следовательно, внедрение такой технологии не только не потребует дополнительных трудозатрат, но и поможет упростить и ускорить процесс создания контента.

Настоящий господин ведьмак: беседа с создателями искусственного интеллекта с личностью Геральта

В каждой игре есть баги, из-за которых нарушается работа всей системы. Это же касается и ошибок в сценарии, из-за которых возникают сюжетные дыры. Как ИИ будет реагировать на такие проблемы, которые, естественно, никто из разработчиков не планировал?

Различные события, происходящие по ходу игры, должны порождать новые знания в искусственном интеллекте. Если в результате ошибки событие не произошло, то и знание не сформируется. Знания ИИ пополняются по мере развития сюжета и действий игрока. Таким образом, ИИ может отражать в себе те ошибки, которые произошли в ходе игры.

Вы рассказывали о том, что ИИ можно будет применять для того, чтобы сделать NPC в играх «более разговорчивыми». А что насчёт их поведения? Сможет ли он управлять поведением персонажей?

Да, конечно, сможет. Однако существует поэтапность.

Сначала мы отработаем влияние личности персонажа на выбор тем и направлений в диалоге, его реакции на различные виды сообщений. В данный момент это касается уже совершённых событий. И только затем мы займёмся выбором вариантов развития будущих событий и действий персонажа, что потребует более глубокой интеграции с миром игры.

Первостепенная задача — интеллект, который «оживляет» NPC. Без него всё остальное будет бессмысленно. На самом деле, уровней управления много: от общих намерений (найти еду, поспать, выполнить квест) до управлений частями тела.

Настоящий господин ведьмак: беседа с создателями искусственного интеллекта с личностью Геральта

В демонстрационных роликах ИИ осмысленно отвечает на вопросы человека и порой даже задаёт собственные. Насколько долго с ним можно обсуждать одну тему? Запоминает ли ИИ сказанное ранее и может ли апеллировать к этому?

Беседовать с ИИ можно довольно долго — всё зависит от количества знаний в конкретной теме. Если вы попытаетесь поговорить с селянином про ведьмачьи эликсиры, то он вряд ли поддержит диалог — ведь он даже не представляет, что это такое. А вот про свои новые вилы с удовольствием расскажет.

Кроме того, ИИ может проявить инициативу и перевести диалог на другую тему, если в беседе всплывет ситуация или объект, вызывающий у ИИ сильные ассоциации.

Да, ИИ запоминает всё, что было сказано ранее и может возвращаться к этим знаниям и использовать их при необходимости. Также ИИ держит в памяти всю текущую беседу, но пока что не использует все знания из неё. Как раз сейчас мы работаем над пониманием больших связанных частей текста. Во втором своём ролике мы продемонстрировали эту возможность: подали русский текст на понимание, а потом начали задавать вопросы по-английски.

Это позволит полнее задействовать весь диалог, а также появится возможность объяснить ИИ нечто новое во время диалога, нечто что он до этого не знал. Эти результаты мы будем демонстрировать в отчётных видео в скором времени.

Как обстоят дела со спором с ИИ? Может ли он, например, поймать человека на противоречии?

О, да. Если настроить его черты характера так, чтобы он часто делал на этом акцент, то он постоянно будет нас поправлять. Возможность наличия противоречий в знаниях изначально заложена в системе. Он эти противоречия видит. Но на данный момент пока никак не реагирует на них в диалоге. Мы включим эту возможность немного позже.

Вы не используете нейросети. Как обучаются Геральт и Стив?

Да, не используем. Процесс обучения похож на обучение ребенка.

Родители объясняют детям: это собака, это листочек, это кошка и так далее. Мы пошли по подобному пути и сначала сформировали самую базовую картину мира. Это продвинутая версия онтологии с базовыми сущностями, а также знания других уровней, которые едины для любого мира и идут «в базе» у каждого ИИ или человека.

Сами знания расположены в слоистой структуре с повышением сложности организации от уровня к уровню. И так как это ребенок особенный, то у нас есть возможность «хирургически» заносить знания напрямую, без необходимости что-либо объяснять. Для этого у нас есть набор специальных модулей, которые позволяют обучать ИИ «рафинированными» (подготовленными в специальном виде) знаниями для каждого слоя.

Также мы используем псевдо-язык – точнее обычный язык, дополненный набором специальных тегов и знаков, которые позволяют упростить обучение ИИ на данном этапе. Такой язык позволяет снимать неопределённости естественного языка, что очень полезно пока не выстроена достаточно большая базовая картина мира.

Уже сейчас ИИ потихоньку начинает понимать обычный текст без дополнительных подсказок. Работы в этом направлении ещё достаточно, но мы хорошо продвигаемся.

Настоящий господин ведьмак: беседа с создателями искусственного интеллекта с личностью Геральта

«Это продвинутая версия онтологии с базовыми сущностями, а также знания других уровней, которые едины для любого мира и идут «в базе» у каждого ИИ или человека». Приведёте развёрнутый пример?

Да, конечно. Есть такая сущность — лошадь. Мы про неё знаем, что это животное, у неё четыре ноги, одна голова. Также мы знаем, что она может иметь различную масть, породу, возраст; может есть, спать, бегать; на ней можно ездить, она может тянуть телегу. Лошадь ест овёс, сено, яблоки, пьёт воду; ещё её можно купить, продать, украсть, убить. Вот это и есть одна и этих базовых сущностей, которая взаимосвязана с другими. Эти знания у ИИ должны быть изначально.

Про конкретно лошадь Геральта мы знаем то, что её зовут Плотва. Мы также можем знать какие лошади у других персонажей, какие у них особенности, свершившиеся с ними события, какие седла и шоры используют их хозяева и многое другое.

Что будет, если два ИИ начнут разговаривать друг с другом? Не случится ли повторения ситуации с Radiant AI в Oblivion?

Нет, это нам не грозит. Так как у нас диалог не заскриптован и, кроме того, ИИ помнит о чем говорил и с кем, то зацикливаний и повторений не возникнет.

Я бы хотел рассказать больше, но мы запланировали несколько демонстраций на ближайшее будущее, в которых будут ответы на эти вопросы.

Ранее вы говорили, что для создания Геральта нагружали ИИ информацией обо всём, что есть в игре. Также в ваших планах добавить знания о книгах. Так вот — как вы поступите с такими подробностями, которые Геральт не может знать с точки зрения сюжета? Вы планируете загружать знания для обучения, а потом блокировать их в «памяти», или же не «скармливать» ИИ эти знания вовсе?

Основное ядро ИИ будет знать о мире всё. Он будет смотреть на мир «со стороны» и говорить обо всех в третьем лице. Такой ИИ может стать интерактивной «вики» по вселенной игры или быть гидом, например.

А вот дальше есть несколько вариантов, и нам предстоит выбрать какой из них лучше.

  • ИИ-ядра отдельных персонажей будут надстройками над основным ИИ. Они будут «знать», что они «не знают» и иметь свои модели личности. Новые знания будут дополняться индивидуально.
  • Каждый NPC – это отдельное ядро ИИ со своим набором знаний. Мы подозреваем, что это может быть неэффективно с точки зрения использования ресурсов. Хотя и это касается только памяти, так как сам код ядра ИИ копировать не нужно, он един на всех, ни одной строчки кода не пишется индивидуально под какого-то NPC.
  • Все NPC существуют по первому принципу, но чем чаще вы взаимодействуете с конкретным персонажем, тем больше на него выделяется ресурсов и в конечном итоге выделяется отдельное ядро.

Возможно, мы найдём и более элегантное решение. В любом случае, вопрос этот более продуктовый, и видение тоже есть.

Сейчас мы формируем знания именно основного ИИ, который будет знать всё и про всех. На первом видео мы на время переключили его на личность Геральта и продемонстрировали первые диалоги. А вот во втором видео мы уже задаём вопросы основному ИИ без личности Геральта.

Что ИИ будет делать со знаниями, которые касаются нелинейности в играх? Например, кого выбрал игрок: Трисс или Йен? Убил ли он Лето? Что случилось с Кровавым Бароном? Как Геральт будет отвечать на эти вопросы?

На самом деле, нелинейность существует только с точки зрения игрока. Если мы поставим себя на место Геральта, то для него нелинейность отсутствует. Если он пощадил Лето, то значит таков путь, и он так решил.

Следовательно, по мере прохождения сюжета герои будут запоминать те решения, которые они приняли, и как это повлияло на мир. Если Барон повесился, то Геральт будет знать, что он мертв, а если Анну получилось правильно расколдовать, то Геральт будет знать, что Филип отправился на поиски её исцеления.

Что же касается нашего примера, то мы «заморозили» мир на момент окончания дополнения «Кровь и Вино». Геральт прошел определённый жизненный путь, принял конкретные решения, которые привели к определенным результатам.

Все развилки сюжета мы зафиксировали с точки зрения логичности. В этом нам помогло сообщество и Evoice Erebus (он помогает формировать картину мира как эксперт). На своём канале он выпустил три ролика, где последовательно рассмотрел логичные выборы с точки зрения характера Геральта, описанного в книгах и играх, которые Геральт сделал во всех частях игры.

Единственный спорный момент был в ролике по «Дикой Охоте»: мы не согласились с тем, что Геральт остался один, и оставили ему любимую.

Вы утверждали, что однажды с ИИ можно будет «душевно поболтать в таверне». Как вы собираетесь прописывать эмоциональность и черты характера? Манеру речи? Что вы сделаете для того, чтобы ИИ не оказался обычной базой данных, которую можно «прочитать»?

Некоторые шкалы настройки характера мы уже реализовали. Такие как: «болтливость», «любознательность», «инициативность», «кругозор», «желание постоянно давать советы» и ещё несколько других. Уже сейчас, меняя их, мы можем получить различные варианты протекания диалога.

В ИИ заложены возможности выражать свои мысли с помощью уменьшительно-ласкательных слов, жаргонизмов и даже обесцененной лексики. Это всё также настраивается. Мы активно работаем с психологами и лингвистами для выявления особенностей выражения эмоций (пока) через текст и создаем новые шкалы настройки личности. Сейчас ведётся большое исследование в этом направлении.

В теории, может ли характер ИИ, прописанный вами, измениться под воздействием игрока? Например, способен ли он озлобиться на всех вокруг, если его часто обманывать?

Да, он может измениться. Но я бы не сказал, что он просто озлобится на всех. Он может начать хуже относиться к тому, кто его часто обманывает и в целом стать менее доверчивым. Это в большей степени зависит от конкретного персонажа.

Черты характера задаются не константами, а переменными и диапазонами, в рамках которых характер может изменяться под действием внешних воздействий. Психически пластичный (неустойчивый) персонаж может из доброго превратиться в злого, но устойчивые личности, могут разозлиться в конкретной ситуации (выгнать из своего дома, например), но никогда не перейдут черты.

Я бы хотел подчеркнуть тот факт, что наш ИИ не станет злым с целью порабощения мира. Важно понимать, что наличие такой возможности в изменении характера NPC важно, ведь не могут же все быть ванильными и одинаковыми. В мире игр есть и отрицательные персонажи. И для того, чтобы миры были интересными это необходимо.

Настоящий господин ведьмак: беседа с создателями искусственного интеллекта с личностью Геральта

Вопрос Геральта «Как там Золтан?» — в этом моменте ИИ искренне поинтересовался о персонаже, или это все же был заскриптованный момент? Если нет, то как ИИ вообще дошёл до того, что начал интересоваться жизнью героев? Это выработанный искусственным интеллектом навык?

Еще раз напомню, что скриптов у нас нет. Здесь сработала сила инициативной связи. А именно: Геральт знает, что Золтан находится в кабаре у Лютика; они долго не виделись; Золтан для него важен, это его друг, а мы интересуемся людьми, которые нам важны. Вот поэтому и спросил. Это то, что я говорил до этого, про смену темы в диалоге. Мы заговорили о кабаре и Геральт вспомнил о старом друге, который там находится.

Также я хочу подчеркнуть тот факт, что интеллект хорошо стыкуется с тем, что разработчикам надо рассказывать свои истории, так как полноценная песочница не везде нужна. Если разработчикам надо, чтобы персонаж сказал что-то конкретное или сделал определённое действие в какой-то момент или при каком-то условии, то они смогут заложить в него непреодолимое и необъяснимое желание сделать это.

Помните как GladOS рассказывала Chel почему она всё время проводит тесты? Она говорила, что у неё начинается «зуд», если она не занимается исследованиями.

Если сказать Геральту, что у Золтана всё плохо или он вовсе умер, как ИИ отреагирует на это? Примет ли он эту информацию за чистую монету, запомнит ли?

У каждого персонажа (и у того, за которого играет человек) будет свой уровень доверия, который накладывается на все факты, сообщенные им ИИ. Если уровень низок, то ИИ будет относиться к сказанному недоверчиво, если высок, то поверит.

Запомнит он в любом случае, соотнеся информацию с её источником. А в дальнейшем может сделать и вывод, если информация будет подтверждена или опровергнута другими источниками.

Настоящий господин ведьмак: беседа с создателями искусственного интеллекта с личностью Геральта

Человеческий мозг устроен так, что привык, по сути, искажать факты, принимать во внимание «удобные» подробности и не обращать внимание на те, которые ломают нарратив и устраивают противоречия. Собираетесь ли вы симулировать эти особенности, или же ИИ будет оперировать четкими фактами? Если последнее, то как же вы тогда собираетесь добиться человечности?

Добиться естественности диалога и поведения в человеческом понимании — это неимоверно трудная задача. Сейчас идёт работа над решением задачи наиболее достоверного симулирования перечисленных особенностей. Увы, монографий и статей, посвященных компьютерному и математическому моделированию данных аспектов личности, практически нет.

На самом деле, в основном направлении развития ИИ в работе лаборатории задача моделирования всех особенностей человеческой психики не стоит. Но для создания компьютерных персонажей требуется проявление ими перечисленных вами особенностей. Это мы будем реализовывать дополнительной надстройкой над основным ИИ, это будет новый слой знаний.

Стоит также упомянуть, что в нашем ИИ нет вообще чётких фактов. В нём всё построено на вероятностных моделях и силах связей, что довольно близко к человеческому представлению знаний. Хотя память у него гораздо лучше человеческой.

Настоящий господин ведьмак: беседа с создателями искусственного интеллекта с личностью Геральта

Раз уж мы заговорили о памяти, и что у ИИ она «гораздо лучше человеческой» — собираетесь ли вы реализовывать свойство забывчивости у персонажей? Ведь у настоящих людей отдельные воспоминания со временем искажаются и стираются по мере накопления опыта. Возможно ли таким образом сформировать у ИИ ложное воспоминание? Или, например, может ли он забыть отдельные детали определённых событий?

Да, у нас это есть и мы планируем это развивать дальше .Если какая-то информация со временем не используется, то она может «угасать» и забываться ИИ. Это даже очень важно с точки зрения работы ИИ в условиях ограниченности ресурсов.

Также это может быть дополнительной настройкой личности персонажа. Можно сделать так, что у персонажа будет «короткая память» и он будет многое забывать или запоминать с искажениями. Ещё на этот процесс может влиять текущее состояние персонажа.

В «Дикой Охоте» есть сцена, где Геральт, Ламберт и Эскель напиваются и творят забавные вещи. Следовательно, если персонаж находится в состоянии «пьян», то даже если у него крутая память, то он может кое-что забыть после того, как протрезвеет.

Вообще, это очень интересно, ведь можно также задавать степень влияния таких состояний на мышление персонажей. Например, на какого-то персонажа опьянение может сильно влиять, несмотря на то, что у него идеальная память; кто-то будет спать, а кто-то искать приключения.

В недавнем нашем видео мы демонстрировали, как ИИ запоминает новую информацию, которую ему сообщает человек. Также он может и забыть что-то по нашей просьбе (в таком виде это, конечно, нужно нам как разработчикам и для демонстраций, в продукте эти механизмы будут работать в фоновом режиме).

Механизмы забывания продуманы. Возникает ещё другой вопрос, нужно ли это в полном объеме AGI для игр? Возможно это нужно для сюжета, тогда забывание можно реализовать по-другому — скриптом, вносящем изменение в знания.

Важно помнить, что и события в игре, и персонажи — это упрощенные модели реальности. И по нашему мнению не все игры надо слишком близко подводить к ней. В онлайн играх, например, без конкретного сюжета можно включить всё на максимум, а в играх, где история стоит на первом месте может быть достаточно и упрощённого варианта.

55 показов
5.7K5.7K открытий