2.5 生成式模型:生成对抗网络(GAN)与扩散模型(Diffusion Model)的技术对比
2.5 生成式模型:生成对抗网络(GAN)与扩散模型(Diffusion Model)的技术对比
生成式模型是深度学习领域皇冠上的明珠,其目标是学习数据分布 ( p(\text{data}) ) 并从中采样,以创造出与真实数据相似的新样本。在众多生成模型中,生成对抗网络 和 扩散模型 是两条主导技术路径,分别代表了隐式生成模型 和显式概率模型 的巅峰。本节将从技术原理、训练动态、样本质量等多个维度对二者进行深度对比。
2.5.1 生成对抗网络(GAN):对抗性博弈
GAN 的核心思想源于博弈论,通过一个生成器(Generator)和一个判别器(Discriminator)之间的对抗竞争来共同进化。
1. 基本框架与目标函数
- 生成器(G, Generator): 其输入通常是一个从简单先验分布(如高斯分布)中采样的随机噪声向量 (\mathbf{z}),目标是生成足以“以假乱真”的样本 (G(\mathbf{z}))。它试图欺骗判别器。
- 判别器(D, Discriminator): 其输入是真实数据样本 (\mathbf{x}) 或生成样本 (G(\mathbf{z})),目标是输出一个标量,表示输入为真实数据的概率。它试图区分真实样本与伪造样本。
这是一个二人极小极大博弈,其价值函数 (V(G, D)) 为:
[
\min_G \max_D V(D, G) = \mathbb{E}{\boldsymbol{x} \sim p{\text{data}}(\boldsymbol{x})}[\log D(\boldsymbol{x})] + \mathbb{E}{\boldsymbol{z} \sim p{\boldsymbol{z}}(\boldsymbol{z})}[\log (1 - D(G(\boldsymbol{z})))]
]
- 判别器 D 的目标: (\max_D V(D, G)),即最大化区分真实与生成样本的能力。这等价于最小化一个二分类的交叉熵损失。
- 生成器 G 的目标: (\min_G V(D, G)),即最小化 (\log (1 - D(G(\mathbf{z})))),相当于最大化 (D(G(\mathbf{z}))),让判别器将生成样本判定为“真”。
2. 训练动态与挑战
训练过程是一个迭代的二元博弈:
- 固定 G,训练 D: 用来自真实数据和小批量生成样本的数据,通过梯度上升更新 D 的参数。
- 固定 D,训练 G: 通过梯度下降更新 G 的参数,以使得 D 对生成样本的判别概率升高。
GAN 面临的主要挑战:
- 训练不稳定性: 生成器与判别器的训练需要精细的平衡。如果一方远强于另一方,会导致梯度消失,训练停滞。这常被比喻为“鞍点”问题。
- 模式崩溃: 生成器可能发现并反复生成少数几个能成功欺骗判别器的样本,而忽略了数据分布的其他模式(多样性),导致生成样本缺乏多样性。
- 评估困难: 由于没有显式的似然函数,评估 GAN 的性能通常依赖于启发式指标(如 IS, FID)。
2.5.2 扩散模型(Diffusion Model):去噪扩散过程
扩散模型的核心思想是一个双向马尔可夫过程:一个固定的前向过程(加噪)逐渐将数据破坏为噪声,然后一个学习的反向过程(去噪)从噪声中重建数据。
1. 前向过程(加噪过程)
前向过程是一个固定的、逐步向数据 (\mathbf{x}_0) 添加高斯噪声的过程,在 (T) 步后,数据完全变为纯高斯噪声 (\mathbf{x}T \sim \mathcal{N}(0, \mathbf{I}))。每一步的转移概率为:
[
q(\mathbf{x}t | \mathbf{x}{t-1}) = \mathcal{N}(\mathbf{x}t; \sqrt{1 - \beta_t} \mathbf{x}{t-1}, \beta_t \mathbf{I})
]
其中 ({\beta_t \in (0, 1)}{t=1}^T) 是预先定义的方差调度。一个关键性质是,我们可以通过重参数化技巧,直接从 (\mathbf{x}_0) 采样得到任意时刻 (t) 的加噪结果 (\mathbf{x}_t):
[
\mathbf{x}_t = \sqrt{\bar{\alpha}_t} \mathbf{x}_0 + \sqrt{1 - \bar{\alpha}_t} \boldsymbol{\epsilon}, \quad \text{where } \boldsymbol{\epsilon} \sim \mathcal{N}(0, \mathbf{I}), \alpha_t = 1 - \beta_t, \bar{\alpha}t = \prod{s=1}^t \alpha_s
]
2. 反向过程(去噪过程)
生成新样本,即从纯噪声 (\mathbf{x}T) 开始,执行反向过程 (q(\mathbf{x}{t-1} | \mathbf{x}t))。但这个真实的后验分布是未知的。因此,我们用一个以 (\theta) 为参数的神经网络 (p\theta) 来学习它:
[
p_\theta(\mathbf{x}{t-1} | \mathbf{x}t) = \mathcal{N}(\mathbf{x}{t-1}; \boldsymbol{\mu}\theta(\mathbf{x}t, t), \boldsymbol{\Sigma}\theta(\mathbf{x}_t, t))
]
3. 训练目标(去噪分数匹配/变分下界)
模型的训练目标是最大化变分下界。一个简化且非常有效的训练目标是去噪目标:训练一个网络 (\boldsymbol{\epsilon}\theta) 来预测在前向过程中添加到 (\mathbf{x}0) 上的噪声 (\boldsymbol{\epsilon})。
[
\mathcal{L}{\text{simple}}(\theta) = \mathbb{E}{t, \mathbf{x}0, \boldsymbol{\epsilon}} \left[ | \boldsymbol{\epsilon} - \boldsymbol{\epsilon}\theta( \sqrt{\bar{\alpha}_t} \mathbf{x}_0 + \sqrt{1 - \bar{\alpha}t} \boldsymbol{\epsilon}, t ) |^2 \right]
]
网络 (\boldsymbol{\epsilon}\theta) 的输入是噪声数据 (\mathbf{x}_t) 和时间步 (t),输出是对所添加噪声的预测。一旦这个去噪网络被训练好,就可以通过从 (t=T) 到 (t=1) 的迭代去噪来生成样本。
2.5.3 技术对比深度分析
| 特性 | 生成对抗网络(GAN) | 扩散模型(Diffusion Model) |
|---|---|---|
| 核心原理 | 对抗性博弈。一个生成器与一个判别器在极小极大游戏下共同进化。 | 基于似然的去噪。学习一个固定的、逐步加噪过程的逆过程。 |
| 模型类型 | 隐式密度模型。不显式定义数据分布 (p(x)),而是通过生成过程隐含地学习。 | 显式概率模型。通过定义反向过程的转移概率,显式地建模数据分布。 |
| 训练目标 | 极小极大博弈价值函数。非凸优化,寻求纳什均衡。 | 证据下界(ELBO)最大化,简化为去噪均方误差损失。 |
| 训练稳定性 | 不稳定。需要精细平衡G和D,易遭遇模式崩溃和梯度消失。 | 稳定。训练目标是一个简单的回归损失(预测噪声),训练过程更可靠、可重复。 |
| 采样速度 | 极快。单次前向传播即可生成样本。 | 缓慢。生成一个样本需要多次(如50-1000次)串行的去噪步骤。 |
| 样本质量 | 高保真度,但多样性可能不足。尤其在生成图像上,细节锐利,但易受模式崩溃影响。 | 高保真度与高多样性。通常能产生多样性极好且质量很高的样本,但有时可能略显平滑。 |
| 模式覆盖 | 不保证。由于模式崩溃,可能无法覆盖整个数据分布。 | 理论上保证。由于目标是最大化似然,倾向于覆盖所有数据模式。 |
| 评估指标 | 依赖FID, IS等。 | 可使用负对数似然(NLL)等理论坚实的指标。 |
| 主要挑战 | 训练不稳定性、模式崩溃、评估困难。 | 采样速度慢、似然-质量权衡(似然高的模型生成质量不一定最好)。 |
总结与趋势
- GAN 的优势在于其采样速度和曾经在图像生成领域无人能及的锐利度。它更类似于一种“艺术家”,通过直觉和对抗快速产生惊艳的结果,但过程可能难以控制。
- 扩散模型 的优势在于其训练稳定性、理论完备性和卓越的多样性。它更像一位“工匠”,通过一步步严谨的步骤雕琢出样本。其缓慢的采样过程正通过蒸馏技术和更先进的采样器(如DDIM, DPM-Solver)得到显著改善。
目前,扩散模型已成为生成式AI领域的主流范式,特别是在文生图等条件生成任务中展现出强大能力。然而,GAN在需要实时生成的应用中(如风格迁移、实时滤镜)仍具价值。二者的融合(如将扩散模型作为GAN的生成器)也是未来的重要探索方向。理解二者的核心差异与优劣,是选择和运用生成式模型的关键。
更多推荐
所有评论(0)