Обучение игре в Minecraft с помощью видеопредварительного обучения (Video PreTraining)

Читать статьюПосмотреть код и веса моделиСоревнование MineRL
Screenshot of a scene from Minecraft

Источник

Мы обучили нейронную сеть играть в Minecraft с помощью метода видеопредварительного обучения (Video PreTraining, VPT) на огромном неразмеченном наборе видеозаданей игры человека в Minecraft, используя лишь небольшое количество размеченных данных от подрядчиков. После тонкой настройки наша модель способна создавать алмазные инструменты — задачу, на которую у опытных людей обычно уходит более 20 минут (24 000 действий). Наша модель использует стандартный человеческий интерфейс ввода с помощью нажатий клавиш и движений мыши, что делает её довольно универсальной и представляет собой шаг на пути к созданию универсальных агентов, использующих компьютер.

В интернете содержится колоссальное количество общедоступных видео, на которых мы можем учиться. Вы можете посмотреть, как человек делает потрясающую презентацию, как цифровой художник рисует красивый закат, а игрок в Minecraft строит замысловатый дом. Однако эти видео содержат запись лишь того,  что произошло, но не того,  как именно это было достигнуто — например, вы не узнаете точную последовательность движений мыши и нажатых клавиш. Если мы захотим создать крупномасштабные базовые модели в этих областях, как это было сделано для языка с помощью GPT, отсутствие меток действий создает новую проблему, которой нет в языковой сфере, где «метки действий» — это просто следующие слова в предложении.

Чтобы использовать изобилие неразмеченных видеоданных, доступных в интернете, мы представляем новый, но простой метод полуконтролируемого обучения с подражанием: видеопредварительное обучение (Video PreTraining, VPT). Мы начинаем со сбора небольшого набора данных от подрядчиков, в котором записываем не только их видео, но и совершенные ими действия (в нашем случае — нажатия клавиш и движения мыши). На этих данных мы обучаем модель обратной динамики (IDM), которая предсказывает действие, выполняемое на каждом шаге видео. Важно отметить, что IDM может использовать прошлую и будущую информацию для угадывания действия на каждом шаге. Эта задача намного проще и поэтому требует значительно меньше данных, чем задача поведенческого клонирования (предсказание действий только на основе прошлых кадров видео), которая требует вывода того, что человек хочет сделать и как этого добиться. Затем мы можем использовать обученную IDM для разметки гораздо более крупного набора онлайн-видео и научиться действовать посредством поведенческого клонирования.

Результаты VPT в условиях zero-shot

Мы решили проверить наш метод в Minecraft, потому что эта игра: (1) является одной из самых популярных видеоигр в мире и поэтому располагает огромным количеством свободно доступных видеоданных, а также (2) открыта и предлагает широкий спектр возможностей для действий, что схоже с реальными приложениями, такими как использование компьютера. В отличие от прошлыхработ по Minecraft, в которых используются упрощенные пространства действий, направленные на облегчение исследования, наш ИИ использует гораздо более универсальный, хотя и значительно более сложный стандартный человеческий интерфейс: кадровую частоту 20 Гц с использованием мыши и клавиатуры.

Обученная на 70 000 часах онлайн-видео, размеченных с помощью IDM, наша модель поведенческого клонирования («базовая модель VPT») выполняет в Minecraft задачи, которые практически невозможно решить с помощью обучения с подкреплением с нуля. Она учится рубить деревья для сбора бревен, делать из этих бревен доски, а затем создавать из досок верстак; у опытного игрока в Minecraft эта последовательность занимает примерно 50 секунд или 1000 последовательных игровых действий.

Кроме того, модель выполняет и другие сложные навыки, которые люди часто применяют в игре, такие как плавание, охота на животных ради еды и употребление этой пищи. Она также освоила навык «столбикового прыжка» (pillar jumping) — распространенное в Minecraft поведение, при котором персонаж поднимается вверх, многократно подпрыгивая и размещая блок под собой.

Тонкая настройка с помощью поведенческого клонирования

Базовые модели проектируются так, чтобы иметь широкий профиль поведения и общую применимость для самых разных задач. Чтобы внедрить новые знания или позволить им специализироваться на более узком распределении задач, принято осуществлять тонкую настройку (fine-tuning) этих моделей на меньших, более специфических наборах данных. В качестве практического исследования того, насколько хорошо базовая модель VPT поддается тонкой настройке на последующих наборах данных, мы попросили наших подрядчиков поиграть в течение 10 минут в совершенно новых мирах Minecraft и построить дом из базовых материалов игры. Мы надеялись, что это усилит способность базовой модели надежно выполнять навыки «ранней игры», такие как создание верстаков. При тонкой настройке на этом наборе данных мы наблюдаем не только колоссальное улучшение надежности выполнения ранних игровых навыков, уже присутствующих в базовой модели, но доработанная модель также учится продвигаться глубже по дереву технологий, создавая как деревянные, так и каменные инструменты. Иногда мы даже замечаем строительство примитивных укрытий и агента, исследующего деревни, включая обчистку сундуков.

