Достигнут ли когда-нибудь концепции «чистого ИИ» более высокого уровня (такие как Neural-Nets или Genetic Algos) в коммерческих играх?

18

Хотя графика - моя главная сфера деятельности, я довольно долго занимался концепциями Game AI; от простого A * поиска пути к замысловатым персептронам ..

У меня вопрос такой; Есть ли у кого-нибудь примеры успешной (или, что еще более интересно, неудачной) реализации некоторых концепций ИИ более высокого уровня в крупномасштабных коммерческих изданиях?

Под более высоким уровнем я подразумеваю методы симуляции интеллекта, которые обычно встречаются в Pure AI. Например.

  • Нейронные сети
  • Генетические алгоритмы
  • Теория принятия решений

Я понимаю, что, помимо финансового бюджета, разработчики также имеют бюджет использования памяти (при этом AI часто отходит на второй план). Многие из этих методов являются дорогостоящими для реализации и обеспечивают ограниченную отдачу. Я просто заинтригован, чтобы узнать, знает ли кто-нибудь, где или когда какие-либо из этих (или любые другие высокоуровневые концепции, которые я забыл упомянуть) были развернуты в любые известные игры :)

Я также знаю, что в этой отрасли коммерческие секреты являются фактом жизни;) Помимо названий AAA, если у вас есть какие-либо из ваших собственных историй успеха (или бедствий), было бы приятно услышать их! : D

Медный купорос
источник

Ответы:

18

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

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

В реальном мире вам обычно нужны надежность и предсказуемость. Проблема с методами обучения заключается в том, что если они учатся «в дикой природе», они могут выучить неправильные модели и быть ненадежными. NN или GA могут потенциально достичь локального максимума, который, как гарантируют, не будет достаточно хорошим, чтобы обеспечить требуемый игровой опыт, например. В других случаях это может оказаться слишком хорошим, найти идеальную стратегию, которая непобедима. Ни один из них не является желательным в большинстве развлекательных продуктов.

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

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

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

Кстати, «стоимость» метода не является проблемой. И NN, и GA могут быть реализованы чрезвычайно дешево, в частности, NN предоставляет возможность предварительного расчета и оптимизации. Проблема действительно в том, чтобы иметь возможность извлечь из них что-то полезное.

Kylotan
источник
3
Вне игр ГА были чрезвычайно успешны в поиске эзотерических решений инженерных проблем, например, ранняя работа д-ра Адриана Томпсона над генетическими цепями, приводящая к появлению «бесполезных» подсхем, которые влияли на поток таким образом, чтобы заставить остальных работать. Проблема в том, что эффективные эзотерические решения не ценны в играх, как в технике. Действительно сложная проблема игрового ИИ состоит в том, чтобы заставить ИИ иметь понятную стратегию, а не просто хорошо играть.
4
Я использовал GA для настройки переменных драйвера AI. Но, как вы упомянули, это было сделано в автономном режиме с помощью инструмента для генерации данных настройки. Игра не поставлялась с активной GA, только числа, которые были получены в ходе разработки.
wkerslake
@Joe - да, я сам люблю GA. Я думаю, что это довольно эффективный способ исследования проблемного пространства таким способом, который достаточно интуитивен для человека, настраивающего алгоритм. Я также использовал их для принятия решений в режиме реального времени, но трудно утверждать, что они были более эффективными или более эффективными, чем альтернативы.
Kylotan
+1 за знание предметной области. Также не стоит сбрасывать со счетов экономическое обоснование: недели программиста на создание и настройку гоночной трассы NN могут быть менее рентабельными, чем простой инструмент max для укладки сплайна и несколько дней времени на разработку.
Tenpn
Проблема в том, что для изучения чего-то полезного вам нужна большая нейронная сеть, которая требует больших вычислительных ресурсов. Если у вас небольшая сеть, тренироваться, как вы сказали, дешево, но у вас нет шансов научиться сложному поведению. Другая проблема, которую я вижу, заключается в том, что вам нужно огромное количество обучающих примеров для ML, поэтому вы не можете тренироваться во время игры, так как враги слишком долго станут умными. С другой стороны, Q-обучение подкрепления выглядит для этого хорошей техникой. Трюк сработает только один раз против этого ИИ. Я не уверен, использовали ли игры это все же.
Данияр
7

Применение «академического» ИИ в играх, как правило, более тонкое, чем то, что обычно считают ИИ в игровой сфере. Когда я учился в школе, мой преподаватель по искусственному ИИ был в центре внимания ИИ для управления камерой. Его другой областью интересов было управление нарративом искусственного интеллекта, которое, насколько я знаю, все еще ограничено научными кругами. Известным примером этой более поздней области будет фасад .

Основная проблема «академического» ИИ в играх заключается в том, что они решают разные задачи. Вы часто не хотите удовлетворять требованиям в игре; Вы просто хотите удовлетворить. Как было сказано ранее: вы не хотите быть легким, но вы не хотите, чтобы ваш противник ИИ был слишком сложным.

Тем не менее, серии игр Lionhead's Black and White действительно использовали ИИ, подобный тому, о котором вы говорите с вопросом выше, и, по крайней мере, были достаточно успешны для того, чтобы сделать продолжение .

Я помню сообщения о лучезарном искусственном интеллекте из «The Elder Scrolls IV: Oblivion», который также являлся примером этой вены поведения, но его пришлось заглушить из-за странного неожиданного поведения, такого как NPC, убивающих друг друга из-за еды.

lathomas64
источник
GA также используется в серии существ: en.wikipedia.org/wiki/Creatures_(artificial_life_program), но не так успешно, как ранее упомянутые черно-белые или Oblivion
lathomas64
Спасибо за ответ. Интересно, что вы упомянули, как важен баланс в игровом AI, так как почти во всех аспектах разработки игр, должно быть весело, пока они не стали реалистичными / правдоподобными. Слишком «умный» искусственный интеллект совсем не веселый, никто не любит умного Алекса :)
Bluestone
1

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

Лукас
источник
1

Forza использует нейронные сети для автомобильного AI. Из того, что я слышал, они изучили все заранее, до того как выпустили игру, так что это статическая нейронная сеть во время выполнения.

Мой друг о проекте рассказал мне об этом, но эта статья также говорит об этом: http://gamingbolt.com/forza-5-developer-best-explains-cloud-technology-create-ai-agents-to- обоюдная для вас,

Алан Вульф
источник
1

Поскольку вы просили привести примеры в промышленности, вот один для вас: самое раннее название, которое я знаю об использованных нейронных сетях, было Fantasy Empires, D & D TBS / боевик, выпущенный в 1993 году. Очевидно, они использовали их, чтобы вести то, что сказал бы мастер подземелья, и делайте это «разумно», но «непредсказуемо» ... если вы много играете в игру, вы можете не согласиться! Анимированный мастер подземелий предлагает руководство по вашему стилю игры, основанное на ваших недавних действиях, из коллекции статических звуковых фрагментов с использованием NN. Я предполагаю, что это действительно очень простая сеть.

(подробности см. на стр. 57 )

введите описание изображения здесь

инженер
источник
Это может быть интересным примером, но для тех, кто не играл в эту игру, это не сильно помогает. Можете ли вы уточнить, какие игровые механики контролируются нейронной сетью, каковы были намерения и привести примеры хороших и плохих результатов, которые она дала?
Филипп
@ Филипп Ваша точка зрения должным образом отмечена - ЭТА. Результаты были не столько «плохими», сколько просто, что аналоговая природа нейронных сетей, по-видимому, была потрачена впустую при квантовании до очень ограниченного набора выходных воздействий.
Инженер