Возврат к списку

Нейросеть-геймер от Google впервые разгромила человека в стратегии StarCraft II

28.01.2019     

Лаборатория DeepMind разработала нейросетевое приложение AlphaStar для игры в StarCraft II. Ему удалось победить профессиональных игроков с разгромным счетом 10:1.

Сложнее шахмат

StarCraft II – стратегия в реальном времени, и боты для игры в нее разрабатываются достаточно давно. Но пока им не удавалось достичь выдающихся результатов.

Открытый API для StarCraft II разработчики из Blizzard выложили еще летом 2017 года. Но создателям ботов до недавнего времени это не слишком помогало.

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

Наследник AlphaGo

DeepMind входит в состав холдинга Alphabet, созданного корпорацией Google. Специалисты компании разработали знаменитую нейросеть, которая смогла обыграть профессиональных игроков в го. Эта древнекитайская игра считается сложнее шахмат, ведь в ней значительно больше возможных ходов и комбинаций.

В 2016 году DeepMind заключила партнерское соглашение с Blizzard, чтобы разработать систему искусственного интеллекта для победы в легендарной стратегии. Разработчики подчеркивали, что StarCraft II, выпущенный в 2008 году, является идеальной средой для обучения искусственного интеллекта.

Как это работает

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

Система на их основе создала решение, которое позволило побеждать встроенные алгоритмы StarCraft II на максимальном уровне сложности в 95% случаев. Затем AlphaStar играл сам с собой, чтобы стать еще эффективнее.

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

Безусловная победа

В рамках эксперимента потягаться с AlphaStar решили два профессиональных игрока в StarCraft II. TLO (Дарио Вунш из Германии) проиграл нейросети всухую со счетом 5:0. MaNa (Гжегожу Коминчу из Польша) удалось выиграть одну партию, остальные пять завершились в пользу AlphaStar. При этом нейросеть в среднем совершала меньше действий в секунду, чем профессиональные игроки.

Видео о том, как AlphaStar играет в StarCraft II, разработчики опубликовали на YouTube. Посмотрите на нейросеть в деле:

 

 

Маленькое «но»

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

Когда в рамках демонстрационного матча с MaNa для нейросети также применили туман войны, нейросеть проиграла человеку. Но разработчики системы отметили, что версия AlphaStar, которая самостоятельно двигает карту и исследует территории, обучалась этому всего семь дней. Если эксперимент расширить, результат мог бы быть иным.


Автор:
Ксения Шестакова Обозреватель


Какую игровую классику предпочитаете вы?


StarCraft (24.64%, 17 голосов)
24.64%
WarCraft (24.64%, 17 голосов)
24.64%
Doom (2.9%, 2 голосов)
2.9%
Diablo (13.04%, 9 голосов)
13.04%
Need for Speed (8.7%, 6 голосов)
8.7%
Давно не играю в компьютерные игры (26.09%, 18 голосов)
26.09%

Комментарии
Избранное Подписка Сортировка: Древо
1. lunjio 62 28.01.19 13:42 Сейчас в теме
Ну не мешало бы пункт добавить в голосование - вырос из этого возраста.
PSKMOL; wowik; user997184; +3 Ответить
2. cmd_vasec 34 28.01.19 14:14 Сейчас в теме
(1)
в этом случае надо выбирать "Давно не играю в компьютерные игры".
Ziggurat; +1 Ответить
3. kolya_tlt 11 28.01.19 14:24 Сейчас в теме
(2)
в этом случае надо выбирать "Давно не играю в компьютерные игры".

просьба переименовать этот пункт в "counter strike 1.6"
AlX0id; 88wau24ru; dimisa; lunjio; +4 Ответить
8. lunjio 62 28.01.19 15:24 Сейчас в теме
(2)
авно не играю в компьютерные игры".

Когда я писал комментарий, пункта не было данного)
4. VitaliyCeban 372 28.01.19 14:24 Сейчас в теме
Ничего себе, "маленькое" "но". Фактически AI играл с wallhack-ом.
NPetrovichev; +1 Ответить
5. s22 19 28.01.19 14:47 Сейчас в теме
Вообще победа ни о чем.

