DeepMind обучила нейросеть игре в StarCraft 2. И она проиграла легкому боту

МЕНЮ


Новости ИИ
Поиск

ТЕМЫ


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

АРХИВ


Август 2017
Июль 2017
Июнь 2017
Май 2017
Апрель 2017
Март 2017
Февраль 2017
Январь 2017
Декабрь 2016
Ноябрь 2016
Октябрь 2016
Сентябрь 2016
Август 2016
Июль 2016
Июнь 2016
Май 2016
Апрель 2016
Март 2016
Февраль 2016
Январь 2016
0000

RSS


RSS новости
птичий грипп
Реновация. Снос пятиэтажек в Москве

Новостная лента форума ailab.ru


Blizzard

Команда разработчиков из DeepMind и Blizzard вслед за релизом API для обучения машин игре в StarCraft 2 рассказала о первых результатах на этом поприще. Исследователи создали несколько базовых архитектур на основе нейросетей, обучили их, и опробовали в серии мини-игр, а также в матчах 1 на 1 против самого слабого из встроенных в StarCraft 2 скриптовых ботов. Полные результаты опубликованы в виде препринта, доступного в блоге DeepMind.

Несмотря на то, что существует множество ботов для различных компьютерных игр, в случае стратегий вроде StarCraft 2 искусственному интеллекту так и не удалось победить человека. Но большинство подобных ботов являются скриптовыми, то есть изначально в них заложена определенная стратегия, которой они следуют всю игру. На максимальных уровнях сложности ботам также обычно даются «бонусы» в виде дополнительных стартовых зданий, юнитов и прочих внутриигровых ресурсов, чтобы сделать сражение интересней для опытного игрока-человека. Однако в последние несколько лет благодаря методам машинного обучения удалось создать обучаемых ботов. Они хорошо проявили себя в играх с открытой информацией, например, настольной игре го, однако в играх с частичной информацией (например, компьютерных стратегиях) человек все еще оказывается сильнее.

Коллектив DeepMind благодаря новому API для StarCraft 2 обучил опробовал в этой игре нескольких ботов на основе нейросетей. Авторы изучали как системы, обучающиеся с подкреплением, так и ботов, обучавшихся с учителем — размеченными данными в этом случае выступали записи игр людей. Результаты сравнивались с работой самого слабого из скриптовых ботов, встроенных в StarCraft, а так же с работой абсолютно случайного бота, с игрой человека-любителя и игрока, достигшего максимального ранка «грандмастер» в турнирной лестнице StarCraft.

Простейшим испытанием для нейросетей была серия мини-игр с примитивными задачами: передвинуть юнита в нужную точку, добывать минералы, добывать минералы и газ, построить пехотинцев и так далее. В этих испытаниях игрок-грандмастер достиг практически максимально достижимых показателей, игрок-любитель тоже был близок к ним, а вот нейросети не всегда справлялись с задачей. Так, в миссии на добычу кристаллов и газа только одна архитектура сообразила, что можно построить дополнительных рабочих, тогда добыча кристаллов ускорится. Отметим, что эти нейросети обучались с подкреплением, то есть изначально им не сообщалось никаких «подсказок». Все, что они могли — это узнавать свой текущий «счет» (например, добытые ресурсы) и выполнять одно из нескольких десятков или сотен доступных действий (передвинуть камеру, выделить юнит, передвинуть юнит, построить юнит и так далее). Самой сложной игрой (но и самой близкой к реальному сражению), как и ожидалось, была постройка пехотинцев, в ней боты не слишком далеко ушли от полностью случайной системы. И только в одной мини-игре нейросетям удалось приблизиться к результату грандмастеров: в задаче «передвинь юнита в указанную точку».

Другим испытанием была полноценная игра нейросети против встроенного легкого бота. В подавляющем числе случаев нейросети проигрывали, а редкие случаи ничьих достигались только благодаря заранее установленной отсечке в 30 минут. Если в качестве «счета» на который опирались нейросети, использовалось «-1» — проиграл, «0» — ничья, «1» — выиграл, то есть боты получали отклик только по окончанию игры, большая часть архитектур не смогла хоть как-то приспособиться к игре. Тем не менее, одной нейросети удалось создать и применить интересную стратегию: она воспользовалась способностью зданий Терранов (одной из игровых рас) взлетать и убегать от армии противника, дотягивая таким образом до ничьей. Если же в качестве счета использовался Blizzard score (совокупная оценка всех добытых ресурсов, построенных зданий и юнитов и так далее), то максимум, на что хватало нейросетей — это не отвлекать рабочих от добычи ресурсов. В этом случае счет стабильно рос, пока не приходила армия соперника.

Наконец, разработчики также обучали ботов на записях реальных игр, предоставленных Blizzard. В этом случае нейросети в основном учились предсказывать исход партии, опираясь на «кадр» из игры. По результатам оказалось, что в первые несколько минут программа не могла предугадать, кто выиграет (что не удивительно для столь ранних этапов игры), то ближе к концу нейросеть предсказывала результат партии с точностью до 64 процентов. При этом программам удавалось до какой-то степени предугадывать следующее действие игрока. Подобные операции являются базовыми для игроков-ботов, и в дальнейшем именно на таких оценках нейросети будут строить свои действия.

Авторы отмечают, что к нынешним результатам стоит относиться лишь как к предварительным, и даже простые стратегии, до которых нейросетям удалось дойти самим, можно считать первыми успехами в покорении StarCraft 2. Ученые сделали вывод, что в будущем стоит тестировать любую перспективную архитектуру на мини-играх, так как в них боты должны показывать показатели, близкие к человеческим, в противном случае вряд ли стоит ожидать, что нейросети освоют более сложные аспекты игры. Так, используя мини-игры, другой команде исследователей удалось обучить нейросеть простейшим тактическим приемам вроде Hit&Run — тактике, при которой юниты с дистанционной атакой короткими перебежками уходят от ближнего боя в перерывах между выстрелами.

Ранее на этой неделе сначала команда из FaceBook выложила базу предобработанных записей игр STARDATA для машинного обучения, а вскоре и Blizzard в сотрудничестве с DeepMind объявил о выходе API для StarCraft и библиотеке для Python, обеспечивающей связку API с популярными системами машинного обучения.

Тарас Молотилин


Источник: nplus1.ru