生成模型
00:00
GAN、VAE、Diffusion Model生成模型原理与对比。
1. 生成模型概述
生成模型学习数据的分布 ,从而能够生成新的样本。
1.1 分类
| 类型 | 方法 | 代表 |
|---|---|---|
| 显式密度模型 | 直接建模 | VAE、Flow |
| 隐式密度模型 | 不显式建模分布 | GAN |
| 得分模型 | 学习得分函数 | Diffusion |
2. GAN(生成对抗网络)
2.1 基本原理
GAN 由生成器和判别器对抗训练:
2.2 训练过程
交替训练:
1. 固定G,训练D: 区分真假样本
D_loss = -E[log D(x)] - E[log(1 - D(G(z)))]
2. 固定D,训练G: 生成更逼真的样本
G_loss = -E[log D(G(z))] (非饱和损失)
2.3 理论保证
最优判别器:
全局最优:当 时,
2.4 GAN变体
| 变体 | 改进 | 说明 |
|---|---|---|
| DCGAN | 卷积架构 | 稳定训练 |
| WGAN | Wasserstein距离 | 解决模式崩溃 |
| CGAN | 条件生成 | 控制生成内容 |
| CycleGAN | 循环一致性 | 无配对图像转换 |
| StyleGAN | 风格控制 | 高质量人脸生成 |
| SAGAN | 自注意力 | 全局一致性 |
WGAN:用Wasserstein距离替代JS散度:
2.5 GAN训练问题
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 模式崩溃 | G只生成少数样本 | WGAN、Minibatch判别 |
| 训练不稳定 | D和G能力不匹配 | 谱归一化、梯度惩罚 |
| 评估困难 | 无显式似然 | FID、IS指标 |
3. VAE(变分自编码器)
3.1 基本原理
VAE 通过编码器-解码器结构学习数据的潜在表示:
3.2 损失函数(ELBO)
| 项 | 含义 | 作用 |
|---|---|---|
| 重建项 | 重建质量 | |
| KL散度项 | 正则化,使后验接近先验 |
3.3 重参数化技巧
直接从 采样不可微,使用重参数化:
3.4 VAE vs GAN
| 维度 | VAE | GAN |
|---|---|---|
| 训练稳定性 | 稳定 | 不稳定 |
| 生成质量 | 较模糊 | 较清晰 |
| 似然估计 | 有 | 无 |
| 潜在空间 | 有结构 | 无结构 |
| 模式覆盖 | 好 | 差(模式崩溃) |
4. Diffusion Model(扩散模型)
4.1 基本原理
扩散模型包含前向扩散和反向去噪两个过程:
前向过程(加噪):
任意时刻的分布:
其中 。
反向过程(去噪):
4.2 训练目标
简化后的损失函数:
模型学习预测添加的噪声 。
4.3 采样方法
| 方法 | 步数 | 质量 |
|---|---|---|
| DDPM | 1000步 | 高 |
| DDIM | 20~50步 | 高 |
| DPM-Solver | 10~20步 | 高 |
| LCM | 1~4步 | 中 |
4.4 条件生成
Classifier-Free Guidance:
- 为引导强度
- 越大,生成结果越符合条件但多样性降低
4.5 代表模型
| 模型 | 领域 | 特点 |
|---|---|---|
| DDPM | 图像 | 开创性工作 |
| Stable Diffusion | 图像 | 潜在空间扩散 |
| DALL-E 2/3 | 图像 | 文本到图像 |
| Sora | 视频 | 视频生成 |
| AudioLDM | 音频 | 音频生成 |
5. 生成模型对比
| 维度 | GAN | VAE | Diffusion |
|---|---|---|---|
| 生成质量 | 高 | 中 | 最高 |
| 多样性 | 低 | 高 | 高 |
| 训练稳定性 | 差 | 好 | 好 |
| 采样速度 | 快 | 快 | 慢 |
| 似然估计 | 无 | 有(下界) | 有 |
| 可控性 | 中 | 中 | 高 |