Краят на отворените AI състезания

От основателя на състезанието StarCraft AI.

Актуализация: Dota 2 предоставя интерфейс за скриптове, позволяващ писане на ботове на Lua. Този ограничен интерфейс обаче не позволява на ботовете да комуникират с отдалечени процеси и да запазват данни за изиграни игри.

„OpenAI Five“ е огромна стъпка напред за AI, но също така е наистина плашеща за изследователите на AI. Никога преди не е имало толкова много отворени инструменти за изграждане на AI системи, но също така се усеща, че бариерата за навлизане на академичните среди всъщност се е увеличила през последните години. Публикувах отворена покана за всички заинтересовани страни да създадат най-добрия възможен AI StarCraft през 2009 г. и беше отворена за всеки, който се интересува от AI. Сега изглежда, че трябва да имате достъп до затворени API, огромна изчислителна мощност и исторически данни за обучение, за да постигнете напредък в AI.

Излагам този аргумент като адвокат на дявола, надявайки се, че може да се докаже, че греша. Бих искал да видя повече отворени състезания и области, в които изследователите без масивни изчислителни ресурси могат да продължат да напредват в ИИ. Ето някои от основните проблеми, които видях при скорошния напредък.

Затворени API

Доколкото ми е известно, OpenAI използва API за изграждане и обучение на ботове, който не е достъпен за академичните изследователи. Ако сте студент, който иска да изгради бот за Dota2, тогава ще трябва да изчакате, докато текущото състезание приключи и евентуално бъде предоставена версия с отворен код. За игри като Go, които са отбелязали голям напредък с дълбоко и подсилващо обучение, този проблем не е проблем. Но ако сте студент, който иска да работи с видеоигри, които имат големи и активни бази играчи, вашите възможности са изключително ограничени. „DeepMind API“ за StarCraft 2 изглежда като страхотна опция, но все пак ще имате други предизвикателства, пред които да се изправите.

Заобиколно решение: Намерете игри с API, които можете да използвате. Използвах Brood War API по време на бакалавърското училище, за да напиша бот за оригиналния StarCraft. Беше огромен хак и някак успях да го накарам да работи с Java, но имах изключителен късмет, че този проект не беше спрян от Blizzard. Страхотно е да видим как общността с отворен код продължава да развива както BWAPI, така и „версията на Java“.

Компютрите са скъпи

OpenAI изразходва огромни количества изчислителна мощност за обучение на ботове, а усилията на DeepMind за обучение на Go ботове също бяха значителни. Това е проблем, който OpenAI разгледа в „публикация в блог“, но също така е обезкуражаващ за академиците. Малко вероятно е студентите да разполагат с масивни облачни изчислителни ресурси за обучение на ботове, които се представят на професионални нива.

Заобикаляне: Намерете подпроблеми, които можете да разрешите. Това всъщност е нещо, което OpenAI правеше преди, като се фокусираше върху мачове 1 на 1 и след това бавно напредваше до 5 на 5, като отпускаше все повече и повече ограничения. Включих технологично ограничено съвпадение в оригиналното състезание с изкуствен интелект на StarCraft, но то не беше толкова популярно като опцията за пълна игра, отчасти защото нямаше човешки опоненти, запознати с тази версия на играта, срещу които участниците да тренират.

Данни за обучение

Една от целите на изследването ми за дисертация беше да създам бот на StarCraft, който се учи от професионални играчи, но сега, когато мина известно време, осъзнавам, че различен подход може да е бил ефективен. Вместо да показвам на моя бот как да работи, можех да посоча функция за възнаграждение за това как трябва да действа ботът и след това да го оставя да се обучава сам. Но нямах добра среда за симулация и трябваше да разчитам на оскъдните данни за обучение, които можех да изтрия от мрежата по това време. Това е особено проблем, когато работите върху подпроблеми, като например 1 на 1 в Dota2, където професионални повторения просто не съществуват.

Заобикаляне: Извличайте набори от данни от мрежата, като професионални повторения от сайтове като TeamLiquid. Това няма да работи за подпроблеми, но винаги можете да заредите колекцията за повторения с вашия собствен геймплей, за да задвижите нещата. Използвах инструменти на трети страни за разбор на повторения и след това създадох инструмент за експортиране с BWAPI по-късно.

Следващи стъпки

Предоставих песимистична гледна точка за учените и любителите на AI игрите. Може да изглежда, че имате нужда от връзки и огромна изчислителна мощност, за да постигнете напредък в ИИ на играта. Помага, но не означава, че ще постигнете напредък без добра насока. Ето някои препоръки, които имам, за да направя AI състезанията по-отворени напред:

  • Отворете API за ботове, за да играят срещу човешки опоненти
  • Предоставете набор от данни за повторение
  • Интегриране с инструменти с отворен код и облак

Вече е лесно да стартирате и работите със среди за дълбоко обучение благодарение на инструменти като Keras и среди като Colaboratory, които улесняват работата с други изследователи върху модели.

В известен смисъл първоначалният ми призив за изследване на отворени проблеми с ИИ се провали. Това беше открит проблем, но не насърчих напълно участниците да бъдат отворени в подхода си към проблема. Сега съществуват страхотни инструменти за сътрудничество и е страхотно време за открита работа по проблемите на AI.

Бен Вебер е главен учен по данни в Zynga. Наемаме"! Тази публикация е мнение, базирано на моя опит в академичните среди и не представлява Zynga.