返回笔记
深度学习
一文搞懂扩散模型:从 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。
为什么扩散模型这么好
- 训练稳定:不像 GAN 需要对抗训练,扩散模型的损失函数就是简单的 MSE
- 生成质量高:逐步生成的过程让细节更真实
- 可控性强:可以通过文本引导(Classifier-Free Guidance)控制生成内容
从 DDPM 到 Stable Diffusion
Stable Diffusion 在 DDPM 基础上做了三大改进:
- 潜空间扩散:不在像素空间,而在压缩后的潜空间做扩散,大幅降低计算量
- 文本条件:用 CLIP 文本编码器把文字描述注入扩散过程
- 交叉注意力:扩散 U-Net 的每一层都和文本嵌入做交叉注意力,实现文本到图像的精准控制