返回笔记
深度学习

一文搞懂扩散模型:从 DDPM 到 Stable Diffusion

扩散模型 Stable Diffusion DDPM 图像生成

扩散模型是 AI 图像生成的核心技术。Midjourney、Stable Diffusion、DALL·E 背后都是扩散模型。理解它的原理并不难。

核心直觉

扩散模型的核心思想是"先破坏,再修复":

  • 前向过程:对一张清晰图片逐步加上随机噪声,重复足够多次后变成纯噪声
  • 反向过程:训练一个神经网络,学习如何从噪声中逐步恢复出清晰的图片

一旦模型学会了"去噪",就可以从纯噪声开始,一步步生成全新的图片。

DDPM 的关键公式

前向过程每一步给图片加一点高斯噪声:

x_t = sqrt(1 - beta_t) * x_{t-1} + sqrt(beta_t) * epsilon

其中 beta_t 是噪声调度参数,epsilon 是标准正态分布噪声。

模型的目标非常简单:预测每一步加的噪声 epsilon。损失函数就是预测噪声和真实噪声的 MSE。

为什么扩散模型这么好

  1. 训练稳定:不像 GAN 需要对抗训练,扩散模型的损失函数就是简单的 MSE
  2. 生成质量高:逐步生成的过程让细节更真实
  3. 可控性强:可以通过文本引导(Classifier-Free Guidance)控制生成内容

从 DDPM 到 Stable Diffusion

Stable Diffusion 在 DDPM 基础上做了三大改进:

  • 潜空间扩散:不在像素空间,而在压缩后的潜空间做扩散,大幅降低计算量
  • 文本条件:用 CLIP 文本编码器把文字描述注入扩散过程
  • 交叉注意力:扩散 U-Net 的每一层都和文本嵌入做交叉注意力,实现文本到图像的精准控制