Колонки

Искусственный интеллект обыграл лучших игроков в Dota 2 – почему это важно для нас с вами?

Колонки
Александр Грун
Александр Грун

Редактор Telegram-канала о робототехнике Robotics Channel

Виктория Кравченко

11 августа 2017 на крупнейшем киберспортивном турнире по Dota 2 – The International – искусственный интеллект обыграл профессионального игрока в матче 1 на 1.

Редактор Telegram-канала о робототехнике и ИИ – Robotics Channel – Александр Грун рассказывает, почему это важно, как устроен бот и зачем разработчики ИИ участвуют в популярных соревнованиях.

Статья разделена на три уровня по сложности информации и анализа. Попробуйте пройти все!

Искусственный интеллект обыграл лучших игроков в Dota 2 – почему это важно для нас с вами?

Уровень 1. Что же случилось?

Бот, созданный на основе нейронной сети, победил известного игрока в Dota 2 на сцене главного турнира The International (TI) 2017. Основные соревнования в Dota происходят между командами 5 на 5 человек, но существует и индивидуальный зачет. Open AI создали ИИ, который самообучился, играя сам с собой, 1 на 1. На сцене бот обыграл 2-0 популярного игрока Даниила Dendi Ишутина из NaVi.

До этого за кулисами соревнования бот сразился с SumaiL – лучшим игроком 1 на 1 – и с Arteezy – лучшим игроком в мире, его MMR больше 10000. Их бот тоже победил «всухую» – 2-0.

Забавный факт, после турнира всем желающим предложили попробовать свои силы против бота-победителя за вознаграждения. К вечеру того же дня бота победили игроки из интернета с MMR около 8000. Понадобилось несколько попыток, чтобы выявить слабое место. Тем не менее, на сцене турнира бот победил.

Почему это важное событие?

Турнир организован Valve, разработчиком игры, призовой пул почти 25 млн долларов. Это крупнейшее киберспортивное соревнование каждый год устанавливает новый рекорд по количеству просмотров и призовому пулу. International смотрят онлайн полмиллиона зрителей на Twitch, еще несколько сотен тысяч через игровой клиент и миллионы в записи.

В прошлом году TI 2016 собрал 143 миллиона уникальных зрителей на всех платформах, включая китайские стриминговые сайты, YouTube и Twitch.

Open AI – некоммерческая исследовательская организация, занятая развитием и продвижением ИИ. Организацию создали за счет пожертвований от известных предпринимателей Силиконовой долины, среди которых Илон Маск, Сэм Альтман, Питер Тиль, компания «Амазон», «Майкрософт».

Инициативу открытых исследований «дружественного» ИИ поддержали многие ученые, в том числе Стивен Хокинг. В 2016 году Open AI выпустила платформу для исследования машинного обучения с подкреплением. Проект по созданию бота для игры в Dota 2 – один из шагов на пути к созданию ИИ, способного достигать целей в сложных, запутанных ситуациях с участием людей.

Это знаменательное событие для Open AI как организации, которая пытается создать сильный общий ИИ на благо человечества. Dota — сложная игра с неизвестной, скрытой информацией. Игроки умеют планировать, нападать и обманывать своих противников. Для успеха в такой игре необходимы навыки и интуиция, умение подстраиваться под ситуацию.

В блоге на сайте Open AI, разработчики выложили видео и рассказ о том, как команде удалось за две недели научить бота играть лучше нынешних чемпионов.

В интервью главный инженер Open AI Грег Брокман отметил, что победа в Доте – это первый шаг на пути к приоритетным задачам, например, хирургии. Разработчики Open AI обещают представить команду из 5 ботов, чтобы сразиться в полноценную версию игры против лучших команд на турнире в 2018 году. Если хотите помочь разрабатывать ботов для игры 5 на 5 – у Open Ai открыт набор инженеров по машинному обучению.

Запись матча вместе с предысторией:




Уровень 2. Как это работает?

Спускаемся на уровень глубже (или выше, у кого как работает воображение). Давайте разбираться!

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

Как выглядит эволюция:

  1. Бот играл сам против себя, такого же бота. Они обменивались опытом.
  2. Первые несколько игр бот стоял на месте и не двигался, после этого он начал совершать случайные действия или движения.
  3. После тысяч попыток ИИ пришел к тому, что нужно идти к центру карты и сражаться с противником, чтобы победить.
  4. А спустя неколько недель беспрерывных тренировок бот стал играть на уровне первоклассных игроков.

За время тренировок ИИ научился:

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

Наглядно процесс обучения нейронной сети посмотрите на видео:

Чем нейронная сеть отличается от игры против компьютера?

Игра против компьютера

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

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

Игра против нейронной сети

Нейронные сети используют иной подход. Сеть, которую использовали Open AI, основана на принципе, который похож на эволюцию. Совершая случайные действия, сеть создает различные решения. Решения оцениваются функцией приспособленности (fitness function).

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

На видео главный инженер проекта рассказывает о процессе обучения нейронной сети при подготовке бота к турниру:


Бот на основе нейронной сети требует значительно больше ресурсов, чем классическое дерево решений. Такие нейронные сети используют для проектирования двигателей реактивных самолетов и поиска лекарств от болезни Альцгеймера. Open AI использовали вычислительные мощности облачного сервера Microsoft Azure, так как Microsoft является одним из учредителей Open AI.

