Диффузионная модель

Материал из MachineLearning.

Версия от 11:00, 16 июня 2026; Emil Petrov (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Статья написана с использованием LLM Claude Sonnet 4 и проверена участником Emil Petrov 15:00, 16 июня 2026 (MSD)

Промпт приводится полностью в Обсуждение:Диффузионная модель


Содержание

Диффузио́нная мо́дель (англ. diffusion model) — класс генеративных моделей глубокого обучения, обучающихся постепенно «разрушать» данные добавлением шума (прямой процесс), а затем обращать этот процесс (обратный процесс), генерируя новые образцы из чистого шума. Диффузионные модели достигли выдающихся результатов в генерации изображений (Stable Diffusion, DALL-E 2/3, Midjourney), аудио (WaveGrad), видео и молекулярных структур, конкурируя с генеративно-состязательными сетями (GAN) по качеству и превосходя их по стабильности обучения.

Математическая основа

Прямой процесс (диффузия)

Прямой процесс постепенно добавляет гауссовский шум к исходному образцу x_0 \sim q(x_0) за T шагов по фиксированному расписанию \beta_1, \ldots, \beta_T:

q(x_t \mid x_{t-1}) = \mathcal{N}\!\left(x_t;\; \sqrt{1-\beta_t}\, x_{t-1},\; \beta_t I\right).

Благодаря удобному свойству гауссовского распределения, можно выразить x_t непосредственно через x_0 без последовательного шагания:

q(x_t \mid x_0) = \mathcal{N}\!\left(x_t;\; \sqrt{\bar\alpha_t}\, x_0,\; (1-\bar\alpha_t) I\right),

где \alpha_t = 1 - \beta_t, \bar\alpha_t = \prod_{s=1}^{t} \alpha_s. При достаточно большом T и правильно выбранном расписании x_T \approx \mathcal{N}(0, I).

Обратный процесс

Обратный процесс p_\theta(x_{t-1} \mid x_t) аппроксимируется нейронной сетью с параметрами \theta:

p_\theta(x_{t-1} \mid x_t) = \mathcal{N}\!\left(x_{t-1};\; \mu_\theta(x_t, t),\; \Sigma_\theta(x_t, t)\right).

Истинный обратный переход q(x_{t-1} \mid x_t, x_0) также гауссовский и аналитически вычислим. Нейронная сеть обучается предсказывать добавленный шум \epsilon, что упрощает целевую функцию.

Функция потерь (DDPM)

Ho et al. (2020) предложили упрощённую вариационную нижнюю границу (ELBO), сводящуюся к задаче предсказания шума:

\mathcal{L}_\text{simple} = \mathbb{E}_{t,\, x_0,\, \epsilon}\!\left[\|\epsilon - \epsilon_\theta(\sqrt{\bar\alpha_t}\, x_0 + \sqrt{1-\bar\alpha_t}\, \epsilon,\; t)\|^2\right],

где \epsilon \sim \mathcal{N}(0, I), t \sim \mathcal{U}\{1, \ldots, T\}. Генерация осуществляется итеративным применением обратных шагов из x_T \sim \mathcal{N}(0, I).

Архитектура денойзера

В качестве \epsilon_\theta исторически использовались сети типа U-Net с остаточными блоками и механизмом само-внимания (self-attention). В последних моделях (DiT — Diffusion Transformer) U-Net заменяется трансформером, работающим с патчами латентных представлений.

Для обусловленной генерации (conditioned generation) — например, по текстовому описанию — применяется кросс-внимание: текстовый эмбеддинг (от CLIP или T5) служит ключами и значениями, а карта признаков изображения — запросами. Это позволяет «управлять» генерацией через текст.

Ускоренные сэмплеры

Стандартный DDPM требует T = 1000 шагов для генерации. Разработаны методы ускорения:

  • DDIM (Denoising Diffusion Implicit Models) — детерминированный сэмплер, сокращающий число шагов до 20–50 без переобучения модели.
  • DPM-Solver — ODE-решатель второго порядка, обеспечивающий высокое качество при 10–20 шагах.
  • Consistency Models — обучаются напрямую предсказывать x_0 из любого x_t, позволяя сэмплировать за 1–4 шага.

Латентная диффузия

Вместо работы в пиксельном пространстве Rombach et al. (2022) предложили латентные диффузионные модели (LDM), работающие в компрессированном латентном пространстве вариационного автокодировщика. Это на порядок снижает вычислительные затраты при сопоставимом качестве. Stable Diffusion — наиболее известная реализация LDM.

Управление генерацией

  • Classifier-Free Guidance (CFG) — во время обучения с некоторой вероятностью убирается условие (текст), что позволяет при генерации интерполировать между условным и безусловным предсказанием: \tilde\epsilon = \epsilon_\theta(x_t, \emptyset) + w\,[\epsilon_\theta(x_t, c) - \epsilon_\theta(x_t, \emptyset)]. Параметр w > 1 усиливает следование условию за счёт разнообразия.
  • ControlNet — дополнительная ветвь сети, обусловливающая генерацию на структурированные условия: карты краёв (Canny), позы, глубину и т.д.
  • Inpainting, img2img — диффузия применяется к частично зашумлённому изображению, обеспечивая редактирование и завершение.

Применения

  • Генерация изображений — Stable Diffusion, DALL-E 2/3, Midjourney, Adobe Firefly.
  • Генерация видео — Sora (OpenAI), Stable Video Diffusion.
  • Генерация аудио и музыки — WaveGrad, AudioLDM, MusicGen.
  • Молекулярный дизайн — генерация молекул белков (RFDiffusion), дизайн лекарственных препаратов.
  • 3D-генерация — DreamFusion применяет Score Distillation Sampling для оптимизации NeRF под текстовый запрос.

Сравнение с другими генеративными моделями

Модель Качество Стабильность обучения Скорость генерации Управляемость
Диффузионная Очень высокое Высокая Медленная (много шагов) Высокая
GAN Высокое Нестабильная (mode collapse) Быстрая (1 проход) Умеренная
VAE Среднее Высокая Быстрая Ограниченная
Flow-based Высокое Высокая Средняя Умеренная

См. также

Примечания

Литература

  • Ho J., Jain A., Abbeel P. Denoising Diffusion Probabilistic Models // NeurIPS. — 2020.
  • Song J., Meng C., Ermon S. Denoising Diffusion Implicit Models // ICLR. — 2021.
  • Rombach R., Blattmann A., Lorenz D., Esser P., Ommer B. High-Resolution Image Synthesis with Latent Diffusion Models // CVPR. — 2022.
  • Peebles W., Xie S. Scalable Diffusion Models with Transformers // ICCV. — 2023.
Личные инструменты