Диффузионная модель
Материал из MachineLearning.
(Исправлены формулы LaTeX (String.raw), убрано дублирование имени) |
(глубина, формулы, связность, второй промпт) |
||
| Строка 1: | Строка 1: | ||
| - | {{well|Статья написана с использованием LLM '''Claude Sonnet 4''' и проверена участником [[Участник:Emil Petrov|Emil Petrov]] | + | {{well|Статья написана с использованием LLM '''Claude Sonnet 4''' и проверена участником [[Участник:Emil Petrov|Emil Petrov]] 20:00, 14 июля 2026 (MSD) |
Промпт приводится полностью в [[Обсуждение:Диффузионная модель]] | Промпт приводится полностью в [[Обсуждение:Диффузионная модель]] | ||
}} | }} | ||
{{TOCright}} | {{TOCright}} | ||
| - | '''Диффузио́нная мо́дель''' (англ. diffusion model) — класс [[Генеративные модели|генеративных моделей]] | + | '''Диффузио́нная мо́дель''' (англ. diffusion model) — класс [[Генеративные модели|генеративных моделей]], которые обучаются разрушать данные постепенным добавлением шума (прямой процесс) и восстанавливать их обратным процессом, стартуя из чистого шума. С начала 2020-х они задают стандарт качества в генерации изображений (Stable Diffusion, DALL-E 2/3, Midjourney, Imagen), а также применяются к аудио, видео, 3D и молекулам. По стабильности обучения они обычно превосходят [[Генеративно-состязательная сеть|GAN]], а по качеству выборок — классические VAE; плата — многошаговый (и потому более медленный) сэмплинг. |
| + | |||
| + | Аналогия: скульптура из камня наоборот. Прямой процесс — аккуратно «зашумлять» статую до бесформенной пыли по известным правилам; обратный — нейросеть учится на каждом уровне шума угадывать, куда сдвинуть пыль, чтобы снова проявилась форма. Генерация — пройти путь от пыли к статуе, опираясь на выученный «реставратор». | ||
== Математическая основа == | == Математическая основа == | ||
| Строка 10: | Строка 12: | ||
=== Прямой процесс (диффузия) === | === Прямой процесс (диффузия) === | ||
| - | + | Пусть <tex>x_0 \sim q(x_0)</tex> — образец из распределения данных. Прямой марковский процесс добавляет гауссовский шум по расписанию <tex>\beta_1, \ldots, \beta_T</tex>: | |
:<tex>q(x_t \mid x_{t-1}) = \mathcal{N}\!\left(x_t;\; \sqrt{1-\beta_t}\, x_{t-1},\; \beta_t I\right).</tex> | :<tex>q(x_t \mid x_{t-1}) = \mathcal{N}\!\left(x_t;\; \sqrt{1-\beta_t}\, x_{t-1},\; \beta_t I\right).</tex> | ||
| - | + | Ключевое удобство гауссиан: можно перейти к <tex>x_t</tex> сразу из <tex>x_0</tex>: | |
:<tex>q(x_t \mid x_0) = \mathcal{N}\!\left(x_t;\; \sqrt{\bar\alpha_t}\, x_0,\; (1-\bar\alpha_t) I\right),</tex> | :<tex>q(x_t \mid x_0) = \mathcal{N}\!\left(x_t;\; \sqrt{\bar\alpha_t}\, x_0,\; (1-\bar\alpha_t) I\right),</tex> | ||
| - | где <tex>\alpha_t = 1 - \beta_t</tex>, <tex>\bar\alpha_t = \prod_{s=1}^{t} \alpha_s</tex>. При | + | где <tex>\alpha_t = 1 - \beta_t</tex>, <tex>\bar\alpha_t = \prod_{s=1}^{t} \alpha_s</tex>. При большом <tex>T</tex> (типично 1000) и подходящем schedule <tex>x_T \approx \mathcal{N}(0, I)</tex>. Расписания бывают линейные, cosine (улучшает сохранение сигнала на средних <tex>t</tex>) и обучаемые. |
| + | |||
| + | С точки зрения непрерывного времени прямой процесс — вариация диффузии Ornstein–Uhlenbeck / VP-SDE (Song et al.); дискретные DDPM — её практическая дискретизация. | ||
=== Обратный процесс === | === Обратный процесс === | ||
| - | + | Генерация требует обратных переходов <tex>p_\theta(x_{t-1} \mid x_t)</tex>. Их параметризуют гауссианой: | |
:<tex>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).</tex> | :<tex>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).</tex> | ||
| - | Истинный | + | Истинный постериор тоже гауссовский. Обозначая <tex>\tilde\beta_t = \frac{1-\bar\alpha_{t-1}}{1-\bar\alpha_t}\,\beta_t</tex>, |
| - | = | + | :<tex>q(x_{t-1} \mid x_t, x_0) = \mathcal{N}\!\bigl(x_{t-1};\; \tilde\mu_t(x_t, x_0),\; \tilde\beta_t I\bigr),</tex> |
| - | + | :<tex>\tilde\mu_t(x_t, x_0) = \frac{\sqrt{\bar\alpha_{t-1}}\,\beta_t}{1-\bar\alpha_t}\, x_0 + \frac{\sqrt{\alpha_t}\,(1-\bar\alpha_{t-1})}{1-\bar\alpha_t}\, x_t.</tex> | |
| - | + | Сеть не обязана предсказывать <tex>\mu</tex> напрямую: эквивалентные параметризации — шум <tex>\epsilon</tex>, чистый <tex>x_0</tex> или score <tex>\nabla_{x_t}\log q(x_t)</tex>. На практике доминирует ε-параметризация: из предсказанного <tex>\hat\epsilon</tex> восстанавливают оценку <tex>\hat x_0</tex> и подставляют в формулу среднего. | |
| - | + | Исторически идея non-equilibrium thermodynamics для генерации восходит к Sohl-Dickstein et al. (2015); DDPM сделали её практически работоспособной на изображениях. Параллельная линия — score matching и NCSN/SDE (Song et al.): обучение градиента логарифма плотности зашумлённых данных; DDPM и score-SDE — две записи близкой математики. | |
| - | == | + | === Функция потерь DDPM === |
| - | + | Ho, Jain и Abbeel (2020)<ref name="ho2020">{{статья |автор=Ho J., Jain A., Abbeel P. |заглавие=Denoising Diffusion Probabilistic Models |издание=NeurIPS |год=2020 |ссылка=https://arxiv.org/abs/2006.11239}}</ref> показали, что вариационная нижняя граница (ELBO) после упрощений сводится к регрессии шума: | |
| - | + | :<tex>\mathcal{L}_\text{simple} = \mathbb{E}_{t,\, x_0,\, \epsilon}\!\left[\bigl\|\epsilon - \epsilon_\theta(\sqrt{\bar\alpha_t}\, x_0 + \sqrt{1-\bar\alpha_t}\, \epsilon,\; t)\bigr\|^2\right],</tex> | |
| + | |||
| + | где <tex>\epsilon \sim \mathcal{N}(0, I)</tex>, <tex>t \sim \mathcal{U}\{1, \ldots, T\}</tex>. Это обычный MSE: сеть видит зашумлённый пример и момент времени <tex>t</tex> (через [[Нейросетевое встраивание|эмбеддинг]] шага) и должна восстановить добавленный шум. Полный ELBO включает веса по <tex>t</tex> и член для <tex>\Sigma</tex>; <tex>\mathcal{L}_\text{simple}</tex> на практике часто работает лучше «теоретически точной» взвешенной версии. | ||
| + | |||
| + | Сэмплинг DDPM: взять <tex>x_T \sim \mathcal{N}(0, I)</tex> и итеративно применять обратный шаг до <tex>x_0</tex>. Без ускорений это сотни–тысячи проходов сети. | ||
| + | |||
| + | == Архитектура денойзера: U-Net и DiT == | ||
| + | |||
| + | Исторически <tex>\epsilon_\theta</tex> — '''U-Net''' со skip-connections, residual-блоками, групповой/адаптивной нормализацией и вставками [[Механизм внимания|self-attention]] на низком разрешении. Время <tex>t</tex> модулирует блоки (FiLM / AdaGN). Для текст→изображение текстовые токены (CLIP, T5) подаются через '''кросс-внимание''': запросы из карты признаков изображения, ключи/значения из текста. | ||
| + | |||
| + | '''Diffusion Transformer (DiT)'''<ref name="peebles2023">{{статья |автор=Peebles W., Xie S. |заглавие=Scalable Diffusion Models with Transformers |издание=ICCV |год=2023 |ссылка=https://arxiv.org/abs/2212.09748}}</ref> заменяет U-Net на [[Трансформер (модель)|трансформер]] по патчам латента. При масштабировании DiT демонстрирует предсказуемые законы качества (аналог scaling laws) и лёг в основу ряда SOTA-систем (в том числе линий Stable Diffusion 3 / Flux-подобных архитектур). Индуктивное смещение сдвигается: меньше «встроенной» многомасштабности свёрток, больше — емкости внимания и данных. | ||
== Ускоренные сэмплеры == | == Ускоренные сэмплеры == | ||
| - | + | Узкое место диффузии — число шагов. Основные семейства: | |
| - | * '''DDIM''' | + | * '''DDIM'''<ref name="song2021">{{статья |автор=Song J., Meng C., Ermon S. |заглавие=Denoising Diffusion Implicit Models |издание=ICLR |год=2021 |ссылка=https://arxiv.org/abs/2010.02502}}</ref> — немарковское обобщение: тот же обученный <tex>\epsilon_\theta</tex>, но детерминированная (или частично стохастическая) траектория. Качество при 20–50 шагах близко к DDPM-1000; детерминизм даёт осмысленную интерполяцию латентов. |
| - | * '''DPM-Solver''' — ODE | + | * '''DPM-Solver / DPM-Solver++''' — численные методы для вероятностного ODE/SDE диффузии высокого порядка; часто 10–20 шагов достаточно для высокого FID. |
| - | * '''Consistency Models''' — | + | * '''Consistency Models''' — обучение (или дистилляция) отображения <tex>x_t \mapsto x_0</tex>, согласованного вдоль траектории; сэмплинг за 1–4 шага ценой отдельного обучения/дистилляции. |
| + | * '''Дистилляция и Progressive Distillation''' — учитель с многими шагами учит ученика с меньшим числом; крайний случай — одношаговые генераторы, конкурирующие с GAN по скорости. | ||
| + | |||
| + | Связь с score-based моделями (Song et al., SDE/ODE) показывает, что многие сэмплеры — разные дискретизации одной непрерывной динамики. | ||
== Латентная диффузия == | == Латентная диффузия == | ||
| - | + | Работа в пикселях дорога. Rombach et al. (2022)<ref name="rombach2022">{{статья |автор=Rombach R., Blattmann A., Lorenz D., Esser P., Ommer B. |заглавие=High-Resolution Image Synthesis with Latent Diffusion Models |издание=CVPR |год=2022 |ссылка=https://arxiv.org/abs/2112.10752}}</ref> предложили '''Latent Diffusion Models (LDM)''': сначала VAE сжимает изображение в латент <tex>z = \mathcal{E}(x)</tex>, диффузия идёт в пространстве <tex>z</tex>, затем декодер <tex>\mathcal{D}(z)</tex> восстанавливает пиксели. Вычислительные затраты падают на порядок при сопоставимом восприятии. Stable Diffusion — массовая реализация LDM; открытые веса и экосистема ControlNet/LoRA сделали её стандартом de facto. | |
| + | |||
| + | Компромисс: артефакты и предел детализации во многом наследуются от VAE; для сверхвысоких разрешений используют каскады, тайлинг или пиксельные/латентные гибриды. | ||
== Управление генерацией == | == Управление генерацией == | ||
| - | * '''Classifier-Free Guidance (CFG)''' — | + | * '''Classifier-Free Guidance (CFG)''' — при обучении условие <tex>c</tex> (текст, класс) случайно отбрасывается. На инференсе: |
| - | * '''ControlNet''' — | + | |
| - | * '''Inpainting | + | :<tex>\tilde\epsilon = \epsilon_\theta(x_t, \emptyset) + w\,\bigl[\epsilon_\theta(x_t, c) - \epsilon_\theta(x_t, \emptyset)\bigr].</tex> |
| + | |||
| + | Параметр <tex>w > 1</tex> усиливает следование промпту ценой разнообразия и иногда перенасыщения. Связь с [[Промпт-инжиниринг|промпт-инжинирингом]]: формулировка <tex>c</tex> и выбор <tex>w</tex> — основные рычаги пользователя. | ||
| + | |||
| + | * '''ControlNet''' — параллельная ветвь, в которую подают Canny, глубину, позу, сегментацию и т.п.; нулевые свёртки в начале обучения не ломают предобученный денойзер. | ||
| + | * '''Inpainting / img2img''' — часть латента фиксируется из зашумлённого исходника, остальное генерируется; даёт редактирование и вариации. | ||
| + | * '''IP-Adapter, reference attention''' — условие по изображению-референсу без полного переобучения. | ||
| + | |||
| + | После выравнивания текстовых моделей идеи RLHF/предпочтений переносятся и на диффузию (человеческие рейтинг-модели, DPO-подобные цели для денойзера), хотя зрелость методов ниже, чем у [[Обучение с подкреплением из обратной связи человека (RLHF)|LLM-RLHF]]. | ||
== Применения == | == Применения == | ||
| - | * ''' | + | * '''Изображения''' — Stable Diffusion, DALL-E, Midjourney, Imagen, Adobe Firefly; дизайн, иллюстрация, синтетические данные. |
| - | * ''' | + | * '''Видео''' — модели вроде Stable Video Diffusion, Sora и открытые аналоги; выше стоимость и острее проблема временной согласованности. |
| - | * ''' | + | * '''Аудио и музыка''' — WaveGrad, AudioLDM, диффузионные вокодеры. |
| - | * ''' | + | * '''Наука''' — RFDiffusion и родственные методы для белков/лигандов; генерация конформаций и каркасов молекул. |
| - | * '''3D | + | * '''3D''' — DreamFusion и SDS (Score Distillation Sampling): диффузионный prior оптимизирует NeRF/Gaussian Splatting по тексту. |
| + | * '''Текст''' — экспериментальные диффузионные языковые модели (альтернатива авторегрессии [[Большая языковая модель|LLM]]); пока не вытеснили трансформерный декодер, но показывают иной trade-off параллелизма и качества. | ||
| - | == Сравнение с | + | == Сравнение с GAN, VAE и normalizing flow == |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| - | ! | + | ! || Диффузия || [[Генеративно-состязательная сеть|GAN]] || VAE || Flow |
|- | |- | ||
| - | | | + | | Качество выборок || Очень высокое || Высокое (при удачном обучении) || Среднее / размытое || Высокое на простых доменах |
|- | |- | ||
| - | | | + | | Стабильность обучения || Высокая (MSE/ELBO) || Низкая (mode collapse, хрупкий минимум) || Высокая || Высокая |
|- | |- | ||
| - | | | + | | Скорость генерации || Медленная (много шагов; дистилляция помогает) || Быстрая (один проход) || Быстрая || Быстрая / средняя |
|- | |- | ||
| - | | | + | | Правдоподобие / ELBO || Да (вариационная оценка) || Нет явной || Да || Да (точный likelihood) |
| + | |- | ||
| + | | Управляемость || Высокая (CFG, ControlNet, inpaint) || Средняя (зависит от архитектуры) || Ограниченная || Средняя | ||
| + | |- | ||
| + | | Память / compute обучения || Высокие || Средние || Средние || Высокие на высоком разрешении | ||
|} | |} | ||
| + | |||
| + | Практически: если нужна максимальная визуальная fidelity и контроль — диффузия; если жёсткий realtime на краю — GAN или дистиллированная диффузия; если нужен точный likelihood — flow/VAE-подобные модели. | ||
| + | |||
| + | == Ограничения и открытые вопросы == | ||
| + | |||
| + | * '''Стоимость сэмплинга''' — даже с DDIM/DPM десятки проходов сети дороже одного forward GAN; дистилляция сужает разрыв, но не всегда сохраняет редактируемость. | ||
| + | * '''Контроль и безопасность''' — CFG усиливает промпт, но не гарантирует фактичность или соблюдение ограничений; для продуктов нужны фильтры, watermarking и policy-слой (частично пересекается с практиками выравнивания [[Большая языковая модель|LLM]]). | ||
| + | * '''Видео и 3D''' — согласованность во времени/пространстве всё ещё хрупка; compute растёт быстрее, чем наивное «добавить ось». | ||
| + | * '''Оценка качества''' — FID/CLIPScore коррелируют с восприятием неполно; human eval и task-specific метрики остаются необходимы. | ||
| + | * '''Альтернативы''' — consistency, flow-matching / rectified flow, авторегрессия по токенам изображения (как в некоторых мультимодальных LLM) конкурируют на скорости и простоте пайплайна. | ||
| + | |||
| + | Тем не менее именно диффузия в латентном пространстве с кросс-вниманием к тексту задала канон open-source генерации изображений и показала, что [[Трансформер (модель)|трансформер]] как денойзер (DiT) масштабируется предсказуемо — в духе scaling laws языковых моделей. | ||
== См. также == | == См. также == | ||
* [[Трансформер (модель)]] | * [[Трансформер (модель)]] | ||
* [[Механизм внимания]] | * [[Механизм внимания]] | ||
| + | * [[Большая языковая модель]] | ||
| + | * [[Нейросетевое встраивание]] | ||
| + | * [[Промпт-инжиниринг]] | ||
| + | * [[Обучение с подкреплением из обратной связи человека (RLHF)]] | ||
* [[Генеративно-состязательная сеть]] | * [[Генеративно-состязательная сеть]] | ||
* [[Автокодировщик]] | * [[Автокодировщик]] | ||
| - | |||
| - | |||
== Примечания == | == Примечания == | ||
| Строка 95: | Строка 141: | ||
== Литература == | == Литература == | ||
| + | * {{статья |автор=Sohl-Dickstein J., Weiss E., Maheswaranathan N., Ganguli S. |заглавие=Deep Unsupervised Learning using Nonequilibrium Thermodynamics |издание=ICML |год=2015 |ссылка=https://arxiv.org/abs/1503.03585}} | ||
* {{статья |автор=Ho J., Jain A., Abbeel P. |заглавие=Denoising Diffusion Probabilistic Models |издание=NeurIPS |год=2020 |ссылка=https://arxiv.org/abs/2006.11239}} | * {{статья |автор=Ho J., Jain A., Abbeel P. |заглавие=Denoising Diffusion Probabilistic Models |издание=NeurIPS |год=2020 |ссылка=https://arxiv.org/abs/2006.11239}} | ||
* {{статья |автор=Song J., Meng C., Ermon S. |заглавие=Denoising Diffusion Implicit Models |издание=ICLR |год=2021 |ссылка=https://arxiv.org/abs/2010.02502}} | * {{статья |автор=Song J., Meng C., Ermon S. |заглавие=Denoising Diffusion Implicit Models |издание=ICLR |год=2021 |ссылка=https://arxiv.org/abs/2010.02502}} | ||
| + | * {{статья |автор=Song Y. et al. |заглавие=Score-Based Generative Modeling through Stochastic Differential Equations |издание=ICLR |год=2021 |ссылка=https://arxiv.org/abs/2011.13456}} | ||
* {{статья |автор=Rombach R., Blattmann A., Lorenz D., Esser P., Ommer B. |заглавие=High-Resolution Image Synthesis with Latent Diffusion Models |издание=CVPR |год=2022 |ссылка=https://arxiv.org/abs/2112.10752}} | * {{статья |автор=Rombach R., Blattmann A., Lorenz D., Esser P., Ommer B. |заглавие=High-Resolution Image Synthesis with Latent Diffusion Models |издание=CVPR |год=2022 |ссылка=https://arxiv.org/abs/2112.10752}} | ||
| + | * {{статья |автор=Ho J., Salimans T. |заглавие=Classifier-Free Diffusion Guidance |издание=NeurIPS Workshop |год=2021 |ссылка=https://arxiv.org/abs/2207.12598}} | ||
* {{статья |автор=Peebles W., Xie S. |заглавие=Scalable Diffusion Models with Transformers |издание=ICCV |год=2023 |ссылка=https://arxiv.org/abs/2212.09748}} | * {{статья |автор=Peebles W., Xie S. |заглавие=Scalable Diffusion Models with Transformers |издание=ICCV |год=2023 |ссылка=https://arxiv.org/abs/2212.09748}} | ||
| + | * {{статья |автор=Song Y., Dhariwal P., Chen M., Sutskever I. |заглавие=Consistency Models |издание=ICML |год=2023 |ссылка=https://arxiv.org/abs/2303.01469}} | ||
[[Категория:Машинное обучение]] | [[Категория:Машинное обучение]] | ||
[[Категория:Нейронные сети]] | [[Категория:Нейронные сети]] | ||
[[Категория:Генеративные модели]] | [[Категория:Генеративные модели]] | ||
| + | [[Категория:Глубокое обучение]] | ||
Текущая версия
| | Статья написана с использованием LLM Claude Sonnet 4 и проверена участником Emil Petrov 20:00, 14 июля 2026 (MSD)
Промпт приводится полностью в Обсуждение:Диффузионная модель |
|
Диффузио́нная мо́дель (англ. diffusion model) — класс генеративных моделей, которые обучаются разрушать данные постепенным добавлением шума (прямой процесс) и восстанавливать их обратным процессом, стартуя из чистого шума. С начала 2020-х они задают стандарт качества в генерации изображений (Stable Diffusion, DALL-E 2/3, Midjourney, Imagen), а также применяются к аудио, видео, 3D и молекулам. По стабильности обучения они обычно превосходят GAN, а по качеству выборок — классические VAE; плата — многошаговый (и потому более медленный) сэмплинг.
Аналогия: скульптура из камня наоборот. Прямой процесс — аккуратно «зашумлять» статую до бесформенной пыли по известным правилам; обратный — нейросеть учится на каждом уровне шума угадывать, куда сдвинуть пыль, чтобы снова проявилась форма. Генерация — пройти путь от пыли к статуе, опираясь на выученный «реставратор».
Математическая основа
Прямой процесс (диффузия)
Пусть — образец из распределения данных. Прямой марковский процесс добавляет гауссовский шум по расписанию
:
Ключевое удобство гауссиан: можно перейти к сразу из
:
где ,
. При большом
(типично 1000) и подходящем schedule
. Расписания бывают линейные, cosine (улучшает сохранение сигнала на средних
) и обучаемые.
С точки зрения непрерывного времени прямой процесс — вариация диффузии Ornstein–Uhlenbeck / VP-SDE (Song et al.); дискретные DDPM — её практическая дискретизация.
Обратный процесс
Генерация требует обратных переходов . Их параметризуют гауссианой:
Истинный постериор тоже гауссовский. Обозначая ,
Сеть не обязана предсказывать напрямую: эквивалентные параметризации — шум
, чистый
или score
. На практике доминирует ε-параметризация: из предсказанного
восстанавливают оценку
и подставляют в формулу среднего.
Исторически идея non-equilibrium thermodynamics для генерации восходит к Sohl-Dickstein et al. (2015); DDPM сделали её практически работоспособной на изображениях. Параллельная линия — score matching и NCSN/SDE (Song et al.): обучение градиента логарифма плотности зашумлённых данных; DDPM и score-SDE — две записи близкой математики.
Функция потерь DDPM
Ho, Jain и Abbeel (2020)[1] показали, что вариационная нижняя граница (ELBO) после упрощений сводится к регрессии шума:
где ,
. Это обычный MSE: сеть видит зашумлённый пример и момент времени
(через эмбеддинг шага) и должна восстановить добавленный шум. Полный ELBO включает веса по
и член для
;
на практике часто работает лучше «теоретически точной» взвешенной версии.
Сэмплинг DDPM: взять и итеративно применять обратный шаг до
. Без ускорений это сотни–тысячи проходов сети.
Архитектура денойзера: U-Net и DiT
Исторически — U-Net со skip-connections, residual-блоками, групповой/адаптивной нормализацией и вставками self-attention на низком разрешении. Время
модулирует блоки (FiLM / AdaGN). Для текст→изображение текстовые токены (CLIP, T5) подаются через кросс-внимание: запросы из карты признаков изображения, ключи/значения из текста.
Diffusion Transformer (DiT)[1] заменяет U-Net на трансформер по патчам латента. При масштабировании DiT демонстрирует предсказуемые законы качества (аналог scaling laws) и лёг в основу ряда SOTA-систем (в том числе линий Stable Diffusion 3 / Flux-подобных архитектур). Индуктивное смещение сдвигается: меньше «встроенной» многомасштабности свёрток, больше — емкости внимания и данных.
Ускоренные сэмплеры
Узкое место диффузии — число шагов. Основные семейства:
- DDIM[1] — немарковское обобщение: тот же обученный
, но детерминированная (или частично стохастическая) траектория. Качество при 20–50 шагах близко к DDPM-1000; детерминизм даёт осмысленную интерполяцию латентов.
- DPM-Solver / DPM-Solver++ — численные методы для вероятностного ODE/SDE диффузии высокого порядка; часто 10–20 шагов достаточно для высокого FID.
- Consistency Models — обучение (или дистилляция) отображения
, согласованного вдоль траектории; сэмплинг за 1–4 шага ценой отдельного обучения/дистилляции.
- Дистилляция и Progressive Distillation — учитель с многими шагами учит ученика с меньшим числом; крайний случай — одношаговые генераторы, конкурирующие с GAN по скорости.
Связь с score-based моделями (Song et al., SDE/ODE) показывает, что многие сэмплеры — разные дискретизации одной непрерывной динамики.
Латентная диффузия
Работа в пикселях дорога. Rombach et al. (2022)[1] предложили Latent Diffusion Models (LDM): сначала VAE сжимает изображение в латент , диффузия идёт в пространстве
, затем декодер
восстанавливает пиксели. Вычислительные затраты падают на порядок при сопоставимом восприятии. Stable Diffusion — массовая реализация LDM; открытые веса и экосистема ControlNet/LoRA сделали её стандартом de facto.
Компромисс: артефакты и предел детализации во многом наследуются от VAE; для сверхвысоких разрешений используют каскады, тайлинг или пиксельные/латентные гибриды.
Управление генерацией
- Classifier-Free Guidance (CFG) — при обучении условие
(текст, класс) случайно отбрасывается. На инференсе:
Параметр усиливает следование промпту ценой разнообразия и иногда перенасыщения. Связь с промпт-инжинирингом: формулировка
и выбор
— основные рычаги пользователя.
- ControlNet — параллельная ветвь, в которую подают Canny, глубину, позу, сегментацию и т.п.; нулевые свёртки в начале обучения не ломают предобученный денойзер.
- Inpainting / img2img — часть латента фиксируется из зашумлённого исходника, остальное генерируется; даёт редактирование и вариации.
- IP-Adapter, reference attention — условие по изображению-референсу без полного переобучения.
После выравнивания текстовых моделей идеи RLHF/предпочтений переносятся и на диффузию (человеческие рейтинг-модели, DPO-подобные цели для денойзера), хотя зрелость методов ниже, чем у LLM-RLHF.
Применения
- Изображения — Stable Diffusion, DALL-E, Midjourney, Imagen, Adobe Firefly; дизайн, иллюстрация, синтетические данные.
- Видео — модели вроде Stable Video Diffusion, Sora и открытые аналоги; выше стоимость и острее проблема временной согласованности.
- Аудио и музыка — WaveGrad, AudioLDM, диффузионные вокодеры.
- Наука — RFDiffusion и родственные методы для белков/лигандов; генерация конформаций и каркасов молекул.
- 3D — DreamFusion и SDS (Score Distillation Sampling): диффузионный prior оптимизирует NeRF/Gaussian Splatting по тексту.
- Текст — экспериментальные диффузионные языковые модели (альтернатива авторегрессии LLM); пока не вытеснили трансформерный декодер, но показывают иной trade-off параллелизма и качества.
Сравнение с GAN, VAE и normalizing flow
| Диффузия | GAN | VAE | Flow | |
|---|---|---|---|---|
| Качество выборок | Очень высокое | Высокое (при удачном обучении) | Среднее / размытое | Высокое на простых доменах |
| Стабильность обучения | Высокая (MSE/ELBO) | Низкая (mode collapse, хрупкий минимум) | Высокая | Высокая |
| Скорость генерации | Медленная (много шагов; дистилляция помогает) | Быстрая (один проход) | Быстрая | Быстрая / средняя |
| Правдоподобие / ELBO | Да (вариационная оценка) | Нет явной | Да | Да (точный likelihood) |
| Управляемость | Высокая (CFG, ControlNet, inpaint) | Средняя (зависит от архитектуры) | Ограниченная | Средняя |
| Память / compute обучения | Высокие | Средние | Средние | Высокие на высоком разрешении |
Практически: если нужна максимальная визуальная fidelity и контроль — диффузия; если жёсткий realtime на краю — GAN или дистиллированная диффузия; если нужен точный likelihood — flow/VAE-подобные модели.
Ограничения и открытые вопросы
- Стоимость сэмплинга — даже с DDIM/DPM десятки проходов сети дороже одного forward GAN; дистилляция сужает разрыв, но не всегда сохраняет редактируемость.
- Контроль и безопасность — CFG усиливает промпт, но не гарантирует фактичность или соблюдение ограничений; для продуктов нужны фильтры, watermarking и policy-слой (частично пересекается с практиками выравнивания LLM).
- Видео и 3D — согласованность во времени/пространстве всё ещё хрупка; compute растёт быстрее, чем наивное «добавить ось».
- Оценка качества — FID/CLIPScore коррелируют с восприятием неполно; human eval и task-specific метрики остаются необходимы.
- Альтернативы — consistency, flow-matching / rectified flow, авторегрессия по токенам изображения (как в некоторых мультимодальных LLM) конкурируют на скорости и простоте пайплайна.
Тем не менее именно диффузия в латентном пространстве с кросс-вниманием к тексту задала канон open-source генерации изображений и показала, что трансформер как денойзер (DiT) масштабируется предсказуемо — в духе scaling laws языковых моделей.
См. также
- Трансформер (модель)
- Механизм внимания
- Большая языковая модель
- Нейросетевое встраивание
- Промпт-инжиниринг
- Обучение с подкреплением из обратной связи человека (RLHF)
- Генеративно-состязательная сеть
- Автокодировщик
Примечания
Литература
- Sohl-Dickstein J., Weiss E., Maheswaranathan N., Ganguli S. Deep Unsupervised Learning using Nonequilibrium Thermodynamics // ICML. — 2015.
- Ho J., Jain A., Abbeel P. Denoising Diffusion Probabilistic Models // NeurIPS. — 2020.
- Song J., Meng C., Ermon S. Denoising Diffusion Implicit Models // ICLR. — 2021.
- Song Y. et al. Score-Based Generative Modeling through Stochastic Differential Equations // ICLR. — 2021.
- Rombach R., Blattmann A., Lorenz D., Esser P., Ommer B. High-Resolution Image Synthesis with Latent Diffusion Models // CVPR. — 2022.
- Ho J., Salimans T. Classifier-Free Diffusion Guidance // NeurIPS Workshop. — 2021.
- Peebles W., Xie S. Scalable Diffusion Models with Transformers // ICCV. — 2023.
- Song Y., Dhariwal P., Chen M., Sutskever I. Consistency Models // ICML. — 2023.

