Боты выносят людей в доту. OpenAI представила командный ИИ
Яна Медведева Георгий Ядвидчук
,
Комментарии
В компании рассказали, что уже умеет их новая система, как она устроена и работает. Следующий шаг — обыграть профессионалов.

Будущее уже здесь. OpenAI поделилась новыми подробностями о своей работе над ботами, играющими в Dota 2. И если год назад на The International 7 компания представила ИИ, который выносил лучших игроков планеты 1 на 1, то теперь она готова показать целую команду, способную соревноваться с профессиональными киберспортсменами. В блоге создатели OpenAI Five рассказали о том, что уже умеет пятерка компьютерных игроков, как она этому научилась и почему это намного сложнее, чем заставить ботов играть в шахматы или го.

Видео можно посмотреть на YouTube-канале OpenAI.

Что уже умеют OpenAI Five

Боты умеют драться. OpenAI Five оценивает положение каждого юнита в драке, мгновенно инициирует и не дает противнику реализовать свой потенциал. Боты могут загонять людей на свой хайграунд для эффективной защиты и рассчитывать использование способностей, чтобы зажать человека в конкретной области. А еще они могут убить вас, даже если не видят.

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

OpenAI Five ищет соперников в лесу. От них сложно укрыться.

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

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

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

Боты могут жертвовать собой. OpenAI Five способна оценить ценность героев и действий, чтобы отдать сопернику на растерзание одного героя ради более ценной награды. Например, в ролике саппорт пожертвовал собой, отводя человека от его базы и позволяя своим тиммейтам-ботам забрать последний барак.

OpenAI знает, когда можно пожертвовать одной из линий. Например, они неоднократно отдавали сопернику свою собственную легкую линию, чтобы захватить контроль над сэйф-лейном противника, заставляя оппонентов драться в невыгодном положении. Уильям Blitz Ли рассказал, что он узнал об этой детали стратегии только через 8 лет на профессиональной сцене.

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

Боты умеют отклоняться от заданной стратеги. Если это будет необходимо, то они начнут отдавать фарм и опыт саппортам. Главная цель ботов — просто быстрее достигнуть своего пика урона и захватить преимущество.

Правда, пока умеют играть только ограниченным количеством героев. Пока что в их арсенале есть Necrophos, Sniper, Viper, Crystal Maiden и Lich. Они играют матчи против зеркального пика. Потому что не все сразу.

OpenAI Five использует не все возможности Dota 2. Пока что боты не умеют вардить, не знают о Рошане и не пользуются невидимостью или сканом. Им запрещено покупать Divine Rapier, Bottle, Quelling Blade, Boots of Travel, Tome of Knowledge, Infused Raindrop.

Как устроен OpenAI и как ИИ проходил обучение

180 лет — именно столько игр проводит по времени OpenAI Five каждый день. Таким массивом данных не обладает ни один из профессиональных игроков на планете. В основе OpenAI Five лежит расширенная версия Proximal Policy Optimization (подробнее читайте тут). Вся эта система работает на 256 графических картах и 128 тыс. процессоров.

Для каждого героя (бота) используется раздельная LSTM-сеть. LSTM (long short-term memory) — долгая краткосрочная память. Она является разновидностью архитектуры рекуррентных нейронных сетей (РНС). Проще говоря, создатели OpenAI Five используют модель обучения, в которой нейроны обмениваются информацией между собой. В результате обмена не только новых, но и предыдущих состояний в сети создается «память». Чтобы лучше понять устройство LSTM-сетей, советуем прочитать вот этот текст на GitHub.

Каждая LSTM-сеть анализирует окружающую среду. То есть ландшафт, постройки, героев и многое другое. Однако не так давно боты не реагировали на некоторые способности. Например, они не обращали внимания на «шрапнель» Sniper, потому что «не видели» ее. Теперь они научились избегать и обходить ее.

OpenAI Five накапливает опыт следующим образом: каждый «агент» проводит 80% игр против своей нынешней версии и 20% против прошлой. Так разработчики постарались избежать проблем со стратегиями команды. Если в первом матче герои бесцельно шастали по карте, то после нескольких часов обучения у них возникали такие понятия, как стадия лайнинга, фарм и борьба за мид. Через несколько дней они использовали базовые стратегии игроков: попробовать украсть баунти руну у соперника, дойти до первой вышки, чтобы пофармить, и перемещаться по карте, чтобы получить преимущество на стадии лайнинга. Постепенно ИИ учился более сложным стратегиям, как пуш всей командой.

В распоряжении OpenAI Five было пять типов людей-соперников.

1. Команда сотрудников OpenAI (в среднем 2,5k MMR)
2. Лучшие зрители, которые следили за матчем сотрудников OpenAI (4-6k MMR игроки, которые не выступали в команде. Среди них англоязычный комментатор и бывший про-игрок Blitz)
3. Команда сотрудников Valve (2-4k MMR)
4. Любительская команда (4.2k MMR)
5. Полупрофессиональная команда (5,5k MMR)

15 мая OpenAI была сравнима с первым соперником, выиграв одну карту и проиграв вторую. 6 июня улучшенная версия ботов без проблем обыграла 1-3 команды. Затем создатели OpenAI попробовали провести тренировочные матчи с действующими командами. Они ожидали поражения, но выиграли две из трех игр в каждой серии.

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

Сюрпризы, на которые наткнулись создатели в процессе разработки

Боты учились медленнее, когда наградой была победа или поражение, а не убийство крипов, как в первоначальной версии для режима 1 на 1.

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

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

Это намного сложнее, чем шахматы или го

Dota 2 предполагает расчет огромного количества действий. Если партия в шахматы обычно заканчивается в среднем за 40 ходов (в го — до 150 ходов), то в Dota 2 нужно принять в среднем 20 тыс. решений. OpenAI анализирует каждый четвертый фрейм в игре.

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

Система OpenAI дискретизирует 170 тыс. различных действий для каждого героя, а в течение одного тика она оценивает около 1000 возможных действий. В шахматах требуется оценить 35 действий, а в го — 250.

Кроме того, Dota 2 — это комплексная игра, которая развивалась в течение более чем 10 лет. К тому же, каждый две недели в ней выходят обновления, к которым OpenAI также нужно подстраиваться наравне с игроками-людьми.

OpenAI Five быстрее человека

Во-первых, OpenAi имеет мгновенный доступ ко всей доступной информации на карте. Пока человеку вручную нужно проверить количество здоровья и маны, компьютер уже получил и проанализировал эту информацию.

В минуту OpenAI совершает по 150-170 действий (и это еще не его максимум). Чтобы идеально попасть в тайминги, игроку-человеку нужна тренировка, а машина эта уже умеет и считает нормой. В среднем OpenAI Five реагирует за 80 мс, что быстрее человеческой реакции.

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

Комментарии