Превратить авторегрессионную визуальную генерацию в диффузионную можно, если соблюдать три ограничения:
1. Фиксировать процесс зашумления.
2. Работать в парадигме, где модель зависит только от одного предыдущего состояния, а не от целой последовательности: тогда процесс становится Марковским.
3. Взвешивать loss на коэффициенты, которые зависят от timestamp и наложенного шума.
Авторы сегодняшнего препринта предлагают ослабить второе условие: добавить зависимость от предыдущих зашумлённых изображений. Такую модель они называют DART — Denoising Autoregressive Transformer или диффузионная авторегрессионная модель.
Саму последовательность при этом можно генерировать по-разному:
1. На каждом шаге генерировать частично расшумлëнное изображение — такой метод называется DART.
2. На каждой стадии расшумления авторегрессионно генерировать изображение по патчам — DART-AR (ДАРТ с авторегрессией).
3. Генерировать изображения, последовательно увеличивая их размер — Matryoshka-DART.
4. Кроме изображения, генерировать ещë и его текстовое описание — Kaleydo-DART.
В качестве трансформера для генерации на основе текстового промпта используется предобученная модель Flan-T5-XL, а для генерации на основе заданного класса — дополнительные слои Adaptive LayerNorm.
Разбор подготовил
CV Time