Вчера, 5 августа, в Сан-Франциско состоялся шоу-матч между людьми и ботами OpenAI в дисциплине Dota 2. Еще в 2017 году в рамках шоу-матчей The International 2017 люди сражались с OpenAI в формате «1х1 mirror mid» и с целым рядом ограничений в пользу ботов (запрет на использование ряда предметов и механик), что закончилось поражением профессиональных игроков-мидеров.
Так как Dota 2 — дисциплина крайне разносторонняя и сложная для освоения, встреча между людьми и ИИ вновь проводилась с целым рядом ограничений, которые, однако, не слишком радикально влияли на игровой процесс:
- пул из 18 героев в режиме Random Draft (Axe, Crystal Maiden, Death Prophet, Earthshaker, Gyrocopter, Lich, Lion, Necrophos, Queen of Pain, Razor, Riki, Shadow Fiend, Slark, Sniper, Sven, Tidehunter, Viper, или Witch Doctor);
- без Divine Rapier, Bottle;
- без подконтрольных существ и иллюзий;
- матч с пятью курьерами (ими нельзя скаутить и танковать);
- без использования скана.
Самое серьезное ограничение: крайне малый пул героев для обеих сторон. Сейчас в Dota 2 существует 115 персонажей с различными способностями и механиками их применения. OpenAI пока может совладать лишь с 18 из них. Встреча была максимально приближена к «реальным» условиям и проводилась в формате 5х5. Против ИИ играли обычные люди, в прошлом когда-то причастные к киберспорту, но сейчас не являющиеся киберспортсменами. Единственная поблажка для людей заключалась в том, что реакция ботов была ограничена 200 мс, чтобы избежать ситуаций с мгновенным «прожатием» кнопок. Итог: команда ИИ выиграла у людей со счетом 2-0 по картам. Выиграть у OpenAI удалось только после того, как героев для ИИ выбрал зрительный зал (Slark, Sven, Axe, Riki и Queen of Pain), по оценкам OpenAI шанс на победу с таким драфтом составлял всего 2,9%. Кроме этого, до начала главного матча, с ботами могли сыграть рядовые гости мероприятия, и в этих встречах доминирование ИИ было еще более наглядно, что впечатляет.
Почему это так важно
OpenAI — это некоммерческий проект, за которым, однако, стоят вполне известные и влиятельные люди. Проект был основан в 2015 году Илоном Маском, Сэмом Альтманом, а спонсорами выступили Питер Тиль и Джессика Ливингстон. Dota 2 — не единственное направление деятельности команды проекта OpenAI. Если ознакомиться с разделом «Исследования» на официальном сайте проекта, то можно увидеть, что OpenAI активно работает и в направлении создания ИИ для, например, робототехники.
Но если основатели проекта — столь влиятельные люди, то почему выбор пал на компьютерную игру? Обучение ИИ для работы в динамически изменяемых условиях — задача нетривиальная. Текущие модели ИИ и автопилотов действуют исключительно в жестко заданных условиях, а для их обучения требуются миллионы различных комбинаций событий и факторов для того, чтобы бот не просто действовал по заранее прописанным паттернам, а начал сам анализировать происходящее и принимать решения исходя из контекста ситуации. Выбор Dota 2 в качестве площадки для обучения ИИ и создания ботов для данной дисциплины оказался полезен с множества точек зрения:
- киберспорт обладает высокой медийностью;
- это безопасная площадка для отработки методов обучения ИИ;
- огромная вариативность игровой механики Dota 2 дает практически неограниченное количество сценариев для обучения;
- открытый доступ к записям игр живых людей предоставляет неисчерпаемый запас данных для анализа.
Последний пункт этого импровизированного списка, наверное, и самый важный. Одна из проблем всех систем обучения ИИ — создание релевантной выборки, на которой можно обучать систему. Живые игроки абсолютно бесплатно генерируют ежедневно миллионы записей игр в свободном доступе, а исследователям остается лишь выбирать матчи с релевантным набором персонажей. И результат впечатляет.
Что произошло 5 августа
Чаще всего боты в компьютерных играх — либо туповатые заскриптованные болванчики, либо непобедимые чудовища с нечеловеческой реакцией. Как пример — «insane»-боты для CS 1.6, которые убивали в голову из дробовика на дистанции в 50+ метров в прыжке с разворота. Добиться реалистичного, но при этом эффективного поведения от игровых ИИ разработчикам не удается уже которое десятилетие, что особенно видно по играм с открытым миром. Собственно, это и стало причиной популярности онлайн-дисциплин.
После шоу-матчей в 2017 году в формате «1х1 mirror», команда OpenAI заявила, что следующая цель — полноценные игры 5х5. И им почти удалось добиться намеченной цели: ожидать от ботов способности управлять и анализировать синергию всех 115 персонажей в режиме Captain Mode было бы глупо, но уже 18 героев — это очень много. Вот расчет вариантов для пика 5х5 (10 персонажей) для 18 героев:
А вот такое число вариантов мы получаем уже для 115 персонажей:
Да, 74,5 трлн комбинаций! Очевидно, что для того, чтобы совладать с таким разнообразием и включить всех 115 персонажей в пул OpenAI, требуется полноценный самообучаемый ИИ, которого у нас пока нет. При этом в расчетах не учитываются способности персонажей (от 4 до 6 «кнопок» на персонажа, без учета Invoker), типы способностей (активные, пассивные, направленные, ненаправленные, AoE, направленные на точку), десятки предметов, активные эффекты предметов, модификаторы и так далее и так далее.
Но даже для нашего мини-пула в 18 персонажей работа была проведена колоссальная.
Ниже вы можете оценить, как ведут себя OpenAI боты в играх против людей:
Чем боты отличались и не отличались от людей
Для тех, кому лень смотреть 5+ часов записи с Twitch, мы коротко расскажем, чем было примечательно поведение команды ботов OpenAI Five на фоне обычных людей.
Сразу стоит сказать, что ИИ думал на стадии драфта персонажей, то есть просчитывал шансы на победу той или иной комбинации персонажей на основании имеющихся у него неполных данных. При этом OpenAI сообщал прогнозируемый процент своей победы исходя из драфта. Иногда, по мнению ИИ, он достигал 95%.
Всю игру OpenAI Five можно охарактеризовать таким популярным среди сообщества термином, как «душили». Да, по ощущениям, боты на самом деле «душили» определенные линии, при этом без каких-либо угрызений совести или опасений заходили под вышки на первых минутах матча для того, чтобы отправить игрока-человека отдыхать под фонтаном на базе. Некоторые моменты можно увидеть на нарезке ниже (название видео не соответствует реальности):
Кроме бесстрашия (граничащего с наглостью) и организованной работы на ранней стадии игры, боты отметились и собственным пониманием механики Dota 2. Цель игры: сломать главное строение противника, на чем и фокусировались боты. Так, 3-4 персонажа ИИ согласованно ломали вышки противников-людей, виртуозно «танкуя» по очереди башню, чтобы сохранить собственных крипов и быстрее разрушить строение. Кроме этого боты отметились и тем, что нестандартно использовали варды, которые также танковали для них вышки. Как итог, в одной из игр с гостями мероприятия боты зашли на базу противника уже на 9 минуте (подъем на базу противника даже на 15-18 минутах считается исключительно ранним таймингом).
Также боты эффективно перераспределяли между собой опыт, не допуская просадки персонажей 4-5 позиций, отличились в расчете урона (при нанесении последнего удара бот не продолжал догонять цель, четко понимая, что урона для убийства хватает) и активно использовали некоторые предметы.
Внимательный зритель заметит на видео и принятие решения исходя из неполных данных (использование AoE-навыков в «туман войны»), принятие нестандартных решений (успешное использование свитка телепортации вместо попытки убежать на своих двоих), заходы в тыл с блокированием противника в лесу и согласованный фокус наиболее опасных противников-людей.
В оправдание человечества можно сказать, что игроки-люди показали не слишком высокий уровень игры, были ограничены в плане выбора персонажей и допускали множество ошибок, но подобный прогресс ИИ всего за 1 год разработки не может не впечатлять.
Вполне вероятно, мы увидим еще один шоу-матч, на этот раз на The International 2018 (пойдет 20-25 августа) против профессионалов, которые явно сильнее ИИ. Однако вполне возможно, OpenAI Five смогут нас чем-нибудь удивить.
Автор: Crossover