1. Использовалась запись игр профессионалов для начального обучения.
2. Были созданы ручками стратегии игры. Например стратегия управления зелотами, морталами и т д
3. Комп видел всю карту (туман войны не видел) во всех играх кроме последней которую он продул.
4. Очень многие вещи были захаркоджены.

Т.е. в отличии от Го, шахмат и доты тут просто хороший подбор параметров для рукописного бота.
succub1_5; ABudnikov; plevakin; +3 Ответить
11. Darklight 19 28.01.19 15:53 Сейчас в теме
(5)Не думаю, что там много хардкодинга - слишком муторно это всё (тут слишком много вариаций отдельных действий и ситуаций, в отличии от Шахмат и Го) - да и не поможет хардкондинг в дальнейшем - ведь это не последний матч, проф игроки тоже будут его анализировать и совершенствовать свои навыки игры против такого ИИ.
Насчет того, были ли созданы базовые стратегии управления - неуверен - сейчас как раз модна у ИИ изучать основы геймплея с нуля - тупым тырканьем - этот этап уже хорошо освоен компьютерными программами. Но даже если и были руками заданы - это всё мелочи, главное это глобальное управление, а не локальное.
А вот с туманом войны да - как о не солидно получилось - но, видать, ещё не готов ИИ без тумана играть - поживём ещё 1-2 года - и будет Вам матч и без тумана войны!
13. s22 19 28.01.19 16:13 Сейчас в теме
(11)
(5)Не думаю, что там много хардкодинга - слишком муторно это всё (тут слишком много вариаций отдельных действий и ситуаций, в отличии от Шахмат и Го) - да и не поможет хардкондинг в дальнейшем - ведь это не последний матч, проф игроки тоже будут его анализировать и совершенствовать свои навыки игры против такого ИИ.


Там как раз сделано очень много.
Смотрел статью. Под каждую комбинацию юнитов сделана отдельная ветвь управления.
Т.е. Есть отдельная ветвь управления только зилотами против зилотов. Обучена отдельно и т д. Для разных комбинаций юнитов созданы такие варианты.
Дальше сделана нейронка которая выбирает какую из стратегий использовать.
Стратегий сделано сотни.

Кроме того отдельная нейронка управления видимостью экрана. Отдельная миникарта и т д.

Если комп видит только экран, ьто сливает. Это видно по последнему матчу.
14. Darklight 19 28.01.19 16:49 Сейчас в теме
(13)Ну тогда этому проекту ещё долго развиваться в действительно универсальный аналитический гейм ИИ, не говоря уже о развитии до коммерческого и военного применения - десятилетия в общем - но что есть 100 лет для искусственного интеллекта - миг, который он и не заметит даже...
15. s22 19 28.01.19 17:26 Сейчас в теме
(14)
)Ну тогда этому проекту ещё долго развиваться в действительно универсальный аналитический гейм ИИ, не говоря уже о развитии до коммерческого и военного применения - десятилетия в общем - но что есть 100 лет для искусственного интеллекта - миг, который он и не заметит даже...


до сих пор не решенная задача
Есть строка "x=1,y=5,z=x+y+1,x+y+z"
нужно научить вычислять такую строку.
пока не выходит
16. Darklight 19 28.01.19 17:46 Сейчас в теме
(15)В своё время (уже очень давно) хотел написать статью о принципах построения ИИ-модели управления игровым процессом в стратегических играх. Был даже сделан набросок. Так вот там весь процесс управления делился на несколько иерархических уровней. Вот таких (от нижнего к высшему):
1. Примитивный – это уровень чистых алгоритмов. Решает простые задачи, которые почти не имеют нескольких равнозначных (на момент решения) решений, или выбор одного из множества – не существенен. Простейшие такие задачи: это перемещение юнитов (в т.ч. поиск кратчайшего пути; или движение группы юнитов заданным строем); изменение их состояний в зависимости от срабатывания различных локальных (или глобальных) тригеров; Выполнение игровых простых манипуляций пол заданному сценарию (например, нанесения того или иного удара/применение способности во время боя); поиск цели по заданным критериям и т.п. Тут могут быть и более сложные алгоритмы: это поиск места добычи ресурса, или места для постройки здания по заданным критериям. Здесь же и различные алгоритмы по сбору статистики, в т.ч. доступной только во фрейме «визуального» просмотра.
2. Оперативный – это уровень простых игровых механик (микроменеджмент). Обычно оперирует группой юнитов, реализует множество стратегий поведения этих групп. С одной стороны, это, опять таки, заданные наборы алгоритмов – определяющие как юниты должны выстраиваться, какие групповые движения совершать (всей группы или её части, относительно другой части этой группы или другой группы), какие цели выбирать и какие действия/атаки/способности к ним применять и при каких условиях. С другой стороны – эти стратегии вполне могут быть формализованы в виде базы данных локального поведения. Тогда к ним уже можно применять подход нейросетевого ранжирования и натаскивания. А в дальнейшем, можно было бы создать отдельные , условно «ИИ» алгоритмы, которые могли бы видоизменять эти стратегии, в попытках их улучшения. А так же использовать данные анализа стороннего поведения (только в рамках этих локальных стратегий) полученного с других источников – натаскивание на готовых паттернах. В итоге, конечно, хранить такие данные виде БД не самое эффективное решение – и такие стратегии лучше переводить в структуры алгоритмов на языке программирования – для повышения скорости их использования (но тогда они будут условно константными до конца матча и переинициализации). Конечные действия алгоритмов – этого уровня – отдача простых команд на уровень ниже, с более высоким уровнем общения снизу нет. А с верху поступают команды с настройками – позволяющие выбрать тот или иной паттерн – стратегии выполнения микроуправления.
3. Тактический – это уровень более интеллектуального управляющий группами юнитов. Если Оперативный управляет одной своей группой (хоть и может делить её на части) – то Тактический – управляет множеством групп (не обязательно сразу всем; разным блокам алгоритма, настроенным под разные задачи, выделяются свои группы). Если говорить именно о сражении –то ИИ на этом уровне уже должен опираться на общие принципы ведения боя, на тактику: маневрирования целыми подразделениями, выбор для них целей (наборов целей, которые, будучи переданными на уровень ниже – уже распределялись бы по доступным юнитам). Здесь уровень абстракции игрового процесса уже стоит выше отдельных юнитов. ИИ, оперирует формированиями, которые имеют численную оценку своей мощи против аналогичных формирований противника, так же имеющих такую же численную оценку по целому ряду критериев. Так же данный ИИ должен оценивать и взаимное расположение таких формирований, а так же иметь численную оценку их мощи отдельно по разным граням. И вероятности перераспределения этих значений при реализации тех или иных стратегий взаимодействия. Вот тут нейросети играют ключевую роль – именно на данному уровне собирая и оценивая различные конфигурации и действия для создания новых конфигураций. Тактический уровень взаимодействует как с более низким, так и с более высокими уровнями ИИ. Сверху тактический уровень получает стратегии (задающие отправные точки, сужающие нейросеть до определённых областей), а так же задачи, не имеющие самой чёткой формализации: ну что-то типа – атакую баз врага в таком-то квадранте; или уничтожь таких-о юнитов (до их полного уничтожения) в такой-то области. Или захвати и удерживаю в данной область ключевые точки, в ней имеющимеся), Обратно отправляются отчеты о выполнении данных задач – в т.ч. аналитика, позволяющая вышестоящему ИИ определить целесообразность продолжения, может задача провалилась и пора отступать.
4. Стратегический – это наивысший уровень управления. Его основная задача вести общий анализ игрового процесса сбор статистики, расстановка оценок. Ну и выбор той или иной стратегии из БД (нейросети) по собранным аналитическим данным для раздачи задач тактическому уровню. Это глобальное управления всем полем действия. У него тоже отправной точкой может быть некий нечётко формализованный план текущей стратегии действий: ну там строить в первую очередь то-то, атаковать там-то, собирать атакующие группы так-то, применять такие-то манёвры – детали реализации – в БД, В процессе игрового процесса этот план будет динамически подстраиваться и даже заменяться другим.

Так вот, самым сложным в реализации, тут является 3-тий уровень ИИ. Самым аналитическим – 4й. Самыми захардкожеными 1-й и 2-й.

