OpenAI Five — это компьютерная программа OpenAI , которая играет в видеоигру Dota 2 пять на пять . Её первое публичное появление состоялось в 2017 году, где она была продемонстрирована в игре один на один против профессионального игрока Dendi , который проиграл ей. В следующем году система продвинулась до точки, когда она выступала как полная команда из пяти человек, и начала играть против профессиональных команд и демонстрировать способность побеждать их.
Выбрав такую сложную игру, как Dota 2, для изучения машинного обучения , OpenAI посчитала, что сможет точнее уловить непредсказуемость и непрерывность, наблюдаемые в реальном мире, тем самым построив более общие системы решения проблем. Алгоритмы и код, используемые OpenAI Five, в конечном итоге были заимствованы другой нейронной сетью , разрабатываемой компанией, которая управляла физической роботизированной рукой. OpenAI Five сравнивали с другими похожими случаями игры искусственного интеллекта (ИИ) против людей и их победы над ними, такими как AlphaStar в видеоигре StarCraft II , AlphaGo в настольной игре Go , Deep Blue в шахматах и Watson в телевизионном игровом шоу Jeopardy !.
Разработка алгоритмов, используемых для ботов, началась в ноябре 2016 года. OpenAI решила использовать Dota 2 , соревновательную видеоигру пять на пять, в качестве основы из-за ее популярности на платформе потокового вещания Twitch , имеющей встроенную поддержку Linux и доступный интерфейс прикладного программирования (API). [1] Прежде чем стать командой из пяти человек, первая публичная демонстрация состоялась на The International 2017 в августе, ежегодном премьерном чемпионате по игре, где Dendi , украинский профессиональный игрок, проиграл боту OpenAI в живом матче один на один. [2] [3] После матча технический директор Грег Брокман объяснил, что бот учился, играя сам с собой в течение двух недель в реальном времени , и что обучающее программное обеспечение стало шагом в направлении создания программного обеспечения, которое может выполнять сложные задачи, «например, быть хирургом». [4] [5] OpenAI использовала методологию, называемую обучением с подкреплением , когда боты обучаются с течением времени, играя против самих себя сотни раз в день в течение месяцев, в ходе чего они получают вознаграждение за такие действия, как убийство врага и разрушение башен. [6] [7] [8]
К июню 2018 года возможности ботов расширились, и они смогли играть вместе как полноценная команда из пяти человек и победить команды любителей и полупрофессиональных игроков. [9] [6] [10] [11] На The International 2018 OpenAI Five сыграли в двух играх против профессиональных команд, одну против бразильской paiN Gaming, а другую против звездной команды бывших китайских игроков. [12] [13] Хотя боты проиграли оба матча, OpenAI все равно посчитала это успешным начинанием, заявив, что игра против некоторых из лучших игроков в Dota 2 позволила им проанализировать и скорректировать свои алгоритмы для будущих игр. [14] Последняя публичная демонстрация ботов состоялась в апреле 2019 года, где они выиграли серию из трех матчей против чемпионов The International 2018 OG на живом мероприятии в Сан-Франциско . [15] Четырехдневное онлайн-мероприятие для игры против ботов, открытое для публики, состоялось в том же месяце. [16] Там боты сыграли в 42 729 публичных играх, выиграв 99,4% из этих игр. [17]
Каждый бот OpenAI Five представляет собой нейронную сеть, содержащую один слой с 4096-юнитовой [18] LSTM , которая отслеживает текущее состояние игры, извлеченное из API разработчика Dota. Нейронная сеть выполняет действия с помощью множества возможных головок действий (без участия человека), и каждая головка имеет значение. Например, количество тиков для задержки действия, какое действие выбрать — координата X или Y этого действия в сетке вокруг единицы. Кроме того, головки действий вычисляются независимо. Система ИИ наблюдает за миром как за списком из 20 000 чисел и выполняет действие, проводя список из восьми значений перечисления. Кроме того, она выбирает различные действия и цели, чтобы понять, как кодировать каждое действие и наблюдать за миром. [19]
OpenAI Five была разработана как универсальная система обучения с подкреплением на инфраструктуре «Rapid». Rapid состоит из двух слоев: он запускает тысячи машин и помогает им «общаться» друг с другом, а второй слой запускает программное обеспечение. К 2018 году OpenAI Five отыграла около 180 лет игр в обучение с подкреплением, запущенных на 256 графических процессорах и 128 000 ядрах ЦП , [20] используя Proximal Policy Optimization , метод градиента политики . [19] [21]
До OpenAI Five успешно применялись и другие эксперименты и системы ИИ против людей, такие как Jeopardy! с Watson , шахматы с Deep Blue и го с AlphaGo . [22] [23] [24] По сравнению с другими играми, в которых системы ИИ использовались для игры против людей, Dota 2 отличается, как описано ниже: [19]
Долгосрочный обзор : боты работают со скоростью 30 кадров в секунду при среднем времени матча 45 минут, что дает 80 000 тиков за игру. OpenAI Five наблюдает за каждым четвертым кадром, генерируя 20 000 ходов. Для сравнения, шахматы обычно заканчиваются до 40 ходов, а го заканчивается до 150 ходов.
Частично наблюдаемое состояние игры : игроки и их союзники могут видеть только карту непосредственно вокруг себя. Остальная ее часть покрыта туманом войны , который скрывает вражеские юниты и их движения. Таким образом, игра в Dota 2 требует делать выводы на основе этих неполных данных, а также предсказывать, что их противник может делать в то же время. Для сравнения, шахматы и го являются «играми с полной информацией», поскольку они не скрывают элементы от игрока противника. [25]
Пространство непрерывного действия : каждый игровой персонаж в игре Dota 2 , известный как герой, может совершать десятки действий, нацеленных либо на другого юнита, либо на позицию. Разработчики OpenAI Five выделяют пространство в 170 000 возможных действий на героя. Не считая вечных аспектов игры, в среднем на каждый тик приходится ~1000 допустимых действий. Для сравнения, среднее количество действий в шахматах составляет 35, а в го — 250.
Непрерывное пространство наблюдения : Dota 2 играется на большой карте с десятью героями, по пять в каждой команде, а также десятками зданий и неигровых персонажей (NPC). Система OpenAI наблюдает за состоянием игры через API бота разработчиков, как 20 000 чисел, которые составляют всю информацию, к которой человеку разрешено получить доступ. Шахматная доска представлена примерно в виде 70 списков, тогда как доска для го имеет около 400 перечислений.
OpenAI Five получили признание со стороны сообщества ИИ, технологий и видеоигр в целом. Основатель Microsoft Билл Гейтс назвал это «большим делом», поскольку их победы «требовали командной работы и сотрудничества». [8] [26] Шахматист Гарри Каспаров , проигравший Deep Blue AI в 1997 году, заявил, что, несмотря на их проигрышное выступление на The International 2018, боты в конечном итоге «достигнут цели, и раньше, чем ожидалось». [27]
В разговоре с MIT Technology Review эксперты по ИИ также считали систему OpenAI Five значительным достижением, поскольку они отметили, что Dota 2 была «чрезвычайно сложной игрой», поэтому даже победа над непрофессиональными игроками была впечатляющей. [25] PC Gamer написал, что их победы над профессиональными игроками были значительным событием в машинном обучении. [28] Напротив, Motherboard написал, что победа была «по сути мошенничеством» из-за упрощенных пулов героев с обеих сторон, а также того факта, что ботам был предоставлен прямой доступ к API, в отличие от использования компьютерного зрения для интерпретации пикселей на экране. [29] The Verge написал, что боты были доказательством того, что подход компании к обучению с подкреплением и ее общая философия в отношении ИИ «приносят вехи». [16]
В 2019 году DeepMind представила похожего бота для Starcraft II , AlphaStar . Как и OpenAI Five, AlphaStar использовал обучение с подкреплением и самостоятельную игру. The Verge сообщила, что «цель этого типа исследований ИИ — не просто сокрушить людей в различных играх, просто чтобы доказать, что это возможно. Вместо этого она заключается в том, чтобы доказать, что — при наличии достаточного количества времени, усилий и ресурсов — сложное программное обеспечение ИИ может превзойти людей практически в любой конкурентной когнитивной задаче, будь то настольная игра или современная видеоигра». Они добавили, что победы DeepMind и OpenAI также являются свидетельством силы определенных применений обучения с подкреплением. [30]
OpenAI надеялась, что технология сможет найти применение за пределами цифровой сферы. В 2018 году им удалось повторно использовать те же алгоритмы обучения с подкреплением и обучающий код из OpenAI Five для Dactyl , человекоподобной роботизированной руки с нейронной сетью, созданной для манипулирования физическими объектами. [31] В 2019 году Dactyl решил кубик Рубика . [32]