Что уже умеют OpenAI Five. Как устроен OpenAI и как ИИ проходил обучение

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

Хронология событий:

Разработчики пояснили, что Pajkatt удалось победить противника благодаря покупке Magic Wand - бот до встречи с ним никогда не имел дела с этим предметом.

Создатели ИИ описали некоторые тактики, которые могли запутать бота и привести к его поражению. OpenAI организовали небольшой LAN-турнир неподалеку от The International 2017 , участникам которого предлагалось любым способом одолеть ИИ. Было проведено свыше тысячи матчей и в результате выделено 3 тактики, при встрече с которыми бот мог потерпеть неудачу.

  • Отвод крипов. .
  • Покупка Orb of Venom и Wind lace. Такая сборка давала большое преимущество в скорости, за счет которого можно было быстро сделать первое убийство.
  • Прокачка Raze на первом уровне. Некоторым игрокам с высоким показателем MMR удавалось убить бота тремя-пятью точными Raze за короткий промежуток времени. Тактика требует высокого уровня мастерства.

Следующий этап в развитии проекта - создание команды, состоящей из пяти ботов. OpenAI осознают комплексность проблемы: «1v1 - штука сложная, но 5v5 - это целый океан сложностей. Мы понимаем, что нам придется еще больше раздвинуть границы возможностей ИИ, чтобы решить эту задачу ». Создатели бота уже начали трудиться над улучшением своего искусственного интеллекта: сотрудники OpenAI скачали почти шесть миллионов реплеев с серверов Valve и сейчас занимаются их изучением с целью выявления шаблонов поведения.

Следите за новостями у нас на и в нашей группе

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

Значение победы

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

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

Соперники

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

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

Навыки

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

OpenAI Five совершает 150–170 действий в минуту и реагирует в среднем за 80 мс.

Обучение

Для каждого бота используется раздельная LSTM-сеть с долгой краткосрочной памятью, которая анализирует окружающую среду и помогает боту избегать и обходить препятствия. Всю систему тренировали с помощью расширенной версии обучающего алгоритма Proximal Policy Optimization . Она работает на 256 графических картах и 128 тысячах процессоров.

Каждый день алгоритм проживает 180 лет игрового времени. Подобным массивом данных не обладает ни один из профессиональных игроков на планете. Каждый «агент» проводит 80 % игр против своей нынешней версии и 20 % против прошлой. Так разработчики стараются избегать проблем со стратегиями команды.

Недостатки

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

Пока OpenAI Five умеет играть только ограниченным количеством героев, в ее арсенале есть Necrophos, Sniper, Viper, Crystal Maiden и Lich. Система не научилась вардить, не знает о Рошане, не пользуется невидимостью или сканом. Ей запрещено покупать Divine Rapier, Bottle, Quelling Blade, Boots of Travel, Tome of Knowledge и Infused Raindrop.

В апреле 2018 года китайская нейросеть Golaxy в го лучшего игрока в Китае Кэ Цзе. В 2017 году его же победила другая нейросеть - AlphaGo, разработанная Google.

Одним из самых запоминающихся событий The International 7 , своеобразным открытием турнира, стало представление революционного бота, разработанного командой известного апологета искусственного интеллекта - Илона Маска . В финале пятого игрового дня легендарный Dendi, который, к радости фанатов, все-таки оказался на сцене TI7, в стилизованном шоу-матче сразился с творением OpenAI . В коротком интро разработчики показали еще несколько топовых игроков и комментаторов, которые испытали на себе мощь бота, а также рассказали о ключевых моментах в разработке программы. Кому и как все же удалось победить бота, есть ли у программы слабые места, что отличает проект от уже представленных миру образцов ИИ, и какие перспективы у подобных программ в целом и в Dota 2 в частности? Разработчики выпустили дневник, в котором есть ответы на все эти вопросы.

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

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

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

Хронология проекта

Для сравнения напомним, что из всех играющих в Dota 2 15% обладают показателем MMR ниже 1.500, у 58% (больше половины) MMR меньше 3.000 и у 99.99% (почти у всех) - ниже 7.500 MMR.