Так вот, судя по всему «AlphaStar» тоже захардкодили именно уровни 1. и 2. И на текущем этапе развития игрового ИИ я считаю это вполне нормально. Лучше больше уделить внимания уровням 3. и 4. Чем выстраивать динамическую нейроматрицу для решения задач микроменеджмента на уровне 2.
17. PerlAmutor 42 28.01.19 19:06 Сейчас в теме
(15)
Есть строка "x=1,y=5,z=x+y+1,x+y+z"
нужно научить вычислять такую строку.
пока не выходит

А запятые в этом случае чем являются? Если разделителем операций как в 1С ";", то последняя операция бессмысленна, так как результат от сложения никем не используется. Правильный ответ 7? Пишите компилятор на основе нейросети?
18. s22 19 28.01.19 19:18 Сейчас в теме
(17)

А запятые в этом случае чем являются

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

Вообще то это фундаментальная задача.

На вход сети поступают множество подобных выражений. например 1000 000.
Сеть должна научиться их решать

для тестов например делают замену букв на цифры и т д.

Если используется кроме сложения еще и умножение, то сеть угадывает не лучше (стайт арт январь 2019)чем 25%
19. muskul 29.01.19 02:38 Сейчас в теме
Когда нет идей как же все таки там все организовать
(13)Туман войны там как раз был. но управлял компутер юнитами видя как бы свою большую карту. и в последнем раунде проиграл только потому что МАНА нашел одну лазейку и заглючил бота.
20. s22 19 29.01.19 06:56 Сейчас в теме
(19)
)Туман войны там как раз был. но управлял компутер юнитами видя как бы свою большую карту. и в последнем раунде проиграл только потому что МАНА нашел одну лазейку и заглючил бота.

Туман войны был во всех играх.
Но в последнем бою комп получал информацию видя не всю карту, а только экран как и человек. Т.е. последний бойсильно отличался от предыдущих.
6. MikhailDr 28.01.19 15:02 Сейчас в теме
Надо было ИИ против корейца выставлять
7. s22 19 28.01.19 15:18 Сейчас в теме
Туман войны для компа работал! Т.е. он в этом вопросе был с челом на равных.
9. s22 19 28.01.19 15:39 Сейчас в теме
АльфаГо тут вообще ни о чем.
10. Darklight 19 28.01.19 15:46 Сейчас в теме
Ну вот, последнее примечание всё испротило. Неравные условия, раз тумана войны для ИИ не было. Ну хотя бы для человека тоже бы отключили для приличия.
Так что ждём дальнейшего развития ИИ, чтобы с туманом побеждал - ведь для большинства стратегий это важное стратегическое свойство, и оно обусловлено ограничениями из реальных военных конфликтов (хотя сейчас, когда в небе есть спутники это не кажется так уже значимо - но ведь если начнётся реальный военный замес долго ли эти спутники продержатся на орбите).
ну, доведут до ума победу "в тумане" и того глядишь - новая версия ИИ появится и стратегия будущих поколений видеоигр. ну а далее не только видеоигр.... ведь в итоге то это всё для военных делается.... именно там крутятся самые большие финансовые заказы!
12. s22 19 28.01.19 15:54 Сейчас в теме
Туман войны для компа работал! Т.е. он в этом вопросе был с челом на равных.

Другое дело, что комп видел всю карту, а человек только экран.
21. Vovan1975 14 29.01.19 15:24 Сейчас в теме
им надо разработать нейросеть для игры мир танков. Озолотятся на продаже ботов.
22. asirius 106 29.01.19 23:42 Сейчас в теме
ИИ выиграл только из-за читерского микроконтроля. В массовом сражении 200на200 был применен прием оптимального паралельного фокус-фаера юнитов врага. Это когда выделяются отдельно несколько разных групп войск, и каждой группе отдается приказ фокусить отдельного юнита.
Человеку чисто физически невозможно в реальном времени за доли секунды сделать такие расчеты, выделить нужные войска и отдать точные приказы.
Если человеку дать чит произвольного замедления игры, то у текущей версии ИИ не будет шансов даже против игроков-любителей
23. muskul 30.01.19 05:01 Сейчас в теме
(22)Этого следовало ожидать. если сражения не такие большие то игроки тоже могут фокусить по умному.
24. AlX0id 06.02.19 11:29 Сейчас в теме
(22)
В таком случае правильнее просто деградировать контроль у нейросети
Оставьте свое сообщение