扩散模型变分推断理论
扩散模型(Diffusion Models)是当前生成式AI的核心技术之一。从变分推断的视角理解扩散模型,可以建立它与VAE、Score Matching的深层联系,形成统一的理论框架。
1. 从ELBO到扩散模型
1.1 变分推断基础回顾
给定观测数据 和潜在变量 ,目标是最大化对数似然 。直接计算困难:
引入近似后验 ,可以推导出证据下界(ELBO)1:
展开为:
1.2 分层VAE视角
扩散模型可以视为无限深的分层VAE1:
传统VAE: 扩散模型(无限深VAE):
┌────────┐ ┌────────┐
│ x_0 │ │ x_0 │ ← 真实数据
└───┬────┘ └───┬────┘
│ q(z|x) │ q(x_1|x_0)
┌───▼────┐ ┌───▼────┐
│ z │ │ x_1 │ ← 轻微噪声
└───┬────┘ └───┬────┘
│ p(x|z) │ q(x_2|x_1)
┌───▼────┐ ┌───▼────┐
│ x │ │ x_2 │ ← 更多噪声
└────────┘ └───┬────┘
│ ...
┌──▼────┐
│ x_T │ ← 完全噪声 (标准高斯)
└────────┘
1.3 扩散模型的三条核心假设
-
维度相等:潜在变量维度等于数据维度
-
编码器结构固定:每个层级是线性高斯模型
-
最终分布为标准高斯:
2. VDM的ELBO推导
2.1 马尔可夫HVAE的ELBO
设扩散步数为 ,定义:
-
联合分布(生成过程):
-
变分后验(前向过程):
2.2 ELBO的分解
使用Jensen不等式:
展开后得到三项分解:
2.3 去噪匹配项的物理意义
关键观察:第 个去噪匹配项是真实后验 与学习到的去噪先验 之间的KL散度。
根据贝叶斯定理:
这意味着:
- 给定 和 ,可以计算真实后验
- 训练目标是让 逼近这个后验
3. 与Score Matching的联系
3.1 分数函数的定义
定义:数据分布 的**分数函数(Score Function)**定义为:
它指向概率密度增长最快的方向。
3.2 去噪得分匹配
训练去噪扩散模型等价于去噪得分匹配(Denoising Score Matching)2:
目标函数:
其中:
- :添加的噪声
- :网络预测的分数函数
- :噪声调度参数
3.3 Tweedie公式
Tweedie公式建立了条件均值与分数函数的联系:
这表明:给定加噪观测 ,可以估计原始数据 。
3.4 三种等价形式
| 形式 | 描述 |
|---|---|
| 原始ELBO | |
| 去噪ELBO | 各噪声水平的加权ELBO之和 |
| Score Matching |
4. 方差调度策略
4.1 线性vs余弦调度
线性调度(DDPM原始):
余弦调度(改进版):
余弦调度在实践中表现更好,特别是在高分辨率图像生成中。
4.2 学习vs固定调度
| 类型 | 优点 | 缺点 |
|---|---|---|
| 固定调度 | 简单稳定 | 可能非最优 |
| 学习调度 | 更灵活 | 训练复杂 |
5. 统一视角:扩散作为变分自编码器
5.1 核心等价性
扩散模型可以完全从变分推断的角度理解1:
┌─────────────────────────────────────────────────────────┐
│ │
│ ┌─────────┐ VAE ┌─────────────┐ │
│ │ x_0 │ ◄───────────► │ VAE Encoder │ │
│ │ (数据) │ │ q(z|x) │ │
│ └────┬────┘ └──────┬──────┘ │
│ │ │ │
│ │ 扩散模型 = 无限深的马尔可夫HVAE │
│ ▼ ▼ │
│ ┌─────────┐ ┌─────────────┐ │
│ │ x_T │ │ x_1 (潜在) │ │
│ │ (噪声) │ │ │ │
│ └─────────┘ └─────────────┘ │
│ │
│ VAE优化:ELBO │
│ 扩散优化:去噪得分匹配(ELBO的等价形式) │
│ │
└─────────────────────────────────────────────────────────┘
5.2 训练目标简化
实践中简化的训练目标:
这直接预测添加的噪声,与ELBO理论预测的分数函数等价。
5.3 生成过程的变分视角
反向过程 本身就是变分后验:
其中 是网络估计的原始数据。
6. 进阶理论:连续时间扩散
6.1 SDE视角
当 ,扩散过程可以表示为随机微分方程(SDE)3:
其中 是漂移函数, 是扩散系数, 是维纳过程。
6.2 ODE形式(概率流)
对应的概率流ODE:
这使得确定性采样成为可能(如DDIM)。
6.3 连续时间ELBO
连续时间ELBO变为:
7. 与能量模型的联系
7.1 能量基模型视角
扩散模型的本质是学习能量函数:
分数函数是能量函数的梯度:
7.2 朗之万动力学采样
给定学习的分数函数,可以用朗之万动力学生成样本:
其中 是步长,。
8. 实践注意事项
8.1 训练稳定性
- 噪声水平控制:确保 在合理范围
- 网络架构:U-Net + time embedding 是标准选择
- EMA:指数移动平均提高生成质量
8.2 采样步数选择
| 步数 | 质量 | 速度 |
|---|---|---|
| 1000 | 最优 | 慢 |
| 100 | 接近最优 | 中等 |
| 20-50 | 可接受 | 快 |
| 1-10 | 差(需特殊方法) | 很快 |
8.3 条件生成
通过以下方式实现条件控制:
- Classifier Guidance:额外训练分类器
- Classifier-Free Guidance:联合训练条件/无条件模型