Боты китайской технологической компании Tencent смогли обыграть встроенный алгоритм игры Starcraft II, который на высоких уровнях сложности видит карту целиком, что дает существенное преимущество. Предложенные разработчиками программы основаны на разных подходах: алгоритм TStarBot1 основан на методе глубокого обучения с подкреплением, а TStarBot2 руководствуется заранее прописанными правилами игры. Оба бота справляются с игрой с первого по десятый уровень. Препринт статьи с описанием работы ботов выложен на arXiv, коротко о них сообщает MIT Technology Review.
Алгоритмы для игры в StarCraft (как первую, так и вторую часть) разрабатываются достаточно давно: уже несколько лет, к примеру, проходят соревнования подобных программ. Из-за своего жанра (StarCraft относится к стратегиям в реальном времени) игра очень сложна для обучения искусственного интеллекта: в ней пользователи видят не всю карту, а только ее часть, из-за чего им приходится ориентироваться на месте. Большинство из созданных алгоритмов, поэтому, проигрывают профессиональным игрокам-людям, но их все равно продолжают разрабатывать и улучшать. В августе прошлого года компания Blizzard, выпустившая игру, даже опубликовала API для обучения игре алгоритмов машинного обучения. Сразу же в этом себя опробовала лаборатория Google DeepMind: созданной ими нейросети, однако, далеко продвинуться в игре не удалось. Чуть позже, в октябре, своего бота представила компания Facebook, и он оказался слабее программ, созданных программистами-любителями.
Представить своих ботов решили разработчики из Tencent под руководством Пэна Суня (Peng Sun). Оба бота тренировались играть зергами против зергов на карте Abyssal Reef, а оценка их работы — против встроенных ботов, живых игроков и друг друга — проходила там же. Бот TStarBot1 учился игре по методу глубокого обучения с подкреплением: в его основе — несколько микроалгоритмов, следящих за разными аспектами игры в процессе свободной игры-обучения, которое занимало несколько дней. В основе TStarBot2 — обучение всем правилам игры, из которых на каждом этапе он учится выбирать наиболее эффективные.
Оба бота смогли обыграть встроенные алгоритмы на уровнях с первого по десятый. Интересно, что на последних трех уровнях встроенный алгоритм «жульничает»: в отличие от своего противника-игрока он видит всю карту целиком, что дает ему большое преимущество. Боты смогли обыграть компьютерного игрока и в этом случае. Их эффективность против встроенного алгоритма StarCraft II составила 81 процент на десятом уровне для TStarBot1 и 90 — для TStarBot2, при этом в игре друг против друга первый бот оказался сильнее: разработчики отмечают, что причиной этому то, что первый бот часто использует раш (быструю атаку в начале поединка), а второй к ней уязвим.
Разработчики Tencent известны и другими проектами. В частности, их отделение информационной безопасности в 2016 году смогло указать на изъян в программном обеспечении Tesla Model S, получив удаленный доступ к управлению автомобилем.
Комментарии