Как ИИ OpenAI учится обыгрывать в Dota 2 профессиональных игроков
В конце июля команда OpenAI Five сразится в Dota 2 с профессиональными игроками.
Кстати, на сайте читать удобнее
Исследовательская организация OpenAI несколько лет занимается обучением ИИ, способного играть в Dota 2. Во время The International 2017 ИИ OpenAI сыграл с профессиональным игроком Dendi (тот проиграл), в этом году OpenAI попробует выставить против игроков-людей целую команду ботов.
Команда называется OpenAI Five: она состоит из пяти нейронных сетей, обращающих внимание на поведение друг друга, но в то же время действующих самостоятельно — примерно так же, как и живые игроки. За месяц до сражения с профессиональной командой разработчики рассказали, как создается и обучается OpenAI Five.
Очень много данных
Искусственный интеллект неплохо играет в шахматы или го, но Dota 2 — совсем другое дело. Она сложнее: здесь есть множество героев, артефактов и способностей, игрок должен добывать золото, уничтожать монстров и сражаться с персонажами других игроков, взаимодействуя с членами своей команды.
Средняя шахматная партия заканчивается за 40 шагов, партия в го обычно завершается за 150 шагов. В OpenAI подсчитали, что матч в Dota 2 длится примерно 45 минут, ИИ анализирует изменения семь раз в секунду — за один матч набегает около 20 тысяч «тиков».
Для каждого героя рассчитаны около 170 тысяч возможных действий, каждый тик ИИ OpenAI выбирает наиболее оптимальное действие из примерно 1000 вариантов. В шахматах число вариантов каждый ход в среднем не превышает 35, в го оно находится в районе 250.
Для анализа искусственному интеллекту доступны только те же данные, что и игроку. Система OpenAI использует Bot API и получает порядка 20 тысяч значений, описывающих ход игры. Все решения нужно принимать максимально быстро: в Dota 2 матчи проходят в режиме реального времени.
Очень много железа
Чтобы обрабатывать такой объем данных нужны серьезные вычислительные мощности. Разработчики OpenAI Five используют облачную платформу Google Cloud Platform: ИИ работает на 128 тысячах обычных процессорных ядер и 256 видеокартах Nvidia Tesla P100.
Боты анализируют информацию очень быстро: в минуту OpenAI Five совершает порядка 150-170 действий, теоретический максимум скорости — 450 действий в минуту. Время реакции у искусственного интеллекта составляет всего 80 миллисекунд — разработчики считают, что игроки-люди действуют медленнее.
За один реальный день нейронная сеть OpenAI Five эмулирует примерно 180 лет игры в Dota 2. Команда из пяти ботов ежедневно проводит в игре около 900 лет.
Как все работает
Для обучения OpenAI Five не используются матчи игроков-людей: система использует механизмы самообучения и сами изучает правила Dota 2. В первых матчах боты просто стояли на месте или ходили по карте, после нескольких часов обучения ИИ самостоятельно разобрался в концепции фарма, линий атаки и борьбы за мид.
После нескольких дней обучения нейронные сети OpenAI Five начали применять стратегии, которыми пользуются игроки-люди: они, например, пытались похищать руны богатства и фармили в районе первых башен.
Во время обучения нейронные сети OpenAI Five сражаются либо сами с собой, либо со своими предыдущими версиями. В роли положительного и отрицательного подкрепления выступают не только победы: ИИ получил специальную систему наград.
Нейронные сети получают награды за множество действий: сбор золота, убийства, нанесение последних ударов. Боты стремятся получить как можно больше наградных очков, но награды — система с нулевой суммой. Очки, полученные ботом одной команды, вычитаются у ботов другой команды: так разработчики не дают ИИ «договориться» и фармить награды друг на друге.
У ботов нет явного канала для координации атак и связи друг с другом, для улучшения взаимодействия разработчики наделили их параметром под названием «командный дух». Этот параметр определяет, какая из наград для ИИ должна быть приоритетнее — личная или командная.
Ограничения
Нынешняя версия OpenAI Five играет в Dota 2 с некоторыми ограничениями. В каждом матче участвуют две команды, состоящие из пяти одинаковых героев: это могут быть Necrophos, Sniper, Viper, Crystal Maiden или Lich. Кроме того, нельзя сканировать карту, использовать невидимость и иллюзии, применять несколько предметов, призывать саммонов и ходить на Рошана. В будущем разработчики намерены отказаться от этих ограничений.
Игры с реальными людьми
Команда ИИ OpenAI Five успела сыграть с несколькими командами, состоящими из настоящих игроков. Первым противником стала команда с 2500 MMR, состоящая из разработчиков OpenAI: 15 мая ИИ выиграл один матч и проиграл другой.
Затем, 6 июня, ИИ вновь сразился с первой командой и еще двумя группами игроков: первая команда состояла из сотрудников Valve (2500-4000 MMR), во второй были лучшие зрители, смотревшие самый первый матч OpenAI Five и Blitz, бывший профессиональный игрок в Dota 2. На этот раз ИИ выиграл все матчи.
После этого OpenAI Five поучаствовал в матчах с еще двумя командами, любительской (4200 MMR) и полу-профессиональной (5500 MMR). В каждом случае искусственный интеллект выиграл две из трех игр.
Теперь разработчики OpenAI планируют устроить сражение между OpenAI Five и профессиональной командой. Бой пройдет 5 августа.
- ИИ OpenAI сыграет в Dota 2 без большей части ограничений
- Steam назвал самые продаваемые игры первой половины 2018 года
- God of War: что мы знаем о третьем секрете?
- В Fortnite добавили двойные пистолеты и режим «Песочница»
- Valve отключила торговлю предметами в голландских версиях Dota 2 и CS:GO
- ТОП 3: Хуже слитой катки в DOTA 2!