Diffusion Model 基于马尔可夫链实现逐步加噪与去噪,已成为生成式 AI 的核心引擎。
定义与发展历程
Diffusion Model 是一类基于马尔可夫链的生成式模型,通过逐步添加噪声破坏数据分布,再学习逆向去噪过程重建数据。受非平衡统计物理学启发,该模型通过前向扩散系统性破坏数据结构,再通过反向扩散恢复结构。
发展里程碑
| 阶段 | 模型 | 贡献 |
|---|---|---|
| 奠基 | DDPM | 建立加噪-去噪基本范式 |
| 效率突破 | DDIM | 确定性采样加速,生成速度提升 10× |
| 跨模态演进 | Stable Diffusion | 潜在空间操作,显著降低计算开销 |
| 工业应用 | GLIDE | 文本引导图像生成 |
核心原理
前向扩散过程
将原始数据 $X_0$ 逐步转化为高斯噪声:
$$X_t = \sqrt{\alpha_t}X_{t-1} + \sqrt{1-\alpha_t}Z_t, \quad Z_t \sim \mathcal{N}(0,I)$$
闭式解:
$$q(X_t|X_0) = \mathcal{N}(X_t; \sqrt{\bar{\alpha}_t}X_0, (1-\bar{\alpha}_t)I)$$
其中 $\bar{\alpha}t = \prod{i=1}^t \alpha_i$,$\alpha_t = 1 - \beta_t$,$\beta_t$ 为噪声调度系数。
逆向去噪过程
学习映射 $p_\theta(X_{t-1}|X_t)$ 以重建数据。通过变分推断优化变分下界(ELBO):
$$\mathcal{L}{\text{VLB}} = \mathbb{E}q \left[ \log \frac{q(X{1:T}|X_0)}{p\theta(X_{0:T})} \right]$$
分解为逐时间步的 KL 散度项:
$$\mathcal{L}t = D{\text{KL}}\left( q(X_t|X_{t+1},X_0) \parallel p_\theta(X_t|X_{t+1}) \right)$$
训练目标简化
通过参数重整化,目标简化为噪声预测任务:
$$\mathcal{L}{\text{simple}} = \mathbb{E}{t,X_0,\epsilon} \left[ | \epsilon - \epsilon_\theta(X_t,t) |^2 \right]$$
U-Net 模型 $\epsilon_\theta$ 学习预测添加的噪声。
关键技术
噪声调度策略
| 策略 | 公式 | 优势 | 局限 |
|---|---|---|---|
| 线性调度 | $\beta_t = \beta_{\min} + (\beta_{\max} - \beta_{\min})\frac{t}{T}$ | 实现简单 | 噪声增减不均衡 |
| 余弦调度 | $\bar{\alpha}_t = \frac{\cos(t/T \cdot \pi/2)}{\cos(\pi/2)}$ | 平滑过渡,保留细节 | 计算复杂度较高 |
U-Net 架构改进
| |
核心改进:
- 残差块替换为自注意力块(Multi-Head Attention)
- 时间步嵌入通过加法/乘法融入各层
- 跳跃连接保留空间信息完整性
应用场景
| 领域 | 案例 | 技术亮点 |
|---|---|---|
| 图像生成 | Stable Diffusion | 潜在空间扩散,512×512 生成仅需 2 秒 |
| 图像编辑 | GLIDE | 文本引导局部编辑 |
| 视频生成 | Make-A-Video | 时间维度扩散,帧间一致性保持 |
| 科学计算 | AlphaFold3 | 蛋白质结构扩散生成 |
最新进展
EDM2 架构
EDM2 在 ImageNet-512 上 FID=1.81,模型缩小 5 倍仍保持 SOTA。关键创新:
- 激活值保持:强制每层输入/输出激活值范数不变
- 组归一化移除:简化网络结构
- 偏置项消除:提升训练稳定性
一致性模型
- 单步生成:将扩散轨迹映射为 ODE,通过蒸馏实现一步采样
- 零样本编辑:仅需预训练模型即可实现图像修复、插值
多模态融合
- CLIP 引导:文本编码器与扩散模型联合训练
- 3D 扩散:NeRF + Diffusion 实现三维场景生成
采样代码示例
| |
张芷铭的个人博客
Comments