Масштабирование данных

Пожалуй, самая важная гипотеза нашей работы заключается в том, что использовать размеченные данные подрядчиков для обучения IDM (в рамках конвейера VPT) гораздо эффективнее, чем напрямую обучать базовую модель поведенческого клонирования (BC) на том же небольшом наборе данных подрядчиков. Чтобы проверить эту гипотезу, мы обучаем базовые модели на возрастающих объемах данных — от 1 до 70 000 часов. Модели, обученные на объемах менее 2000 часов, обучаются на данных подрядчиков с истинными метками (ground-truth), первоначально собранными для обучения IDM, а те, что обучены более чем на 2000 часах, — на данных из интернета, размеченных нашей IDM. Затем мы берем каждую базовую модель и выполняем ее тонкую настройку на наборе данных по строительству домов, описанном в предыдущем разделе.

По мере увеличения объема данных базовой модели мы в целом наблюдаем рост способности к крафту, и только при максимальном масштабе данных наблюдается появление навыка создания каменных инструментов.

Тонкая настройка с помощью обучения с подкреплением

Когда возможно задать функцию вознаграждения, обучение с подкреплением (RL) может стать мощным методом для достижения высоких, потенциально даже сверхчеловеческих результатов. Однако многие задачи требуют преодоления сложных трудностей в исследовании окружения, и большинство методов RL подходят к этому с использованием случайных исследовательских приоров (например, модели часто стимулируются к случайным действиям через энтропийные бонусы). Модель VPT должна служить гораздо лучшим приором для RL, поскольку имитация человеческого поведения оказывается намного полезнее совершения случайных действий. Мы поставили перед нашей моделью сложную задачу — добыть алмазную кирку. Это беспрецедентная возможность для Minecraft, которая становится еще более сложной при использовании стандартного человеческого интерфейса.

Создание алмазной кирки требует длинной и сложной последовательности подзадач. Чтобы сделать эту задачу выполнимой, мы вознаграждаем агентов за каждый предмет в цепочке.

Мы выяснили, что политика RL, обученная со случайной инициализации (стандартный метод RL), едва получает какое-либо вознаграждение, никогда не научившись собирать бревна и лишь изредка собирая палки. В резком контрасте с этим, тонкая настройка на основе модели VPT не только позволяет научиться создавать алмазные кирки (что происходит в 2,5% десятиминутных эпизодов Minecraft), но и демонстрирует успешность человеческого уровня при сборе всех предметов, предшествующих алмазной кирке. Это первый случай, когда кто-либо продемонстрировал компьютерного агента, способного создавать алмазные инструменты в Minecraft, на что у людей в среднем уходит более 20 минут (24 000 действий).

Заключение

VPT прокладывает путь к тому, чтобы позволить агентам учиться действовать, просматривая огромное количество видеороликов в интернете. По сравнению с генеративным моделированием видео или контрастными методами, которые дают лишь представленческие при Криоры (representation priors), VPT открывает захватывающую возможность непосредственного обучения крупномасштабных поведенческих приоров в самых разных областях, а не только в языке. Хотя мы проводим эксперименты только в Minecraft, игра очень открыта, а стандартный человеческий интерфейс (мышь и клавиатура) универсален, поэтому мы верим, что наши результаты сулят хорошие перспективы и для других подобных областей, например, для использования компьютера.

Для получения дополнительной информации, пожалуйста, ознакомьтесь с нашей статьей. Мы также открываем исходный код данных подрядчиков, среды Minecraft, кода модели и весов моделей, что, как мы надеемся, поможет будущим исследованиям VPT. Кроме того, в этом году мы стали партнерами соревнования MineRL NeurIPS. Участники могут использовать наши модели и настраивать их для решения множества сложных задач в Minecraft. Все желающие могут посетить веб-страницу соревнования и побороться за главный приз в размере 100 000 долларов в дополнение к обычному призовому фонду в 20 000 долларов. Гранты доступны для самоидентифицирующихся недопредставленных групп и отдельных лиц.

Авторы

Боуэн Бейкер (Bowen Baker), Ильге Аккая (Ilge Akkaya), Петр Жохов (Peter Zhokhov), Йост Хёйзинга (Joost Huizinga), Цзе Тан (Jie Tang), Рауль Сампедро (Raul Sampedro), Джефф Клун (Jeff Clune)

Благодарности

Это была масштабная работа преданной своему делу команды. Каждый автор внес огромный вклад во многих направлениях в течение долгого времени. Все участники работали над проектом полный рабочий день более шести месяцев. ББ (BB), ИА (IA), ПЖ (PZ) и ДжК (JC) входили в первоначальную проектную команду VPT и потому занимались им еще дольше (более года). Помимо этих первоначальных участников команды, порядок авторов случайный. Он также был случайно распределен между ИА и ПЖ.

Полный текст статьи читайте на OpenAI