В видеоиграх различные методы искусственного интеллекта использовались по-разному, от управления неигровым персонажем (NPC) до процедурной генерации контента (PCG). Машинное обучение — это разновидность искусственного интеллекта, которая фокусируется на использовании алгоритмов и статистических моделей, чтобы заставить машины действовать без специального программирования. Это резко контрастирует с традиционными методами искусственного интеллекта, такими как деревья поиска и экспертные системы.
Информация о методах машинного обучения в области игр в основном известна общественности благодаря исследовательским проектам, поскольку большинство игровых компаний предпочитают не публиковать конкретную информацию о своей интеллектуальной собственности. Наиболее широко известным применением машинного обучения в играх, вероятно, является использование агентов глубокого обучения, которые конкурируют с профессиональными игроками-людьми в сложных стратегических играх.
Машинное обучение широко применяется в таких играх, как Atari/ALE, Doom, Minecraft, StarCraft и автомобильных гонках. Другие игры, которые изначально не существовали как видеоигры, такие как шахматы и го, также пострадали от машинного обучения.
==========================
Агенты машинного обучения использовались для замены человека-игрока, а не для работы в качестве NPC, которые намеренно добавляются в видеоигры как часть разработанного игрового процесса. Агенты глубокого обучения добились впечатляющих результатов при использовании в конкуренции как с людьми, так и с другими агентами искусственного интеллекта.
Шахматы
Шахматы — это пошаговая стратегическая игра, которая считается сложной проблемой ИИ из-за вычислительной сложности ее игрового поля. Подобные стратегические игры часто решаются с помощью той или иной формы поиска по минимаксному дереву. Известно, что эти типы агентов ИИ побеждали профессиональных игроков-людей, например, в историческом матче 1997 года Deep Blue против Гарри Каспарова.
С тех пор агенты машинного обучения показали еще больший успех, чем предыдущие агенты ИИ.
Го (Go)
Го — еще одна пошаговая стратегическая игра, которая считается еще более сложной проблемой ИИ, чем шахматы. Пространство состояний is Go составляет около 10 ^ 170 возможных состояний доски по сравнению с 10 ^ 120 состояний доски для шахмат. До недавних моделей глубокого обучения агенты AI Go могли играть только на уровне человека-любителя.
АльфаГо
Google AlphaGo 2015 года стал первым агентом ИИ, который победил профессионального игрока в го. AlphaGo использовала модель глубокого обучения для обучения весам поиска по дереву Монте-Карло (MCTS). Модель глубокого обучения состояла из 2 ИНС, сети политик для прогнозирования вероятностей потенциальных ходов противников и сети значений для прогнозирования шансов на победу в данном состоянии. Модель глубокого обучения позволяет агенту исследовать потенциальные игровые состояния более эффективно, чем обычный MCTS. Сначала сеть обучалась на играх людей-игроков, а затем обучалась на играх против самой себя.
АльфаГоу Ноль
AlphaGo Zero, еще одна реализация AlphaGo, могла полностью тренироваться, играя против себя. Он смог быстро обучиться способностям предыдущего агента.
Серия StarCraft
StarCraft и его продолжение StarCraft II — это видеоигры в жанре стратегии в реальном времени (RTS), ставшие популярной средой для исследований ИИ. Blizzard и DeepMind работали вместе, чтобы выпустить общедоступную среду StarCraft 2 для исследований ИИ. Различные методы глубокого обучения были протестированы в обеих играх, хотя у большинства агентов обычно возникают проблемы с тем, чтобы превзойти ИИ по умолчанию с включенными читами или опытными игроками в игре.
Альфастар
Alphastar был первым агентом ИИ, который победил профессиональных игроков в StarCraft 2 без каких-либо игровых преимуществ.
Сеть глубокого обучения агента первоначально получала данные из упрощенной уменьшенной версии состояния игры, но позже была обновлена для игры с использованием камеры, как и другие игроки-люди. Разработчики не опубликовали код или архитектуру своей модели, но перечислили несколько современных методов машинного обучения, таких как реляционное глубокое обучение с подкреплением, долговременная кратковременная память, авторегрессивные заголовки политик, сети указателей и централизованное значение. базовый уровень. Первоначально Alphastar обучался обучению с учителем, он просматривал повторы многих человеческих игр, чтобы изучить основные стратегии. Затем он тренировался на разных версиях самого себя и был улучшен за счет обучения с подкреплением. Окончательная версия была чрезвычайно успешной, но она была обучена только игре на определенной карте в зеркальном матче протоссов
===================================
Сильные и слабые стороны агентов глубокого обучения
===================================
Агенты машинного обучения часто не рассматриваются во многих курсах по дизайну игр. Предыдущее использование агентов машинного обучения в играх, возможно, было не очень практичным, так как даже версия AlphaGo 2015 года требовала сотни процессоров и графических процессоров для обучения до сильного уровня Это потенциально ограничивает создание высокоэффективных агентов глубокого обучения крупными корпорациями или очень богатыми людьми. Обширное время обучения подходов на основе нейронных сетей также может занять недели на этих мощных машинах.
Проблема эффективного обучения моделей на основе ANN выходит за рамки мощных аппаратных сред; поиск хорошего способа представления данных и извлечения из них осмысленных вещей также часто является трудной проблемой. Модели ANN часто подходят для очень специфических данных и плохо работают в более общих случаях. AlphaStar демонстрирует эту слабость, несмотря на то, что он может победить профессиональных игроков, он может сделать это только на одной карте при игре в зеркальном матче протоссов. OpenAI Five также демонстрирует эту слабость: он смог победить профессионального игрока только тогда, когда столкнулся с очень ограниченным пулом героев за всю игру. Этот пример показывает, насколько сложно обучить агента глубокого обучения работе в более общих ситуациях.
Агенты машинного обучения продемонстрировали большой успех в самых разных играх. Однако слишком компетентные агенты также рискуют сделать игру слишком сложной для новых или случайных игроков. Исследования показали, что задача, которая намного превышает уровень навыков игрока, может лишить игрока удовольствия.Эти хорошо обученные агенты, вероятно, желательны только против очень опытных игроков-людей, которые имеют многочасовой опыт в данной игре. Учитывая эти факторы, высокоэффективные агенты глубокого обучения, вероятно, являются желательным выбором только в играх с большой соревновательной сценой, где они могут функционировать в качестве альтернативы опытному игроку-человеку.
=======================
Машинное обучение для процедурной генерации контента в играх
Машинное обучение было исследовано для использования в рекомендациях и генерации контента. Генерация процедурного контента — это процесс создания данных алгоритмически, а не вручную. Этот тип контента используется, чтобы добавить играбельности играм, не полагаясь на постоянные дополнения со стороны разработчиков. PCG использовался в различных играх для различных типов генерации контента, примеры которого включают оружие в Borderlands 2, все макеты мира в Minecraft и целые вселенные в No Man’s Sky. Общие подходы к PCG включают методы, включающие грамматики, поисковые алгоритмы и логическое программирование.Эти подходы требуют, чтобы люди вручную определяли диапазон возможного контента, а это означает, что разработчик-человек решает, какие функции составляют допустимую часть сгенерированного контента. Машинное обучение теоретически способно изучить эти функции, если дать примеры для обучения, что значительно сокращает сложный этап, на котором разработчики указывают детали дизайна контента.Методы машинного обучения, используемые для создания контента, включают долговременную кратковременную память (LSTM), рекуррентные нейронные сети (RNN), генеративно-состязательные сети (GAN) и кластеризацию K-средних. Не во всех этих методах используются ANNs, быстрое развитие глубокого обучения значительно увеличило потенциал методов.