“Встречу” придумали авторы из MIT, их идея была в том, чтобы попробовать объединить лучшее из двух, пока что редко пересекающихся, вселенных — диффузионных моделей с Full-Sequence Diffusion и нейросетей с Teacher Forcing. На пересечении этих названий и получилось Diffusion Forcing.
Принудительное обучение (teacher forcing) хорошо зарекомендовало себя в моделях, которые последовательно угадывают токены по одному, основываясь на предыдущей последовательности (она при этом считается опорной истиной). Таким способом получается генерировать, вообще говоря, бесконечное число токенов, если добавить сюда авторегрессию. При этом нет возможности каким-то образом направить выборку, чтобы, допустим, минимизировать какую-то дополнительную целевую функцию. И конечно, всё это хорошо работает только на дискретных данных, а на непрерывных быстро теряет устойчивость. Авторегрессионная генерация видео через несколько кадров начинает уходит куда-то не туда. Вероятно, поэтому авторегрессионая модель Cosmos от NVIDIA выдает не больше 32 кадров. Есть и другой подход, где последовательно генерируются не кадры, а всё лучшее разрешение, но об этом, возможно, расскажем отдельно.
С задачей генерации видео прекрасно справляются диффузионные модели. Если в успехах teacher forcing уже давно можно убедиться на примере ChatGPT, то в последний год-два и генерация видео вышла на такой же невероятный уровень. Эти модели используют фиксированный размер токенов, которые искажены одним и тем же шумом. Предполагается, что если в достаточной степени зашумить любую последовательность токенов, то получится один и тот же, абсолютный, белый шум. Из этого абсолютного шума с помощью diffusion guidance (направленного управления, которого как раз и не хватало в teacher forcing) модель восстанавливает нужную картинку. Минусы подхода следуют сразу же из его основы: условия одинаковы для всех токенов, размер последовательности тоже одинаков. Словом, фиксированы все параметры и кроме diffusion guidance управлять процессом особо не получится.

Diffusion Forcing должна взять только плюсы обоих подходов к обучению. Для того, чтобы понять, как их объединить, авторы предлагают немного под другим углом посмотреть на эти “два мира”, найти в них что-то общее, что и станет основой к объединению. Почти по Гегелю: тезис-антитезис-синтез. Так вот, зашумление токенов — это по сути то же самое, что маска, так предлагают авторы. То есть, например, генерация одного следующего токена это восстановление единственного зашумленного токена.
Для Diffusion Forcing входные данные это замаскированные токены, которые ей нужно восстановить. Она при этом не ограничена жестким количеством входных и выходных токенов, в отличие от Full-Sequence Diffusion и позволяет гибкую настройку траектории в отличие от Teacher Forcing.
Очень кратко суть подхода заключается в следующем: возьмем шум, но исказим им не все токены равномерно (как в Full-Sequence Diffusion) и не один последний токен (как в Teacher Forcing), а все, но по-разному. Полностью зашумленные токены будут аналогом скрытых маской, а частично зашумленные будут чем-то вроде полускрытых маской (тут, конечно потребуются дополнительные методы для организации этих “полумасок” на дискретном множестве).
Можно изобразить это на двумерной плоскости, с осями по времени и степени зашумления. Тогда обычный Teacher Forcing, в котором важна последовательность, это генерация чисто вдоль горизонтальной (временной) оси, а диффузия — вдоль вертикальной. Всё, что внутри получившегося квадранта, — и есть Diffusion Forcing.

Траектории внутри этого пространства могут быть устроены совершенно по-разному, поэтому подход порождает целое семейство архитектур, но пока авторы описали так называемую причинную архитектуру, Causal Diffusion Forcing (CDF), где каждый токен в текущий момент времени зависит только от предыдущих зашумленных токенов. Что это даёт?
Во-первых, стабильная авторегрессионая генерация. CDF может генерировать длинные последовательности (длиннее, чем при обучении), так как каждый раз скрытые состояния обновляются в зависимости от предыдущих — они воспринимаются как те самые слегка зашумленные токены.
Во-вторых, ближайшее будущее более определенно, чем далекое. Модель начинает, допустим, с трех токенов с белым шумом, на следующем шаге может полностью восстановить только первый токен, второй лишь частично, а третий не трогать, затем восстановить второй и уже потом третий. То есть уровень шума можно воспринимать как степень неопределенности, что важно для генерации последовательности.
В-третьих, последующие токены можно восстанавливать до того, как полностью восстановлены предыдущие. Таким образом сохраняется одновременно и возможность долгосрочного влияния на траекторию, и причинно-следственная связь.

Выше показаны результаты экспериментов с CDF по сравнению с Teacher Forcing и Full Sequence Diffusion. Стартовый токен — кадр из майнкрафта. Простая генерация каждого следующего кадра быстро превращается в абстрактный зелено-голубой фон. Диффузия ожидаемо держится гораздо дольше, но всё равно быстро теряет суть последовательности, видео начинает скакать от кадра к кадру. CDF создает плавную последовательность, превышающую по длине обучающие последовательности (1000 кадров).
Diffusion Forcing по замыслу авторов должен работать не только и не столько для генерации видео, сколько для более общих задач. Подробнее к этому вернемся ниже, а пока следующий пример, из роботики. Перед роботом-манипулятором стоит простая задача: есть три доступных слота, два из них заняты яблоком и апельсином, нужно поменять фрукты местами. Сложность задачи в том, что последовательность действий не марковская — нужно знать не только предыдущее состояние, но и обязательно помнить как же лежали фрукты в начале. В зависимости от этого действия должны быть разными даже в случае одинакового текущего состоянии (как показано на картинке внизу)

Diffusion Forcing по своему устройству хранит некоторую память в скрытых состояниях. Модель справилась с задачей перестановки фруктов в 80% случаев. Для сравнения текущий state-of-the art (Diffusion Policy) c задачей вообще не справляется. Если вносить дополнительные помехи (закрывать камеру или класть мешающие объекты), то успешность выполнение снижается на только 4%. Диффузионные next-frame модели в таком случае показывают результат в 48%.
В завершение расскажем о том, какую глобальную цель преследуют авторы Diffusion Forcing. Как мы уже сказали, это не просто генерация видео и даже не роботика. Работа позиционируется как очередной шаг к глобальной модели физического мира, которая не будет требовать специального обучения и будет способна выполнять любые задачи. Предполагается, что входными данными этой модели будут видео (как и для человека, который строит все представления, предположения и правила в первую очередь из картинки). В таком случае звучит разумно, что нужно преодолеть текущие барьеры самых продвинутых диффузионных моделей и самых продвинутых LLM. Возможно, Diffusion Forcing это удастся.
Больше наших обзоров AI‑статей — на канале Pro AI.
Автор: derunat