生成模型旨在学习数据集的潜在概率分布 p(x)。一旦学习到这个分布,模型就能生成新的数据样本 xnew,这些样本似乎来自与原始数据相同的分布。可以想象生成逼真的图像、创作音乐或创建合成文本。在关注扩散模型之前,简要介绍两种主要的生成模型类别:变分自编码器(VAEs)和生成对抗网络(GANs)。了解它们的方法有助于理解扩散模型的发展及其优势。
变分自编码器(VAEs)
VAEs 基于概率图模型和变分推断的原理。它们包含两个主要组成部分,通常实现为神经网络:
- 编码器(识别模型): 该网络,常表示为 qϕ(z∣x),接收输入数据点 x,并将其映射到低维潜在空间 z 中的一个分布。通常,该分布被参数化为一个高斯分布,带有均值 μ(x) 和方差 σ2(x)。编码器不直接输出潜在空间中的单个点,而是输出一个概率分布的参数,我们可以从中采样得到潜在向量 z。
- 解码器(生成模型): 该网络,pθ(x∣z),接收从编码器提供的分布中采样得到的潜在向量 z(或在生成过程中从先验分布 p(z) 中采样),并重建原始数据点 x。其目的是将潜在空间中的点映射回数据空间。
变分自编码器结构图示。
VAE 的训练目标是通过最大化数据对数似然 logp(x) 的证据下界(ELBO)来确定的。此目标通常包含两项:
- 重建损失: 衡量解码器在编码和解码后重建输入数据的效果。对于连续数据,常实现为均方误差(MSE);对于二元数据,则为二元交叉熵(BCE)。这促使 pθ(x∣z) 在给定从 x 获得的潜在表示 z 的情况下,生成与输入 x 相似的输出。
- KL 散度正则项: 衡量编码器的输出分布 qϕ(z∣x) 与预定义的潜在变量先验分布(通常是标准高斯分布 p(z)=N(0,I))之间的差异。此项充当正则化器,促使编码器将潜在表示平滑地分布在原点附近,从而有助于在生成过程中采样新点。
ELBO 的公式如下:
LELBO(x;θ,ϕ)=Ez∼qϕ(z∣x)[logpθ(x∣z)]−DKL(qϕ(z∣x)∣∣p(z))
VAEs 通常以训练稳定和学习到平滑、有意义的潜在空间而闻名,对点进行插值通常会在生成数据中产生连贯的过渡。然而,与原始数据或 GAN 等其他方法生成的样本相比,它们有时会生成看起来模糊的样本。这种模糊性部分归因于重建损失(如 MSE)的性质和高斯假设。
生成对抗网络(GANs)
GANs 采用一种基于博弈论的不同方法。它们包含两个通过竞争方式训练的神经网络:
- 生成器(G): 该网络接收一个随机噪声向量 z(通常从高斯分布或均匀分布等简单分布中采样)作为输入,并尝试生成看起来与真实数据无法区分的数据 x^=G(z)。
- 判别器(D): 该网络充当分类器。它接收来自训练集的真实数据样本 x 或来自生成器的虚假样本 x^,并尝试判断输入是真实还是虚假。它输出一个概率 D(x),表示输入 x 为真实的似然。
生成对抗网络的结构和对抗训练过程图示。
训练过程是一场对抗游戏:
- 判别器被训练以最大化其正确分类真实和虚假样本的能力。它希望最大化真实样本 x 的 D(x),并最小化虚假样本的 D(G(z))(即最大化 1−D(G(z)))。
- 生成器被训练以最小化判别器检测其虚假样本的能力。它希望最大化 D(G(z)),从而有效欺骗判别器,使其认为生成的样本是真实的。
这导致一个最小最大目标函数:
GminDmaxV(D,G)=Ex∼pdata(x)[logD(x)]+Ez∼pz(z)[log(1−D(G(z)))]
GANs 因其生成清晰、高度逼真样本的能力而备受赞誉,特别是在图像生成任务中。然而,它们的训练动态可能不稳定。模式崩溃(即生成器仅产生有限种类的样本)和收敛困难是常见难题。在训练过程中寻找生成器和判别器之间的适当平衡,需要仔细调整架构、超参数和损失函数。
为扩散模型奠定基础
VAE 和 GAN 都代表着生成模型方面的重要进展,各自拥有优势和不足。VAE 提供稳定的训练和结构良好的潜在空间,但有时样本清晰度不足。GAN 能够生成清晰的样本,但训练可能很困难,并可能面临模式崩溃问题。
扩散模型是本课程的重点,提供了一种替代的概率方法。它们旨在通过逐步将数据转换为噪声,然后学习反向过程,来同时实现高样本质量和稳定训练。这种受非平衡热力学启发的迭代优化过程,为建模复杂数据分布提供了一种不同的机制,常能在图像合成和其他领域带来当前最先进的结果。我们将在下一章开始学习此过程的机制。