# Как нейросеть NÜWA создает видео с помощью трехмерного внимания

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

---

Исследователи из Microsoft Research Asia и Пекинского университета представили NÜWA — унифицированную нейросетевую архитектуру, способную генерировать и редактировать визуальный контент мультимодального характера. Популярный ИТ-блогер и исследователь Янник Кильчер (Yannic Kilcher) подробно разобрал структуру этой модели, оценив её потенциал и указав на скрытые нюансы архитектуры. В центре внимания проекта находится решение фундаментальной проблемы трансформеров — обработки огромных объёмов контекста при переходе от статичных изображений к многомерному видео.

## 🧠 Проблема контекста: почему Image GPT не справляется с видео
[[JUMP:0:00]]

Модель NÜWA позиционируется как универсальное решение для восьми различных задач визуального синтеза. Она поддерживает как классическую генерацию изображений по текстовому описанию (text-to-image), так и сложные манипуляции с видеопотоком. Однако при масштабировании авторегрессионных моделей, работающих по принципу генерации «пиксель за пикселем» (по аналогии с базовой архитектурой Image GPT), инженеры сталкиваются со строгими вычислительными ограничениями.

Янник Кильчер объясняет фундаментальную проблему на простом математическом примере:

* Для обработки стандартного изображения размером 200 на 200 пикселей требуется контекстное окно в 40 000 элементов.
* При попытке сгенерировать видео, которое представляет собой последовательную стопку (stack) таких изображений, размер необходимого контекста увеличивается кратно количеству кадров.
* Такие объёмы данных мгновенно перегружают память стандартных механизмов полного внимания трансформеров, делая прямую генерацию технически невозможной.

Для преодоления этого барьера разработчики NÜWA применили двухэтапный подход. Во-первых, все типы данных кодируются в единое низкоразмерное дискретное латентное пространство. Во-вторых, вместо глобального внимания используется локальное трёхмерное внимание (local attention).

## 🛠️ Инструменты разработчика: интеграция экосистемы MLOps
[[JUMP:1:11]]

В процессе реализации и оркестрации подобных масштабных экспериментов критически важную роль играет стек инструментов машинного обучения. Ведущий обращает внимание на платформу Clear ML — комплексный MLOps-инструмент с полностью открытым исходным кодом. Данная платформа закрывает весь цикл разработки: от трекинга экспериментов до развёртывания готовых моделей в продакшене.

Ключевые технические возможности Clear ML, выделенные в обзоре:

* **Self-hosted конфигурация:** Платформа предоставляет возможность развёртывания на собственных серверах компании, что позволяет проводить полный аудит безопасности и расширять функционал под нужды команды.
* **Универсальный трекер:** Интегрируется с помощью всего пары строк кода и автоматически фиксирует не только базовые метрики, но и полный вывод консоли, артефакты, гиперпараметры, а также зависимости окружения и параметры конкретной вычислительной машины.
* **Инструменты сравнения:** Позволяют наглядно сопоставлять конфигурации различных запусков, помогая быстро локализовать изменения, повлиявшие на итоговую точность модели.

## 📐 Архитектура квантования: от пикселей к дискретным токенам VQ-VAE и VQ-GAN
[[JUMP:7:36]]

Для приведения разнородных данных к общему знаменателю архитектура NÜWA использует специализированные энкодеры. Конечная цель — представить любую входящую модальность в виде трёхмерного куба, где каждый элемент является вектором эмбеддинга.

Процесс токенизации различных типов данных выглядит следующим образом:

1.  **Текст:** Кодирование текста является тривиальной задачей — применяется стандартная токенизация, преобразующая слова в последовательность векторов через матрицу эмбеддингов.
2.  **Изображения:** Для сжатия картинок применяется технология VQ-VAE (Vector Quantized Variational Autoencoder). Она уменьшает условное изображение размером 200 на 200 пикселей до латентной матрицы размером, например, 3 на 3 токена. На этапе квантования (quantization) полученные непрерывные значения привязываются к ближайшим дискретным векторам из фиксированного кодового словаря (codebook).
3.  **Видео:** Авторы отказались от идеи сквозного обучения VQ-VAE непосредственно на видеофайлах, поскольку, по их данным, это не принесло стабильных результатов. Вместо этого каждый кадр видео обрабатывается независимо через двумерный энкодер изображений, а полученные латентные представления затем складываются в единый тензор.

Для повышения качества визуализации стандартный функционал VQ-VAE расширен до схемы VQ-GAN. В целевую функцию обучения были добавлены два критических компонента:

* **GAN Loss:** Дискриминатор, обучаемый отличать реальные изображения от сгенерированных, что заставляет генератор выдавать более чёткие текстуры.
* **Perceptual Loss (Перцептивная потеря):** Оригинальное и восстановленное изображения пропускаются через стороннюю свёрточную нейросеть (CNN, например, ResNet50), после чего сравниваются их высокоуровневые семантические признаки, а не отдельные пиксели напрямую.

Унификация пространств достигается за счёт введения фиктивных (dummy) размерностей и механизмов broadcasting. В итоге текст, изображения и видео приводятся к общему четырёхмерному латентному тензору (если учитывать векторную размерность каждого токена).

## 🔮 Механизм 3DNA: трёхмерное локальное внимание (3D Nearby Attention)
[[JUMP:28:56]]

Центральным нововведением работы стал слой 3DNA (3D Nearby Attention). Архитектура строго разграничивает контекст (обозначаемый как $C$, куда входят входной текст или наброски-скетчи) и генерируемый выходной поток (обозначаемый как $Y$, состоящий из токенов изображений или кадров видео). Контекст всегда подаётся в систему целиком и служит условием (conditioning), тогда как выходной блок формируется авторегрессионно.

Принципиальное отличие 3DNA от классического глобального внимания заключается в локализации вычислений:

* Векторы запросов (Queries) по-прежнему вычисляются для всего тензора.
* Векторы ключей (Keys) и значений (Values) рассчитываются исключительно для локальной окрестности вокруг целевой координаты. Обычно используется кубическое окно размером $3 \times 3 \times 3$ токена.
* Это снижает квадратичную вычислительную сложность до линейной, привязанной к размеру локального окна, что делает обработку трёхмерных структур в латентном пространстве физически выполнимой.

Полная глубина нейросети включает в себя $L = 24$ слоя. Сначала отрабатывает стек слоёв self-attention для контекстной информации, а затем — блоки смешанного self- и cross-attention для генерации целевых токенов с использованием причинного маскирования (causal masking). По словам Кильчера, авторегрессионный процесс происходит сначала внутри текущего временного шага (кадра), а затем распространяется сквозь временную ось.

## 🏋️ Процесс предобучения и специфика fine-tuning
[[JUMP:41:16]]

Модель проходит этап масштабного мультизадачного предобучения на трёх основных сценариях:

* **Text-to-Image (Текст в изображение):** Генерация статической картинки на основе плотного текстового описания.
* **Video Prediction (Прогнозирование видео):** Моделирование последующих кадров без привлечения текстовых подсказок (в качестве контекста передаётся пустой токен `none`).
* **Text-to-Video (Текст в видео):** Генерация динамического видеоряда, обусловленная как текстовым описанием, так и набором стартовых кадров.

Янник Кильчер обращает внимание на важный нюанс публикации, который может ввести в заблуждение при первом прочтении. Заявления авторов о «всеобъемлющей единой модели» несколько преувеличены: на самом деле для выполнения таких специфических задач, как генерация по скетчу (sketch-to-image) или редактирование видео, систему необходимо дополнительно дообучать (fine-tune) на целевых датасетах. Например, функция «манипулирования видео» не является классическим редактированием — модель просто принимает первый кадр и текст, а затем достраивает видео заново в авторегрессионном режиме.

## 📊 Анализ результатов: сравнение с конкурентами и реальные кейсы
[[JUMP:46:15]]

В экспериментальной части работы авторы сравнивают NÜWA с ведущими специализированными моделями своего времени, включая генератор DALL-E. Несмотря на то, что NÜWA проектировалась как многофункциональная платформа, в тестах на генерацию изображений по тексту она демонстрирует сопоставимое или более высокое качество детализации и смысловой консистентности.

Основные результаты практических тестов:

* **Визуальное превосходство:** На сложных запросах, таких как «игра в гольф на траве», базовая модель превосходит существовавшие аналоги по чёткости отрисовки и пространственной логике объектов.
* **Повышенное разрешение:** Модель способна выдавать изображения в более высоком разрешении, чем большинство прямых конкурентов.
* **Качественный инпейнтинг:** При стирании части изображения система успешно восстанавливает пустые пиксели, бесшовно подстраивая новую текстуру под окружающий контекст и текстовое описание.
* **Абстрактная генерация видео:** В тестах на манипуляцию с видео модель успешно справилась с фантастическими запросами (например, заставив водолаза «взлететь в небо»), что подтверждает её высокую способность к семантическому обобщению данных.

Разработчики позиционируют NÜWA как первый шаг к созданию глобальной ИИ-платформы для генерации визуальных миров, которая существенно облегчит работу создателям контента. По мнению Кильчера, если индустрия сможет бесшовно объединять и миксовать произвольные входящие модальности в рамках одной архитектуры, это откроет колоссальные возможности для творчества.