1 марта: получены первые результаты самообучения в простой среде, когда Drow Ranger училась «кайтить» запрограммированного Earthshaker.

8 марта: тестер с 1.500 MMR отчитался, что он играет быстрее и лучше, чем бот.

начало июня: этот же тестер первый раз проиграл боту.

8 июля: программа едва выигрывает у полупрофессионального тестера с 7.500 MMR.

7 августа: бот побеждает Blitz (6.200 MMR) 3-0, Pajkatt (8.500 MMR) 2-1 и CC&C (8.900 MMR) 3-0. Все трое согласились, что Sumail все же найдет способ победить бота.

9 августа: OpenAI побеждает Arteezy (10.000 MMR) со счетом 10-0. Артур надеется, что Sumail все-таки справится с программой.

10 августа: бот обыгрывает Sumail (8.300 MMR, лучший игрок 1х1): 6-0. Спортсмен признает, что бота просто невозможно победить. Сыграв со старой версией бота от 9-го августа, он также проигрывает со счетом 1-2.

11 августа: побеждает Dendi (7.300 MMR, бывший чемпион мира, любимец публики) 2-0. При этом винрейт бота с версией от 10-го августа составил 60%.

Задачи Open AI в Dota 2

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

В распоряжении бота были следующие инструменты:

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

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

Сбор информации: бот считывает базовые показатели: здоровье юнитов и тайминг правильного добивания крипов.

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

Open AI на The International 7

Подход разработчиков, основанный на постоянном обучении с помощью игры с партнером или с самим собой, позволил существенно улучшить бота во время пребывания на The International . В понедельник вечером Pajkatt победил программу, используя нестандартный билд с ранним Magic Wand . Этот билд был добавлен в список алгоритмов бота.

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

После практик с Артуром (10-0 в пользу бота), была переработана модель блокировки крипов, что позволило показателям бота улучшится на единицу в системе TrueSkill.

Перед матчами с Sumail, которые должны были пройти в четверг, в процессе самотренировки показатель вырос еще на две единицы. Sumail отметил, что бот научился использовать Raze вне обзора противника, если тот купил Magic Wand . Таким образом программа не давала противнику зарядить артефакт. Об этой внутриигровой механике в тот момент не знали даже сами разработчики.

Arteezy также сыграл против тестера-полупрофессионала (7.500 MMR). Артур доминировал всю игру, но тестер смог удивить его, используя стратегию, которой он научился у бота. Arteezy отметил, что такой сценарий однажды против него разыграл Paparazi, но этот подход серьезно отличался от стандартной игры на Shadow Fiend.

Pajkatt победил бота версии от понедельника с помощью Magic Wand и Fairy Fire, которые дали необходимую для победы регенерацию в процессе боя. Обычно, программа отлично просчитывала вероятность победы при размене, но бот впервые играл против билда с ранним Magic Wand.

Слепые пятна ИИ

Несмотря на то, что Sumail назвал программу непобедимой, бот все еще может быть дезориентирован в ситуациях, в которых он раньше не оказывался. Программа была доступна на The International , где игроки провели более тысячи матчей с установкой победить OpenAI любой ценой.

Слабые места бота можно условно разделить на три архетипа:

Махинации с крипами: например, можно уводить вражеских крипов с линии сразу после их появления (между второй и третьей вышками на центральной линии), оставляя башню бота без защиты.

Orb of Venom + Wind Lace: сборка дает солидное преимущество по скорости на первом уровне и, при правильном использовании, позволяет быстро пролить первую кровь. С помощью полученного буста необходимо суметь убить бота во второй раз.

Raze 1 уровня: требует виртуозного навыка, но несколько 6-7K игроков умудрились убить бота 1 уровня, попав прокастом способности из 3-5 раз.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

OpenAI Five использует не все возможности . Пока что боты не умеют вардить, не знают о Рошане и не пользуются невидимостью или сканом. Им запрещено покупать 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, а сам уехал в отпуск. Он хотел посмотреть, как продолжительная тренировка повысит их мастерство. В итоге боты научились самостоятельно блокировать крипов.

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

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

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

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

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

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

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

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

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

Статьи по теме: