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

Источник: https://www.youtube.com/watch?v=a4P8v8lGFPw
Канал: Yannic Kilcher
Опубликовано: 11.01.2022

---

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

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

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

*   **FindCave:** найти вход в пещеру [04:24].
*   **MakeWaterfall:** построить «красивый» водопад, отойти и сделать его живописный снимок [16:35].
*   **CreateVillageAnimalPen:** построить загон для животных рядом с домом в деревне и загнать туда двух животных одного вида [15:18].
*   **BuildVillageHouse:** построить дом в деревне [51:00].

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

*   Входные данные: только RGB-изображение размером 64x64 пикселя и состояние инвентаря [14:26].
*   Отсутствие доступа к координатам (меню F3) или внутренним данным симулятора [14:39].
*   Набор данных: от 40 до 80 демонстраций человеческой игры на каждую задачу, при этом не все из них были успешными [14:54].

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

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

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

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

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

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

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

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

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

*   Вместо разметки каждого кадра по отдельности, пользователи удерживали кнопку, пока состояние на видео не менялось [28:13].
*   Это позволило разметить около 88 000 изображений силами самих разработчиков «под просмотр телевизора» [27:09].
*   Классификатор обучался распознавать такие состояния, как «опасность впереди» (лава или обрывы), «наличие животных» и «живописный вид» [25:12].

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

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

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

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

*   Симулятор Minecraft работает на частоте 20 кадров в секунду (dt = 0.05 сек) [39:32].
*   Из официальной Wiki игры известно, что скорость ходьбы составляет 4.32 метра в секунду [39:47].
*   Агент интегрировал свои действия во времени: если нажата кнопка «вперед», система прибавляла расчетное расстояние к виртуальным координатам X и Y [40:13].
*   Направление взгляда (heading) также рассчитывалось на основе команд управления камерой [40:25].

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

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

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

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

*   Навигационная политика обучалась на демонстрациях живых игроков.
*   Многие игроки в Minecraft постоянно прыгают либо для ускорения (спринт-прыжки), либо просто по привычке [55:13].
*   Нейросеть скопировала эту манеру поведения, что сделало движения агента менее «роботизированными» по сравнению с чисто инженерными решениями [56:16].

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

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

*   Задачи «найти пещеру» и «построить водопад» можно считать практически решенными [1:09:57].
*   Задачи «построить загон» и особенно «построить дом» остаются крайне сложными; ни одно решение пока не приблизилось к идеальному выполнению [1:10:09].
*   В текущих симуляциях нет крафта, сражений и долгосрочного планирования, которые составляют основу реального геймплея Minecraft [1:10:36].

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

---