20.04.2024
Подписывайтесь на Telegram-канал по ссылке

Нейросетевых агентов научили командной игре в футбол

Simulated Humanoid Football

Разработчики из компании DeepMind создали нейросетевых человекоподобных агентов, которые научились играть в футбол и помогать партнёрам по команде. Сначала агенты учились базовым движениям, имитируя движения людей, затем тренировались, отрабатывая более сложные движения, к примеру, дриблинг, а после этого играли в команде и учились взаимодействовать с партнёром, повышая тем самым шансы команды на гол. Статья с описанием разработки опубликована на arXiv.org.

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

Параллельно с этим исследователи развивают методы обучения нейросетевых агентов коллективному взаимодействию. Например, в 2019 году специалисты из OpenAI опубликовали примечательную работу, в которой нейросетевые агенты самостоятельно учились парной игре в прятки и по мере обучения придумывали оптимальные тактики и методы противодействия им.

Сыци Лю (Siqi Liu), Гай Ливер (Guy Lever) и их коллеги из DeepMind на примере футбола показали, что нейросетевых агентов можно научить одновременно низкоуровневым навыкам, касающимся выполнения конкретных движений, и высокоуровневым, например, командному взаимодействию на поле.

Поскольку игра в футбол состоит из нескольких разных навыков и обучить им агентов сразу сложно даже с помощью обучения с подкреплением, исследователи решили разбить обучение на три этапа. На первом этапе агенты обучаются базовым движениям — по сути, учатся ходить. Авторы собрали для этого 105 минут записей игры в футбол, во время которых движения игроков оцифровывались системой захвата движений. Нейросетевой агент делал различные движения, а функция вознаграждения сравнивала их с целевыми и выдавала соответствующую награду. В результате постепенно алгоритм обучался требуемым движениям и в целом приобрёл навык бега по футбольному полю с поворотами. Обученную модель разработчики впоследствии использовали как низкоуровневый контроллер движения, превращающий высокоуровневое намерение двигаться в определённую сторону или ударять по мячу в набор движений конкретных частей тела.

На втором этапе агенты обучались не базовому умению стоять на ногах и бегать, а осваивали определённые и специфичные для футбола движения:

  • Следование за движущейся целью, зная направление её движения;
  • Дриблинг. В данном случае это похоже на первую задачу с той разницей, что агенту необходимо не самому держаться близко к подвижной цели, а двигать мяч так, чтобы он все время был как можно ближе к ней;
  • Пасы, то есть ударять мяч так, чтобы он прилетел в заданную точку поля;
  • Удары в створ ворот.

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

На третьем этапе модели с выученными низкоуровневым контроллером движения и более высокоуровневыми футбольными навыками обучались собственно игре в футбол в формате два на два игрока. Матчи проходили на виртуальном поле с упрощёнными правилами: мяч отскакивал от его границ, а правила, такие как оффсайд, не применялись. Матчи длились по 45 секунд, за которые каждая команда могла забить по несколько голов. В начале матча или после гола игроки расставлялись в псевдослучайном порядке в центре поля.

После нескольких десятков дней обучения, эквивалентных нескольким десяткам лет игры, агенты научились командному взаимодействию. Авторы проанализировали их успехи, измеряя по мере обучения несколько статистических показателей, таких как процент владения мячом и распределение труда — мера, показывающая, что игроки находятся на разном расстоянии от мяча и тем самым играют на поле разные роли.

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