От 1,5к MMR до победы над Артизи 10-0. Путь бота на The International 7

Компания OpenAI опубликовала новый материал о подготовке бота в Dota 2 и выложила видео игр бота с Сумаилом, Артизи и Пайкаттом, который все-таки сумел один раз обыграть бота. 

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

Рейтинг бота по разработанной Microsoft системе TrueSkill( (похожей на рейтинг Эло в шахматах). График близок к линейному, что показывает экспоненциальное улучшение бота.

Вот как менялась сила бота с течением времени. Чтобы вы могли сравнить, 15% игроков имеют меньше 1,5к MMR, 58% - меньше 3к, 99,99% - меньше 7,5к.

  • 1 марта: первое внедрение бота, он изучает результаты по самым простым тренировкам в доте – там, где Drow Ranger учится уворачиваться от запрограммированного Шейкера.
  • 8 мая: тестер с 1,5к MMR говорит, что он играет лучше и быстрее бота.
  • Начало июня: победили тестера с 1,5к MMR
  • 30 июня: выигрываем большинство матчей против тестера с 3к MMR.
  • 8 июля: чуть не обыграли тестера-полупрофессионала с 7,5к MMR.
  • 7 августа: победили Блитца (бывшего про с 6,2к MMR) 3-0, Пайкатта (про с 8,5к MMR) 2-1 и CC&C (про с 8,9к MMR) 3-0. Все были уверены, что Сумаил сможет победить бота.
  • 9 августа: победили Артизи (10к, один из лучших игроков) 10-0. Он заявил, что Сумаил справится с ботом.
  • 10 августа: победили Сумаила (8,3к, один из лучших игроков 1х1) 6-0. Сумаил говорит, что бот непобедим. Потом Сумаил сыграл против версии бота от 9 августа и победил 2-1
  • 11 августа: победили Dendi (7,3к, бывший чемпион мира и любимец фанатов) 2-0. Бот выигрывает 60% матчей против версии бота от 10 августа.

Задача

Игра обычно идет 5 на 5, но форват 1 на 1 тоже используется на некоторых турнирах. Наш бот играл по стандартным турнирным правилам, мы не добавляли никаких упрощений для формата 1x1. Бот использовал следующий интерфейс:

1. Наблюдения. API бота было настроено получать ту же информацию, которую мог видеть человек – она касается героев, крипов, курьеров и пространства. Дота – игра с частичной информацией.

2. Действия. API бота были доступны те же действия, что и человеку, с частотой, сравнимой с человеческой: движение, атака, использование предметов.

3. Фидбэк. Бот получал поощрение после побед и базовую статистику вроде здоровья и ластхитов.

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

Бот против Артизи

The International

Наш подход – чуть-чуть тренерской работы и игра против самого себя – позволила нам очень сильно улучшить бота с понедельника до четверга во время TI7. Вечером понедельника Пайкатт выиграл, используя необычный итембилд (ранняя Magic Wand). Мы добавили этот предмет в белый список для тренировок.

(Примечание cyber.sports.ru: после выхода поста Пайкатт иронично прокомментировал эту цитату в твиттере: «Ну да, я же не должен был выиграть, поэтому они называют покупку Magic Wand необычным билдом и багом».)

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

После игр с Артизи мы обновили модель блока крипов, которая подняла наш рейтинг TrueSkill на 1 пункт. Тренировки перед игрой с Сумаилом в четверг подняли рейтинг еще на 2 пункта. Сумаил отметил, что бот научился кастовать рейзы вне зоны видимости противника. Это случилось из-за механики, о которой мы даже не знали: заклинания вне зоны видимости не стакают противнику Magic Wand.

Артизи также сыграл против нашего тестера с 7,5к MMR. Артизи лидировал всю игру, но тестер смог удивить его стратегией, которой он научился от бот. Артизи потом заметил, что эту необычную стратегию как-то использовал Paparazi.

Пайкатт побеждает бота

Хитрые тактики против бота

Хоть Сумаил и назвал бота непобедимым, его по-прежнему смутить, поставив в необычную ситуацию. Мы провели LAN, где игроки сыграли больше 1000 матчей, чтобы победить бота любым способом. Успешные тактики можно разделить на три архетипа:

1. Отвод крипов. Можно несколько раз подряд заставить крипов уйти с линии и гоняться за тобой. Твои крипы в это время уничтожат башню бота.

2. Orb of venom + Wind lace. Так ты получишь сильное преимущество в скорости на первом уровне и быстро сделаешь FB. Потом сразу же нужно убить его во второй раз.

3. Raze на первом уровне. Нужно много мастерства, но несколько игроков с 6-7к MMR убивали бота на первом уровне 3-5 койлами за короткий промежуток времени.

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

Мы написали заскриптованного бота, чтобы получить какую-то базу для сравнения и понять семантику API бота. Заскриптованный бот добивает 70 крипов за 10 минут, но адекватным игрокам проигрывает. Наш лучший на данный момент бот добивает около 97 (это экстраполяция, так как башня падает раньше), теоретический максимум – 101.

SirActionSlacks пытался обмануть бота курьером.

5v5

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

Мы начнем копировать поведение игроков на старте. В доте играется около миллиона матчей в день, реплеи хранятся на серверах Valve две недели. Мы загружали себе каждый реплей экспертного уровня с прошлого ноября, набралось уже 5,8 млн игр (каждая в среднем по 45 минут с 10 игроками). Мы использовали OpenDota, чтобы загрузить эти реаплеи и задонатили им 12 тысяч долларов на поддержку проекта.

+26

Опрос

голосов
8 комментариев
Возможно, ваш комментарий носит оскорбительный характер. Будьте вежливы к собеседнику и соблюдайте правила
Пишите корректно и дружелюбно. Принципы нашей модерации
Реакцию бота невозможно сравнить с реакцией человека, ибо у него все автоматизировано. Он может одновременно чекнуть билд противника и содержимое куры, в секундом интервале выдавая койл тебе в лицо. Обычному человеку такое крайне сложно реализовать.
+12
0
+12
Реакцию бота невозможно сравнить с реакцией человека, ибо у него все автоматизировано. Он может одновременно чекнуть билд противника и содержимое куры, в секундом интервале выдавая койл тебе в лицо. Обычному человеку такое крайне сложно реализовать.
написали же что боту установлена программная задержка, чтоб скорость реакции была как у человека
+4
0
+4
Черт, жду шоу матч "AI vs Humanity"
+3
0
+3
Вот читаешь и немного страшновато становится. Блин, ИИ сам учится играя против себя. Прям как в фильмах
+3
0
+3
Будущее, уходи! (На самом деле очень круто, конечно.)
+2
0
+2
Анриал...
0
0
0
Sry, rtz не скиллд, возможно, даже денди сильнее его, он все-таки свои псевдо10к апнул на NA lul, это вам не Европа или Китай
0
0
0
Так когда каждый сможет поиграть с ботом? Хватит наращивать ему силу в лаборатории !
0
0
0
Укажите причину бана
  • Оскорбление
  • Мат
  • Спам
  • Расизм
  • Провокации
  • Угрозы
  • Систематический оффтоп
  • Мульти-аккаунтинг
  • Прочее
Пожаловаться
  • Спам
  • Оскорбления
  • Расизм
  • Мат
  • Угрозы
  • Прочее
  • Мультиаккаунтинг
  • Систематический оффтоп
  • Провокации
Комментарий отправлен, но без доната
При попытке оплаты произошла ошибка
  • Повторить попытку оплаты
  • Оставить комментарий без доната
  • Изменить комментарий
  • Удалить комментарий

Новости