📖

Что такое Диффузионная модель?

Простое и понятное руководство по диффузионным моделям — генеративной технологии ИИ, лежащей в основе генерации изображений в Stable Diffusion, Imagen и DALL·E 3.

Диффузионная модель — это тип генеративного ИИ, который учится создавать новые данные (как правило, изображения, аудио или видео), обращая вспять пошаговый процесс зашумления. Во время обучения модель видит реальные примеры, постепенно искажаемые гауссовым шумом за множество небольших шагов, а нейросеть обучается предсказывать шум, добавленный на каждом шаге. После обучения модель может стартовать с чистого случайного шума и итеративно «деноизить» (очищать от шума) его в связный новый образец, например в фотореалистичное изображение, заданное текстовым промптом.

Как работает диффузионная модель

Обучение проходит в двух связанных фазах. В прямом процессе берётся чистое обучающее изображение, и к нему за фиксированное число шагов по времени (часто 1 000) добавляются небольшие порции случайного шума, пока изображение не становится неотличимым от «белого шума». В обратном процессе нейросеть — обычно U-Net — учится оценивать шум, добавленный на каждом шаге, чтобы вычесть его и шаг за шагом приблизиться к чистому изображению.

На этапе инференса генерация начинается с выборки чистого гауссова шума. Модель итеративно очищает его шаг за шагом, пока не появляется чистое изображение. Чтобы сделать генерацию условной — например, превратить промпт «корги на скейтборде» в картинку — текстовый энкодер (например, модель CLIP или T5) преобразует промпт в эмбеддинг, и диффузионная сеть обучается деноизингу, одновременно «обращая внимание» на этот эмбеддинг. Метод classifier-free guidance, представленный в 2022 году, позволяет той же модели также выполнять безусловный деноизинг, а затем экстраполировать между двумя предсказаниями, усиливая то, насколько точно результат следует промпту.

Почему это важно

Диффузионные модели — основа сегодняшних ведущих систем генерации изображений по тексту, включая Stable Diffusion, DALL·E 3, Midjourney и Google Imagen. По сравнению с более ранними генеративными подходами, такими как GAN, они обычно дают более качественные и разнообразные образцы, а их итеративная выборка позволяет легко задавать условия в виде текста, карт глубины или скетчей. Помимо изображений, тот же рецепт используется в моделях для аудио (например, DiffSinger), видео, структуры белков (например, RoseTTAFold All-Atom) и генерации 3D-форм, что делает диффузию одним из самых универсальных генеративных фреймворков в современном ИИ.

Основные типы диффузионных моделей

  • Denoising Diffusion Probabilistic Models (DDPM) — базовая формулировка Хо и др. (2020), в которой генерация рассматривается как итеративный деноизинг гауссова шума.
  • Denoising Diffusion Implicit Models (DDIM) — более быстрый сэмплер, использующий немарковские шаги, чтобы сократить время инференса без переобучения.
  • Latent Diffusion Models (LDM) — популяризированные Stable Diffusion; запускают процесс диффузии в сжатом латентном пространстве, а не в пространстве пикселей, что резко снижает вычислительные затраты.
  • Score-based models (SDE) — взгляд в непрерывном времени, связывающий диффузию со score matching и стохастическими дифференциальными уравнениями, что даёт гибкие сэмплеры.
  • Rectified Flow / Flow Matching — более новые варианты, которые обучаются более прямым путям «шум → данные», позволяя генерировать результат за значительно меньшее число шагов.

Для более глубокого технического разбора стандартной отправной точкой служат оригинальная статья о DDPM Хо, Джейна и Абила, а также статья о латентной диффузии Ромбаха и др. Коротко говоря, диффузионные модели превращают генерацию в множество небольших, обучаемых шагов деноизинга — простая идея, изменившая облик креативного ИИ.

Часто задаваемые вопросы

How is a diffusion model different from a GAN?
GANs train a generator and discriminator in opposition and produce a sample in a single forward pass, which can be fast but often unstable. Diffusion models instead train a single network to iteratively denoise, which tends to yield more diverse and higher-quality samples at the cost of slower generation. Most modern image generators have moved from GANs to diffusion for this reason.
Why do diffusion models need so many steps to generate an image?
Each step only removes a small amount of noise, so the network can stay accurate across all noise levels. Modern samplers like DDIM, DPM-Solver, and rectified-flow variants can produce good images in 4 to 20 steps, but very few-step sampling can reduce fine detail. Step count is a trade-off between speed, quality, and prompt fidelity.
What does "guidance scale" mean in diffusion models?
Guidance scale controls how strongly the output is pushed toward the text prompt. The model runs both a conditional prediction (with the prompt) and an unconditional one, then extrapolates between them; a higher scale means the prompt has more influence, producing sharper but sometimes less natural images, while a lower scale gives more creative but looser results.
Are diffusion models only used for images?
No. The same denoising framework has been applied to audio and music generation, video synthesis, 3D shape and texture generation, molecular and protein design, and even planning in reinforcement learning. Anywhere data can be progressively noised and learned, diffusion tends to be a viable generative approach.