Diffusion model учит обращать не один огромный прыжок от шума к изображению, а длинную последовательность малых поправок. Прямой процесс известен точно; сеть приближает, какой шум был добавлен на каждом уровне.
Фотография растворяется по расписанию
Пусть — изображение. На шаге добавляется Gaussian noise:
Обозначим и . Благодаря сумме Gaussian можно сразу получить любой уровень:
Первое слагаемое — сохранившийся сигнал, второе — шум. При большом и малом распределение близко к стандартному Gaussian.
Верхняя лента показывает один при выбранных , нижний график — . Вертикали связывают вид изображения с точками schedule, а не с равными визуальными интервалами.
Сеть предсказывает добавленный шум
Выбираем случайные , и , строим , затем минимизируем
Сеть получает embedding времени, потому что одна и та же текстура при слабом и сильном шуме требует разных поправок. Предсказание noise связано с score:
Score указывает направление роста плотности noisy data. Denoising — движение от менее вероятной шумной точки к более вероятной структуре.
Обратный шаг
Обратную цепь моделируют
При noise-prediction среднее выражается через :
На каждом шаге добавляют случайность, кроме часто последнего. Начинают с и идут .
Ошибки накапливаются, но каждый шаг локален. Уменьшить число шагов можно DDIM или современными ODE/SDE solvers; ускорение требует проверять качество и diversity.
Для четырёх показаны sample и радиальный спектр мощности. Низкие частоты и глобальная компоновка стабилизируются раньше, высокочастотные детали позже. Стрелки подписаны величиной предсказанной noise correction.
Лаборатория обращения шума
Сравните linear и cosine schedules по SNR, а не только по номеру шага. При schedule, который слишком быстро уничтожает сигнал, большая часть почти неразличима и обучение тратит бюджет на чистый шум.
Запустите sampling с разным числом шагов. Отмечайте, когда появляется глобальная форма, цвет и мелкая текстура. Один удачный seed не достаточен: сравнивайте распределение метрик.
Условная генерация и guidance
Условие — текст, класс или маска — входит в denoiser. Classifier-free guidance комбинирует условный и безусловный прогноз:
усиливает соответствие условию, но часто уменьшает diversity и создаёт пересыщенные артефакты. Guidance scale — knob precision–recall, не «качество».
Для обучения часть условий случайно заменяют на null, чтобы одна сеть умела оба режима.
Latent diffusion
Работать в пикселях дорого. VAE кодирует изображение в меньший latent , diffusion идёт там, затем decoder возвращает пиксели. Сжатие снижает пространственный размер и вычисления.
Цена: детали, потерянные VAE, diffusion восстановить не может. При оценке надо разделять reconstruction ceiling autoencoder-а и качество generative prior.
Text condition обычно подаётся через cross-attention, используя представления, родственные контрастивным text encoders.
Непрерывный взгляд
При малых шагах forward diffusion описывается stochastic differential equation:
Reverse-time SDE содержит score . Существует probability flow ODE с теми же маргинальными распределениями, что позволяет deterministic sampling и likelihood estimates при дополнительных вычислениях.
Этот мост связывает случайные блуждания урока 66 с генерацией: броуновский шум разрушает данные, выученное поле score направляет обратное движение.
Столбцы показывают от двух мод до почти Gaussian. В обратных панелях стрелки score направлены к областям высокой плотности; sample paths расходятся к разным модам. Цвет фона — log-density.
CIFAR-10: что измерять
CIFAR-10 мал и позволяет обучить компактный U-Net. Сравните:
- loss по и SNR;
- FID и precision/recall;
- class coverage замороженным classifier;
- sampling time;
- качество при 10, 25, 50, 100 шагах;
- nearest train neighbors;
- diversity при одном condition.
FID зависит от feature extractor и sample size. Для честности real-statistics и число samples одинаковы. Лучший checkpoint выбирается по validation protocol, не по test FID после десятков попыток.
Мини-исследование: ошибка по времени
Uniform sampling даёт одинаковое число примеров каждому шагу, но их difficulty и вклад различаются. После обучения вычислите
по bins SNR. Нарисуйте , norm predicted noise и reconstruction . Высокий MSE на почти чистых шагах может быть визуально важнее той же ошибки в почти полном шуме.
Попробуйте loss weighting по SNR и снова сравните. Не выбирайте weighting по одному FID: покажите, какие временные диапазоны улучшились и как изменились precision/recall. Если ранние обратные шаги ошибаются, глобальная композиция может уйти; поздние ошибки чаще портят texture.
Проведите intervention: замените prediction сети истинным noise только на выбранном диапазоне и завершите sampling. Изменение итогового качества даёт причинную оценку важности шагов, пусть и на synthetic oracle. Это продолжает ритм проверки внимания вмешательством.
Мини-исследование: stochasticity и разнообразие
Зафиксируйте один и condition, затем запускайте stochastic sampler с разными внутренними noise seeds. Сравните outputs. В deterministic DDIM при фиксированных настройках результат один; stochastic reverse chain создаёт семейство.
Измерьте text/class alignment, pairwise diversity и nearest-neighbor distance. Увеличивая guidance, постройте Pareto-кривую alignment–diversity. Отметьте область, где score растёт, а samples начинают повторяться.
Мини-исследование: ускорение без несопоставимых seed
Для samplers на 10, 25 и 100 шагов используйте одинаковые initial . Тогда outputs образуют paired сравнения. Вычислите perceptual distance каждого ускоренного результата до 100-шагового reference и человеческое preference на рандомизированных парах.
Покажите время отдельно для batch 1 и batch 64. Latency пользователя и throughput сервера отвечают на разные вопросы. Связь со scaling и стоимостью инференса здесь прямая: лучший sampler выбирается на frontier качества и цены.
Мини-исследование: восстановление известного
Обычная генерация не имеет эталона для конкретного noise. Создайте контролируемый тест: возьмите реальные , зашумите до выбранного по известному , затем запустите reverse только с этого уровня. Измерьте reconstruction против .
При малом задача почти реставрационная, при большом исходная индивидуальность исчезает и модель создаёт другой правдоподобный объект. Нарисуйте PSNR/LPIPS и class consistency. Не требуйте pixel match там, где forward process уничтожил информацию.
Сравните stochastic и deterministic reverse. Первый даёт распределение возможных восстановлений, второй — один путь. Для каждого покажите variation между samples и расстояние до исходника. Так становится видна граница между denoising и generation.
Мини-исследование: условие, которое конфликтует с изображением
При image-to-image diffusion подайте зашумлённое изображение кошки и condition собака. Меняйте starting noise level и guidance. На слабом шуме сохраняется исходная структура, на сильном условие получает власть. Измерьте identity/perceptual preservation и condition score.
Этот опыт делает два коэффициента интерфейса осмысленными: noise strength управляет количеством сохранённого evidence, guidance — давлением condition. Оба могут быть переоптимизированы. Связь с inpainting и контрактом маски прямая: пользователь должен понимать границу допустимого изменения.
Численная точность обратной цепи
Сравните float32 и mixed precision на одинаковых initial noises. Малые ошибки каждого шага могут разойтись в stochastic trajectory, поэтому pixel equality не ожидается. Сравнивайте распределительные метрики и paired perceptual distance.
Зафиксируйте library, scheduler configuration и random generator. Название 50 steps недостаточно: разные timesteps, solver order и eta дают разные процессы. Reproducibility требует полной sampler-конфигурации.
Наконец, проверьте memorization не только nearest neighbor-ом. Возьмите редкие training images, измерьте conditional extraction rate при близких prompts и сравните с test images той же редкости. Exact совпадение легко найти hash-ом, частичное — crop-aware features.
Если модель воспроизводит training object, причина может лежать в дубликатах корпуса, чрезмерных эпохах или узком condition. Этот аудит соединяет diffusion с дедупликацией предобучения.
Генерация как обращение шума
Diffusion раскладывает генерацию на известное зашумление и выученное обращение. Closed-form делает обучение простым, score связывает denoising с градиентом плотности, guidance меняет соответствие и diversity. Schedule и sampler являются частью модели результата.