Как победить в Minecraft RL: команда Kairos о сочетании обучения и инженерного подхода

Yannic Kilcher 13,6 тыс. 1 ч 23 мин 4 мин 11.01.2022
Главное

В 2021 году в рамках конференции NeurIPS прошел конкурс MineRL BASALT, целью которого было создание ИИ-агентов, способных выполнять сложные, субъективно оцениваемые задачи в Minecraft. Команда Kairos стала победителем, предложив гибридный подход, сочетающий поведенческий клонинг и классическую инженерию состояний. Ведущий Янник Килчер (Yannic Kilcher) обсудил с авторами решения — Дэвидом Уоткинсом, Ником Вайтовичем и Винисиусом Герксом — механизмы работы их системы и причины превосходства над чисто нейросетевыми методами.

🏗️ Суть вызова MineRL BASALT: задачи без функции вознаграждения 4:10

Главная особенность BASALT Challenge заключается в полном отсутствии математической функции вознаграждения (reward function) . Вместо того чтобы оптимизировать конкретное число, агенты должны выполнять задачи, результат которых оценивают люди-судьи. Участникам предлагалось решить четыре иерархические задачи:

Технические ограничения конкурса:

По словам Винисиуса Геркса, простым клонированием поведения (Behavior Cloning) на таком малом объеме данных задачу решить невозможно . Команда Kairos пришла к выводу, что необходимо внедрять в архитектуру экспертные знания о мире игры (knowledge engineering).

🧠 Архитектура решения: государственная машина и классификатор состояний 19:31

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

Ключевые компоненты системы:

  1. Конечный автомат (State Machine): Жестко запрограммированная логика переключения между подзадачами . Например, для водопада: «поиск места» -> «строительство» -> «позиционирование для фото» .
  2. Классификатор состояний (State Classifier): Обученная нейросеть, которая анализирует текущий кадр 64x64 и определяет, выполнено ли условие для перехода к следующему этапу (например, «вижу ли я гору?» или «нахожусь ли я в пещере?») .
  3. Подзадачи (Sub-policies): Модули действий, которые могут быть как обученными (навигация), так и жестко прописанными кодом (размещение блоков) .

Ник Вайтович отмечает, что использование человеческих знаний позволило «не заставлять модель учить с нуля то, что мы и так знаем, как сделать» .

🖱️ Секрет успеха: 88 000 человеческих меток и эффективная разметка 26:55

Команда Kairos была единственной, кто активно использовал дополнительную разметку данных людьми . Правила конкурса позволяли включать до 30 МБ дополнительных данных. Команда создала собственный интерфейс для быстрой аннотации кадров из видео-демонстраций.

Методика разметки:

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

🧭 Навигация и одометрия без GPS 38:24

Одной из сложнейших технических проблем стало отсутствие координат. Чтобы агент мог возвращаться к построенному загону или отходить от водопада для фото, команда реализовала эстимацию одометрии (Odometry Estimation).

Механизм работы одометрии:

Дэвид Уоткинс признает, что этот метод страдает от дрейфа (drift), особенно если агент упирается в стену, но продолжает «идти» . Однако для коротких перемещений в рамках одной задачи точности было достаточно .

🐎 Почему агент Kairos прыгает как человек? 54:34

Агент Kairos выиграл не только основной конкурс, но и приз за «человекоподобность» (human-like behavior) . Янник Килчер заметил на видео, что агент совершает, казалось бы, лишние прыжки во время движения.

Авторы объяснили этот эффект особенностями Behavior Cloning:

🔮 Будущее и ограничения: почему Minecraft еще не пройден 1:09:44

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

Если бы условия конкурса изменились и задачи не были известны заранее, Дэвид Уоткинс считает, что пришлось бы использовать системы обучения по обратной связи в реальном времени (real-time human feedback) . Текущий подход с жестко прописанным конечным автоматом в такой ситуации бы не сработал.


💬 Цитаты

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

Ник Вайтович 20:08

«Если мы просто используем клонирование поведения на этих данных, этого не хватит — данных слишком мало.»

Винисиус Геркс 17:32
👥 Спикеры
🔗 Упомянутые сайты и проекты
📖 Термины
Behavior Cloning
Метод машинного обучения, при котором модель пытается точно копировать действия человека из предоставленных наборов данных.
State Machine (Конечный автомат)
Модель поведения, состоящая из набора состояний и переходов между ними на основе определенных условий.
Odometry (Одометрия)
Метод оценки изменения положения робота или агента во времени на основе данных о его движении (скорость, время).
RNG (Random Number Generator)
Генератор случайных чисел, который в Minecraft определяет создание мира и поведение некоторых объектов.
📊 Цифры
🗓 Хронология
  1. 2021 Команда Kairos выигрывает конкурс MineRL BASALT.
  2. 2022 Ожидаемое проведение следующего этапа конкурса BASALT.
⚖️ Другая сторона
Искусственный интеллект Minecraft BASALT Challenge Reinforcement Learning Behavior Cloning State Machine