第17章 生成模型的发展脉络
本章核心问题
机器学习为什么不能只停留在“识别和判别”上,而必须进一步学习数据本身是如何生成的?
更具体地说,本章要回答:判别建模与生成建模在数学目标上有何根本差异;潜变量模型为何成为生成建模的核心语言;自编码器、变分自编码器与生成对抗网络分别用什么方式逼近复杂数据分布;以及为什么生成建模会从一条辅助路线逐渐发展为后续语言生成与大模型时代的主线之一。
1. 问题背景
到第16章为止,第四编已经沿着一条清晰路线展开:第15章建立了序列建模的统计起点,第16章则把神经表示学习带入时间依赖问题,说明循环神经网络如何用连续隐状态来压缩历史。无论是早期统计序列模型,还是神经序列模型,它们都主要围绕一个核心任务展开:根据已有信息预测当前标签、当前词或下一个观测。换言之,它们主要在做判别、条件预测或局部条件建模。
但机器学习的发展很快表明,这样的任务视角仍然不够。真实智能不仅要求机器回答“这是什么”,还要求它回答“这类数据总体长什么样”“什么样的样本看起来像是真的”“若只给部分信息,剩余部分应如何补全”“能否从潜在结构中重新构造出数据”。也就是说,学习不应只停留在从输入到标签的映射上,还应进入“数据分布本身如何被表示、被近似、被采样”的层面。
从全书主线看,这一步有着很深的意义。第三编已经把“表示学习”确立为核心主题,而生成模型则进一步把问题推进到:“表示不仅要服务于判别,还要服务于重构、采样与想象。”当模型开始学习如何生成数据时,它实际上被迫更深入地触及数据内部结构,而不是只学习任务边界附近的局部判别规则。
早期生成思想并非完全缺席。第15章中的 HMM 本身已经是一种带有潜在状态的生成模型,因为它描述的是“隐藏状态如何生成观测序列”。但随着图像、语音和高维连续数据的复杂度上升,传统离散潜变量模型的表达能力显得不够。于是,研究者开始探索新的生成路线:一类路线是通过编码和解码机制学习低维潜在表示,再从潜在空间重构数据;另一类路线是直接让模型学习如何“伪造”足够真实的样本,并通过对抗方式逐步逼近真实分布。
因此,第17章的任务,不只是列举若干流行生成模型,而是要把“学习分布”这一思想写成清晰的数学演进。它一方面承接前面几章已经出现的潜变量、表示学习和序列建模思想,另一方面也为后面的语言生成、大语言模型与自监督预训练奠定背景。因为一旦“生成数据”本身成为学习目标,机器学习的重心就会开始从任务特定判别,逐渐转向更通用的世界建模与分布建模。
2. 数学原理
2.1 判别建模与生成建模的根本区别
设输入为 $x$,标签为 $y$。在判别建模中,模型主要关心条件分布
也就是在给定输入 $x$ 时,输出 $y$ 的条件概率。Logistic 回归、softmax 分类器、卷积分类网络和大部分监督模型,本质上都在优化这类条件关系。
而在生成建模中,模型更关心的是数据本身的分布结构。例如,对无标签数据 $x$,生成模型试图学习
或者更一般地学习联合分布
其中 $z$ 表示潜变量。这里的关键差别在于:判别模型只需要学会“如何区分或预测”,而生成模型必须学会“什么样的样本才像来自真实数据分布”。
这种差别不仅是目标不同,也意味着学习难度不同。学习 $P(y\mid x)$ 时,模型可以把许多与判别无关的输入细节忽略掉;而学习 $P(x)$ 时,模型必须面对数据分布的全部复杂性。正因为如此,生成建模通常更难,但它也更有可能迫使模型学到更丰富的内部结构。
2.2 潜变量模型为何如此重要
对于高维数据,直接显式写出复杂分布 $P(x)$ 往往十分困难。一个自然思路,是引入潜变量
其中 $\mathcal Z$ 表示某个潜在空间。然后把数据分布写成边缘化形式
这里 $P(z)$ 表示潜变量先验分布,$P(x\mid z)$ 表示给定潜变量时生成数据的条件分布。这个公式的含义是:观测数据 $x$ 可以被看作由某个更低维、更加抽象的潜变量 $z$ 通过某种生成机制产生出来。
这一写法非常重要,因为它把“复杂数据分布”拆成了两部分。第一部分是潜在空间上的简单结构,第二部分是从潜变量到观测的生成映射。若潜在空间组织得足够好,那么学习复杂高维数据分布就可以转化为:学习一个好的潜在表示,以及一个从潜在表示到观测空间的解码机制。
因此,潜变量模型在生成建模中的地位,与第三编中表示学习的地位高度一致。它们都体现同一个思想:复杂观测往往来自更简单、更抽象的内部结构。
2.3 自编码器为什么不是纯粹生成模型
最直观的潜在表示学习结构之一,是自编码器。设编码器写成
其中 $f_\phi$ 表示由参数 $\phi$ 决定的编码映射,$z$ 是输入 $x$ 的潜在表示;解码器写成
其中 $g_\theta$ 表示由参数 $\theta$ 决定的解码映射,$\hat x$ 表示重构结果。最常见的训练目标是最小化重构误差:
这里 $\ell(\cdot,\cdot)$ 表示重构损失,例如平方损失或逐像素交叉熵。
自编码器的重要性在于,它把“数据应可由低维潜在表示重新构造出来”这一思想明确写成了神经网络结构。但严格说,它还不是完整概率意义上的生成模型。原因在于,普通自编码器主要学的是“如何把已有样本压缩并重构”,却没有显式规定潜变量 $z$ 的概率分布,也没有直接给出如何从某个先验分布中采样再生成新样本的稳定机制。
因此,自编码器更像生成建模的重要前驱:它把潜在表示和解码机制建立起来,却还没有完整解决“如何在潜在空间中定义可采样的概率结构”这一问题。
2.4 变分自编码器如何把重构与概率生成统一起来
变分自编码器(VAE)的关键贡献,是把自编码器的潜在表示学习,推进到明确的概率生成框架中。它假设数据由潜变量 $z$ 生成,并给定先验分布
以及生成模型
于是,数据边缘似然写成
问题在于,这个积分通常难以精确计算,尤其当解码器由神经网络参数化时更是如此。为了绕开这个困难,VAE 再引入一个近似后验分布
其中 $q_\phi(z\mid x)$ 表示编码器给出的变分近似后验。它的意义是:既然真实后验
难算,那么就用一个可学习分布族去近似它。
2.5 ELBO 是如何推导出来的
VAE 的核心数学对象是证据下界(evidence lower bound, ELBO)。它来自对对数似然 $\log p_\theta(x)$ 的重写。先写
这里之所以乘除同一个 $q_\phi(z\mid x)$,是为了把难计算的积分改写成对近似后验分布的期望。然后对数作用在积分外部,应用 Jensen 不等式,可得
把联合分布
代入,就得到
这里第一项
表示重构项,它鼓励潜变量 $z$ 能够解释观测 $x$;第二项
是 KL 散度项,用来约束近似后验不要偏离先验太远。这个目标极其关键,因为它把“重构好样本”和“让潜在空间具有规则概率结构”统一到了同一个优化目标中。
这也是为什么 VAE 比普通自编码器更接近真正生成模型。它不只是学会压缩和重构,还学会了让潜在空间本身具备可采样、可插值的统计结构。
2.6 采样为何需要重参数化技巧
VAE 训练中的另一个关键困难,是目标里含有对随机变量 $z\sim q_\phi(z\mid x)$ 的期望。若直接从这个分布采样,梯度就难以稳定地反传到参数 $\phi$。解决办法是重参数化技巧。若近似后验为高斯分布
其中 $\mu_\phi(x)$ 表示均值向量,$\sigma_\phi(x)$ 表示标准差向量,则可以把采样写成
其中
这个写法的意义是:随机性被移到与参数无关的噪声变量 $\varepsilon$ 上,而参数只通过确定性映射 $\mu_\phi(x),\sigma_\phi(x)$ 进入。于是,梯度就可以通过这条确定性路径传播回编码器参数。这一步使 VAE 不只是一个漂亮的理论目标,而成为真正可训练的神经生成模型。
2.7 GAN 为什么改用对抗目标
另一条极具影响力的生成路线,是生成对抗网络(GAN)。它不再显式最大化似然,也不显式构造后验近似,而是引入两个彼此博弈的网络。生成器记为
其中 $z\sim p(z)$ 是先验噪声,$G_\theta(z)$ 把噪声映射为伪造样本;判别器记为
其中 $D_\psi(x)$ 输出样本 $x$ 来自真实数据的概率估计。
GAN 的基本 min-max 目标写成
这里 $p_{\mathrm{data}}$ 表示真实数据分布。这个目标的含义是:判别器试图把真实样本和生成样本区分开;生成器则试图生成足够真实的样本来欺骗判别器。
GAN 的重要性在于,它把“学习分布”转化为一种判别式对抗过程。与显式似然路线相比,GAN 不一定直接给出密度值,但它可以通过博弈逐步逼近真实数据分布,从而在高维样本生成上表现出很强能力。
2.8 GAN 的分布逼近直觉
从理论上看,若判别器在每一步都能达到最优,则 GAN 的博弈过程可被理解为在推动生成分布
逼近真实分布
更细致的分析会表明,这个目标与某种分布距离或散度最小化有关。即使不展开全部证明,也可以抓住其中最重要的直觉:生成器并不是在拟合单个样本,而是在调整整个样本分布,使其越来越难被判别器与真实数据区分。
这说明 GAN 的核心思想与 VAE 截然不同。VAE 通过显式概率建模和近似推断来组织潜在空间;GAN 则通过生成器和判别器的博弈,把分布学习转化为“能否区分真假样本”的对抗过程。两者都在做生成建模,但路径完全不同。
2.9 生成模型的统一数学主线
把前面几节连起来,可以看出生成模型虽然形式多样,但核心主线相当统一。首先,它们都不满足于学习任务边界,而是试图学习数据本身的分布或生成机制。其次,它们大多借助潜在表示,把复杂高维数据写成由更抽象变量驱动的结果。再次,它们都必须回答两个问题:一是如何定义或逼近数据分布,二是如何从该分布中稳定采样或重构。
因此,无论是自编码器、VAE 还是 GAN,它们的真正意义都不只是“能生成一些图像”,而是把表示学习、潜变量建模、采样和分布逼近统一到同一个框架中。也正因为如此,生成模型会在后续语言生成、预训练模型和大语言模型时代重新以更大规模的形式出现。
3. 代表模型或算法
3.1 自编码器
自编码器是最直接的潜在表示学习模型。结构上,它由编码器和解码器组成;训练方式上,通常通过最小化输入与重构输出之间的误差来学习参数;推理方式上,则先把输入压缩到潜在空间,再由潜在表示恢复或近似恢复原始数据。
它在本章中的典型性在于:它最早清楚展示了“数据可以通过一个中间潜在表示被压缩并重构”这一生成建模思想。虽然它还不是完整概率生成模型,但它为后续 VAE 奠定了直接结构基础。
3.2 变分自编码器
VAE 是生成模型发展中的关键代表。结构上,它由近似后验编码器和概率解码器组成;训练方式上,通过最大化 ELBO 同时平衡重构质量与潜在分布规则性;推理方式上,则既可以对给定样本做编码与重构,也可以从先验 $p(z)$ 中采样后通过解码器生成新样本。
它在本章中的典型性非常强,因为它最完整地展示了“潜变量建模 + 近似推断 + 神经网络参数化”如何结合成现代生成模型。
3.3 生成对抗网络
GAN 是另一条极具代表性的路线。结构上,它由生成器和判别器组成;训练方式上,通过二者的对抗优化逐步逼近真实数据分布;推理方式上,则从先验噪声采样,再经过生成器输出样本。
它在本章中的典型性,在于它说明生成建模并不必然依赖显式似然和后验推断,也可以通过分布层面的对抗学习达到强大的样本生成能力。
4. 典型应用
4.1 图像生成
图像生成是生成模型最直观的应用之一。目标不是给图像打标签,而是从模型中采样出新的、看起来像真实图像的数据。数学上,这对应于学习图像分布
或其潜变量形式
在这个应用中,VAE 的潜变量 $z$ 可以对应风格、形状或高层内容因素,解码器则负责把这些潜在因素变成像素空间样本;GAN 则通过生成器直接把噪声映射成图像,并借助判别器不断提高样本逼真度。也就是说,图像生成的核心不在于“画出一张图”,而在于本章的数学对象如何落地:潜变量对应抽象生成因素,解码器或生成器对应从潜在空间到观测空间的生成映射,分布逼近对应“样本看起来像真实数据”的统计要求。
4.2 数据重建与缺失补全
在数据重建任务中,模型需要从压缩表示或残缺输入中恢复原始数据。这一任务与自编码器和 VAE 的结构高度一致。若输入为 $x$,编码器先把它映射为
再由解码器输出
这里本章的数学内容与应用一一对应得非常清楚:重构损失对应“恢复得是否准确”,潜在变量对应“数据内部更紧凑的低维组织方式”,而概率解码器则对应“不确定补全结果的分布式表达”。因此,数据重建并不是生成模型的附属用途,而是其核心思想最直接的现实体现。
4.3 风格迁移与潜在空间操作
在风格迁移和潜在空间编辑任务中,人们关心的不只是生成样本,而是能否在潜在表示中对某些因素进行控制,再把修改后的潜变量解码回观测空间。这样的任务之所以可能,正是因为生成模型试图让潜变量 $z$ 承载某种可解释的内部结构。
从数学上看,这类应用依赖的正是潜变量模型
的可操作性。若不同 $z$ 区域对应不同风格、姿态或内容,那么在潜在空间中的平滑移动就可能对应观测空间中的有意义变化。因此,风格迁移中的“编辑”能力,实际上正是本章潜变量建模思想在应用层面最有表现力的结果之一。
4.4 表示学习
生成模型的重要作用并不只在于生成样本,还在于促进更好的表示学习。因为若模型必须学会如何重构或生成数据,它往往就被迫提取比单纯判别更完整的内部结构。VAE 的编码器输出、对抗训练中的中间判别特征,常常都能作为有价值的表示。
这与本章数学主线高度一致。生成目标迫使模型不仅学习
而要触及
或潜变量结构本身。也就是说,表示学习之所以会受益于生成模型,不是因为“顺便学到了向量”,而是因为生成目标要求模型更深入地接触数据分布的内部组织方式。
5. 局限性与历史转折
生成模型虽然极大拓展了机器学习的视野,但它们的困难也同样突出。首先,显式生成模型常面临似然计算困难、后验不可解和近似推断偏差等问题。VAE 虽然用 ELBO 把问题变得可训练,却也可能出现样本模糊、后验塌缩和潜变量利用不足等现象。其次,GAN 虽然在样本逼真度上表现极强,但训练往往不稳定,容易出现模式崩塌、判别器与生成器失衡等问题。
其次,生成质量、可控性与训练稳定性之间长期存在张力。有些模型更适合稳定优化,却牺牲样本锐利度;有些模型生成样本极具视觉冲击力,却难以给出清晰的概率解释。换言之,生成建模虽然已经成为核心方向,但距离“既稳定、又可控、又可扩展”的统一方案仍有距离。
然而,正是这些探索奠定了更深远的背景。生成模型把“学习数据分布本身”提升为中心目标,也使潜变量、采样、重构、分布逼近这些思想逐渐成为后续大规模语言生成和预训练模型的共同语言。一旦生成不再只是图像领域的特殊兴趣,而成为更一般的序列和文本建模目标,机器学习的发展重心就会进一步转向语言生成。
因此,本章虽然主要讨论图像和一般高维数据上的生成建模,但它真正的历史意义,是为后面的语言生成、大规模预训练和大语言模型铺设概念基础。后续章节将继续回答:当生成对象变成符号序列和自然语言时,生成建模又会如何演化。
6. 本章小结
本章讨论了生成模型如何把机器学习从“判别边界学习”推进到“数据分布学习”。核心结论是:生成建模不再只关心标签预测,而是试图学习样本本身的概率结构;潜变量模型、自编码器、VAE 和 GAN 分别代表了不同的生成路线,它们共同把表示学习、分布逼近与采样机制统一到了同一框架中。
它在 AI 发展史上的意义,在于把“学习世界如何生成数据”正式确立为机器学习的重要目标。也正因为如此,生成模型不只是图像领域的分支技术,而是后续语言生成、预训练语言模型与大语言模型时代的一条关键思想前史。
关键公式
关键概念
- 生成模型
- 判别建模
- 潜变量
- 自编码器
- 变分自编码器
- ELBO
- 生成对抗网络
- 采样