Твит Маска после победы бота на турнире:

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

В начале обучения такой ИИ даже не умеет ходить, после 34 поколений и нескольких дней обучения ИИ смог закончить уровень без смертей:




Действительно ли победа в Доте так важна? Что говорят эксперты?

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

Восхищения

Из обсуждений на Reddit:

Comment 1.png

Перевод: Бот выигрывает за счет замедлений своих существ телом персонажа. Это офигенно.


Comment 2.png

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

Критика

Из обсуждений на Reddit:

Comment 4.png

Перевод: Бот, выигравший у профессионала в Доту, сравним с роботом, который кидает мячи в баскетбольную корзину с места. Это ненастоящий баскетбол и ненастоящая  Дота.


Comment 5.png

Перевод: Звучит намного менее внушительно, когда понимаешь, что бот по определению снабжен инструментами, позволяющими иметь сверхчеловеческую реакцию и точное знание урона в цифрах. Это позволяет безошибочно рассчитывать урон и наносить последний удар. Будет действительно интересно, если они смогут научить бота играть в макростратегии, которых нет в игре 1 на 1. Если они смогут на равных выиграть у команды из 5 человек, это будет достижение.

Нашлись и совсем сомневающиеся:

Форум разработчиков ПО и модов для Доты:

Comment 6.png

Перевод: Не просите их показать открытый код, не покажут по очевидным причинам. Несмотря на такую жесткую критику, разработчики заявили, что представят версию для игры 5 на 5, которая утрёт нос критикам. Стоит отметить также, что прошло всего несколько дней после события. Возможно, впоследствии будут опубликованы научные статьи или даже исходный код.



Уровень 3. Почти конспирология: почему ИИ и роботы играют в человеческие игры?

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

В 1996 году Deep Blue от IBM победил гроссмейстера Гарри Каспарова в шахматах. Спустя 10 лет, в 2016 году, AlphaGo от команды DeepMind из Google победил Ли Седоля в го, через год Open AI смогли повторить успех в Dota 2.

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

Что эта победа означает?

Неочевидный вывод из этой новости – киберспортивные турниры стали настолько важными и популярными, что крупнейшие технологические стартапы используют их как площадку для пиара. Еще несколько лет назад Watson от IBM участвовал в телевизионном шоу Jeopardy, чтобы стать знаменитым. Сегодня компьютерам с ИИ нужно быть актуальнее и играть в Dota или Counter strike.

Как подтверждение этой мысли, буквально неделю назад появилась новость о том, что Blizzard открыл API StarCraft 2 для разработчиков команды DeepMind из Google. DeepMind сможет обучаться не только сам, но и с помощью изучения записей матчей лучших игроков в StarCraft 2. DeepMind и Blizzard, так же как и Open AI, приглашают исследователей присоединиться к проекту построения ИИ для игры в StarCraft.

Вот, кстати, ссылка на блог команды DeepMind.

В чем конспирология?

В связи с выходом API от Blizzard, в сети возникла конспирологическая версия. Технологические гиганты не просто так в один момент сфокусировались на компьютерных играх.

Спустя секунды после победы бота от Open AI Илон Маск написал в твиттере, что бот организация, инициатором которой стал сам Илон, победила в намного более сложной игре, чем шахматы или го:

Твит, вероятно, является хвастовством перед IBM и Google, которые освоили игры «попроще». Не стоит забывать, что Маск с коллегами вложили больше миллиарда долларов в некоммерческую исследовательскую организацию Open AI.

Как минимум они смогут привлечь лучших специалистов, которым впоследствии предложат работу в Tesla или других компаниях-спонсорах. На форумах и в твиттере Маска обвинили в кликбейте и преувеличении заслуг Open AI.

Недовольными остались разработчики ботов для Dota 2

Valve не пригласила на турнир программистов, которые работали над созданием сторонних решений для Dota 2. Существует несколько программ на основе деревьев решений и других технологий, которые способны играть даже в режиме 5 на 5. Тем не менее на сцене продемонстрировали ранний прототип для игры 1 на 1 от Open AI. Valve не комментировали данную претензию.

В заключение, хочу сказать: «I, for one, welcome our new robot overlords». Что касается меня, то я приветствую наших будущих роботов-надзирателей. И регулярно пишу о них в нашем Telegram-канале Robotics Channel. Присоединяйтесь!


Материалы по теме:

Индустрия одиночества: сможет ли умная техника заменить человеку человека?

Сто лет без роботов: почему мы с вами не застанем эру умных машин

Я написал бота, который рассылал за меня тысячи резюме — и вот что из этого вышло

Как искусственный интеллект изменит здравоохранение через 5 лет

Чтение на выходные: все о ботах

Могут ли боты заменить HR-специалистов? Мнения экспертов

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

Материалы по теме

  1. 1 $25 млн за три года. Как клуб из россиян и украинцев стал главным на планете по Dota 2
  2. 2 Как устроен рынок киберспорта в России и СНГ
  3. 3 Кто спонсирует киберспорт в России и мире
  4. 4 Игры, в которые играют люди: что предложить команде для киберспорта
  5. 5 От формирования первых команд до победы на чемпионатах
FutureFood
Кто производит «альтернативную» еду
Карта