Вы могли этого не заметить, но в первой половине августа 2017 за выходные случился небольшой переворот. Вечером в пятницу на глазах у многотысячной толпы ИИ-бот победил профессионального игрока в Dota 2 – одну из самых популярных видеоигр в мире. Человеческий чемпион, вежливый паренёк Данил «Денди» Ишутин сдался после того, как его убили три раза, и сказал, что не смог бы победить неудержимого бота. «Он немного напоминает человека, – сказал Денди. – Но одновременно похож и на что-то другое».
Отцом бота был не кто иной, как техномиллиардер Илон Маск, помогший финансировать и основать разработавшую его организацию, OpenAI. На мероприятии его не было, но своё отношение он выразил в твиттере.
OpenAI первым смог победить лучших игроков в мира в соревновательном киберспорте. Это гораздо более сложный вид, чем традиционные настольные игры вроде шахмат или го.
Что ещё интереснее, OpenAI сам научился всему, что он знает. Он обучался, постоянно играя сам с собой, накапливая многочисленные «карьеры» в игровом опыте всего за две недели.
Что же из этого следует? Было ли пятничное шоу более впечатляющим, чем победы Google ИИ в настольной игре го? Если кратко, то, наверное, нет, но всё же это представляет существенный шаг вперёд – как для киберспорта, так и для мира ИИ.
Да, видеоигры сложнее шахмат
Во-первых, нужно рассмотреть заявление Маска о том, что Dota «гораздо более сложный вид, чем традиционные настольные игры вроде шахмат или го». Это действительно так. Битвы в реальном времени и стратегические игры типа Dota и Starcraft II представляют собой сложные вызовы, с которыми компьютеры пока ещё не справляются. Эти игры требуют стратегического
В Dota эта сложность увеличивается при работе людей в командах по пять человек, координирующих стратегии, меняющиеся по ходу действия в зависимости от используемых персонажей. Чтобы ещё усложнить задачу, в игре присутствует более 100 различных персонажей, каждый из которых обладает уникальным набором навыков; персонажей можно оснастить разными уникальными предметами, каждый из которых при применении в нужный момент может привести к выигрышу. Всё это значит, что запрограммировать выигрышные стратегии в бот для Dota невозможно.
Но игра, в которую играл OpenAI, была не такой сложной. Вместо «5 на 5» он играл с людьми в «1 на 1»; вместо выбора персонажа, у человека и компьютера был один и тот же герой – товарищ по имени Shadow Fiend [Демон тени], набор атак которого достаточно прямолинеен. Мой коллега Влад Савов, подсевший на Dota, также описавший своё впечатление от пятничной игры, сказал, что матч «1 на 1» представляет «лишь малую долю сложности полных соревнований». Так что – вероятно, не так сложно, как го.
Нельзя считать лучше калькулятора
Второй большой подвох – преимущества, которые были у OpenAI над человеком. Одним из главных споров в сообществе ИИ было обсуждение вопроса, есть ли у бота доступ к API для ботов Dota – это позволило бы ему подключиться напрямую к потоку информации из игры, к таким параметрам, как, например, расстояние между игроками. Грег Брокман из OpenAI подтвердил нашему изданию, что ИИ действительно использовал API, и что определённые техники были жёстко вшиты в агента, включая и предметы, которые он использовал в игре. Также его научили определённым стратегиям, используя технику проб и ошибок под названием «стимулированное обучение». В общем, его немножечко потренировали.
Андреас Теодороу, исследователь ИИ в играх из Батского университета и опытный игрок в Dota, объясняет, почему это имеет значение. «Одна из главных особенностей Dota – вам необходимо рассчитывать расстояния, чтобы знать, как далеко распространятся некоторые атаки, – говорит он. API позволяет ботам оценивать расстояния. Так что можно сказать: 'Если кто-то находится в 500 метрах, делай это', но человеку приходится вычислять всё самостоятельно, обучаясь методом проб и ошибок. Если у ботов есть доступ к информации, которой нет у человека, это даёт им преимущество». Это особенно важно для игры «1 на 1» с таким героем, как Shadow Fiend, где игрокам приходится концентрироваться на выборе правильного времени для атак, а не на общей стратегии.
Брокман говорит, что научиться такому умению для ИИ – задача тривиальная, и она никогда не была основной для исследований в OpenAI. Он говорит, что институтский бот справился бы и без информации от API, но «он просто потратил бы гораздо больше времени на приобретение навыков зрения, которое и так работает, так в чём же тогда смысл?»
Некоторым навыкам можно научиться, но нельзя научить
Имея в виду всё это, можно ли отмести победу OpenAI? Ни в коем случае, говорит Брокман. Он указывает, что то, как он самостоятельно учился, было важнее самой победы. Предыдущие чемпионы ИИ типа AlphaGo учились играть в игры, обрабатывая прошлые матчи людей-чемпионов, а бот OpenAI сам научился (почти) всему, что знает.
«У вас есть система, которая просто играла против себя, и выработала достаточно надёжные стратегии, чтобы победить профессионалов. Это нельзя принимать как само собой разумеющееся, – говорит Брокман. – И это большой вопрос для любой системы машинного обучения: как сложность попадает в модель? Откуда она берётся?»
По его словам, бот OpenAI показывает, что нам не нужно обучать компьютеры сложным вещам: они сами могут это сделать. И хотя кое-какое поведение бота было предварительно запрограммировано, некоторые стратегии он выработал сам. К примеру, он научился, как обманывать оппонентов, притворяясь, что начал атаку, но отменяя её в последний момент, и заставляя человека отражать атаку, которой не было – прямо как финт в боксе.
Другие же оценивают это более скептически. Исследователь ИИ Денни Бриц, написавший популярную запись в блог на эту тему, рассказал нам, что довольно сложно оценить степень достижения, не зная технических деталей. Брокман говорит, что они последуют, но когда точно, сказать не смог. «До выхода работы непонятно, каковы были достижения с технической точки зрения», – говорит Бриц.
Теодороу указывает, что хотя бот OpenAI выиграл у Денди в соревновании, когда игроки присмотрелись к его тактике, то смогли его перехитрить. «Если изучить их стратегии, видно, что они играли, не как все, и выиграли», – говорит он. Игроки использовали нестандартные стратегии – они не удивили бы человека, но ИИ их ещё не видел. «Бот был недостаточно гибким», – говорит Теодороу. Брокман возражает, что после изучения новых стратегий, бот уже не поддался бы им снова.
Все эксперты соглашаются, что это было серьёзное достижение, но настоящие трудности только начинаются. Это будет матч «5 на 5», где агенты OpenAI должны будут не только заниматься дуэлями в середине карты, но и работать на расползающемся, хаотичном поле боя, со множеством героев, десятками подразделений поддержки и неожиданными поворотами. Брокман говорит, что OpenAI сейчас нацелен на турнир по Dota в следующем году, который пройдёт через 12 месяцев. И за это время нужно провести гораздо больше тренировок.
Автор: Вячеслав Голованов