Разработчики OpenAI — о вардах, списке героев и проблемах ИИ

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


2019-04-24 02:00

Трезво про ИИ

 — Чем руководствуются боты, когда ставят 4 варда в одном месте или оставляют последнего крипа в лагере в своем лесу?

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

— Боты знают, что можно переложить предметы в рюкзак?

— Да, но перекладывание предметов из инвентаря в рюкзак заскриптовано [настроено вручную — прим.].

— Почему? Они не поняли, для чего это нужно, или есть какие-то проблемы, не позволяющие им это использовать?

— Мы провели эксперимент, в ходе которого позволили им этому научиться. Они научились неплохо перекладывать предметы, но пользовались этим навыком не лучше, чем в случае со скриптом, поэтому мы решили убрать его перед матчем с OG.

— Ради любопытства: почему не оставить их в режиме самообучения? Если в нем они дошли до уровня скрипта, то зачем убирать его?

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

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

Что касается лагерей крипов, не до конца ясно, понимают ли они «правила»: добивание последнего крипа, блокирование спауна. Ещё более непонятно, знают ли они о времени возрождения крипов.

— Значит ли это, что выбор между Healing Salve и Tango был сделан вами, а не ботом?

— Мы изначально убрали Tango (отчасти потому, что поначалу не говорили им о деревьях в игре). Мы тренировали ИИ в течение последнего месяца, но из-за ошибок пришлось вернуть предыдущий вариант перед матчем с OG. Что касается выбора, то это результат некоторой комбинации: хотя мы и говорим им, что покупать, поначалу мы наблюдаем за тем, как они справляются под действием скриптов (например, чтобы выяснить, в чём они хороши и что им нравится), и сравниваем проценты побед для выяснения лучшего варианта.

— Есть ли преимущество у той или иной стороны во время тренировок бота? Например, в матчах между людьми наблюдается большая разница: Dotabuff

OpenAI побеждает за Свет на 5% чаще.

— Команда тестировщиков выяснила, что поведение бота при игре за Свет и Тьму различается: в приоритизации строений (например, уничтожение Т1 вышки Сил Света при игре за Тьму они считают очень важным) и конфронтации на линиях, что влияет на результативность, а значит, и долю побед. В целом, смена стороны, видимо, влияет не так, как на людей (например, они не подвержены влиянию угла камеры).

— Рассматриваете ли вы возможность заменить текущих ботов в «Доте» на одну из версий OpenAI?

— Нужно будет спросить об этом Valve :)

— Возможно ли будет в будущем сыграть с OpenAI снова?

— На данный момент у нас нет планов по публичному тестированию OpenAI Five, к сожалению.

— Главная проблема здесь в том, что понимание игры у Five снижается после каждого патча от Valve.

— После этих выходных OpenAI уйдет из «Доты»?

— После этих выходных мы закроем компетитив-часть нашего проекта: после победы над OG осталось не так много, чего можно достичь, продолжая эксперименты в соревновательном направлении.

— Кстати, мы спрятали небольшое «пасхальное яйцо» на стадии драфта. До сих пор его не нашли, насколько нам известно!

(Omni, Pheonix, Ember, Naga, Ancient Apparation, Invoker)

— Насколько велика модель?

— У нее сейчас приблизительно 167 миллионов параметров.

— Сколько ресурсов необходимо для запуска OpenAI после того, как тренировка завершится?

— 32-ядерного процессора достаточно для игры с OpenAI Five.

— Уточню: это 32-поточный Intel Skylake с hyper-threading, так что процессора с 16 физическими ядрами вполне достаточно для запуска матча вместе с ботом.

— Как вы выбрали героев для тренировок OpenAI?

— Когда мы начали, мы выбрали тех героев, которых считали наиболее легкими для изучения искусственным интеллектом (с дальним типом атаки, простыми способностями и т.д.). Когда увидели прогресс, мы попытались сбалансировать доступный список, добавляя в него юнитов ближнего боя и саппортов-«четвёрок». Дальше мы планировали внедрить весёлых и интересных героев, но ИИ не научился управлять ими на одном уровне с первоначальными.

Первыми двумя после основных были Drow Ranger и Huskar. Когда они достигли уровня героев из первоначального списка, мы добавили Pugna, Pudge, Venomancer, Mirana и
Windranger, чтобы посмотреть, научится ли ИИ новым механикам, недоступным в первоначальном списке. Также мы попробовали тренировки со списком из около 80 героев, исключая способных призывать суммонов и иллюзии.

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

— Как вы сотрудничаете с Valve?

Valve помогла нам получить «замороженные» версии игры. Из-за того что с выходом каждого патча ИИ нужно заново учиться и на это может уходить большое количество времени, нам было важно получить версию клиента, которая не будет меняться.

— Планируете ли вы попробовать другие игры?

— На данный момент — нет. С «Дотой» всё еще остались нерешённые вопросы, которые мы можем изучить и использовать в нашем исследовании.

— Как ИИ видит себя, союзных юнитов и строения? Может ли он «увидеть» это всё одновременно, в то время как человек видит лишь часть, ограниченную собственным восприятием?

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

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

Слева — как «Доту» видит человек, справа — взгляд искусственного интеллекта

— Увидим ли мы когда-нибудь бота с возможностью играть за любого героя из «Доты»?

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

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

— Мы до сих пор используем готовые (заскриптованные) сборки. Во время тренировок они подбираются случайным образом, чтобы модель научилась играть против разных сборок.

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

— Можно ли решить проблему ИИ с использованием Smoke/вардов и невидимости с помощью специальных карт? Например, вместо обычной Dota 2 поместить их на карту, где нужно пройти из точки А в точку Б, оставшись незамеченным. Создать карусель Добавьте описание

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

— Почему вы выбрали Dota 2?

— На это есть ряд причин:

  • популярность (и огромные призовые);
  • то, что реакция и микроконтроль — второстепенные навыки;
  • глубина (сложность);
  • доступность на Linux;
  • API.

Все вышеперечисленные пункты одинаково важны.

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


Источник: m.vk.com

Комментарии: