生成模型巡礼:从马尔可夫链到扩散模型的百年征途
当你敲下“一只戴着宇航头盔的柯基犬,在霓虹灯闪烁的赛博朋克城市屋顶上仰望星空”这样荒诞又具体的指令,几秒钟后,一张细节饱满、光影逼真的图像便呈现在眼前。这不再是魔法,而是生成式人工智能的日常。然而,这场“幻觉”的制造,并非一蹴而就的奇迹,而是一条蜿蜒曲折、充满智慧闪光的技术征途。从本世纪初的 statistical learning(统计学习)萌芽,到如今 diffusion model(扩散模型)统治艺术创作,这条路上充满了范式转换的戏剧性转折:有的模型如流星般划过却留下永恒启迪,有的则厚积薄发最终定义时代。本章,我们将拨开历史的云雾,巡礼生成模型的百年演变,核心目标不是罗列名词,而是理解那些驱动范式更替的根本思想——是像“接龙”一样逐点构建(自回归),还是像“ sculptor from a block”(从整块石头中雕刻)般在潜在空间操作(VAE),或是引入“ adversarial judge”(对抗裁判)的GAN,亦或是“从混沌中逐步归序”的扩散模型?我们将通过时间线、核心公式与经典案例,看清这些思想如何塑造了今天AI的创造力。
早期奠基:马尔可夫链与能量模型的曙光
生成式模型的灵魂,在于学习数据的分布并从中采样。这个最朴素的想法,在计算机诞生前就已根植于概率论。20世纪初,安德雷·马尔可夫(Andrey Markov)提出的马尔可夫链(Markov Chain),便是最早的“生成”雏形。其核心假设是“无记忆性”:下一个状态只依赖于当前状态。用今天的话说,就是条件概率只取决于最近的一步:$P(X_{t+1} | X_t, X_{t-1}, ...) = P(X_{t+1} | X_t)$。想象一个简单的文本生成器,它只知道上一个词是什么,然后根据词频表“接龙”。这当然无法产生有意义的段落,但它建立了状态转移这一生成模型的基本操作框架。在图像领域,一个一维马尔可夫链可以沿着图像的一行或一列生成像素,但二维图像的全局依赖它无法捕捉。尽管如此,马尔可夫链的思想——通过局部规则模拟整体——如同一粒种子,埋在了后续所有模型的土壤里。
真正将“能量”概念引入生成建模的,是统计物理的跨界启发。1980年代,玻尔兹曼机(Boltzmann Machine) 及其简化版受限玻尔兹曼机(Restricted Boltzmann Machine, RBM) 横空出世。它不再满足于简单的状态转移,而是为每一个可能的配置(比如一张二值图像)定义一个能量(Energy) $E(\mathbf{x}; \theta)$。数据分布被定义为这个能量函数的玻尔兹曼分布:$P(\mathbf{x}) = \frac{e^{-E(\mathbf{x})}}{Z}$,其中 $Z$ 是难以计算的配分函数(partition function)。训练的目标,就是让训练数据的能量尽可能低(更可能被采样到),而噪声数据的能量高。RBM通过引入可见层与隐藏层、并限制层内无连接,使得对比散度(Contrastive Divergence, CD) 等近似学习算法成为可能。
RBM的历史地位怎么强调都不为过。在深度学习“冬天”即将结束的2006年,杰弗里·辛顿(Geoffrey Hinton)团队利用RBM进行逐层预训练(Layer-wise Pre-training),成功训练了深层的神经网络,为深度学习的复兴点燃了第一簇火苗。RBM像一个“特征提取器”,从手写数字(MNIST)或人脸数据中学习到有意义的隐藏表示。然而,RBM的生成过程需要通过吉布斯采样(Gibbs Sampling) 在可见层和隐藏层之间反复迭代,速度慢且不稳定。它更像一个伟大的理论桥梁,连接了统计物理与机器学习,却并未直接走向大规模图像生成的舞台中央。它的核心遗产是基于能量的模型(Energy-Based Model, EBM) 思想,这一思想在扩散模型中以一种更高效的形式获得了重生。
精确的代价:自回归模型的“接龙”艺术
如果说RBM是含蓄的诗人,那么自回归模型(Autoregressive Model) 就是严谨的工匠,它遵循着最直观的生成逻辑:一个接一个地生成。其核心是将高维数据 $\mathbf{x}$ 的联合概率分布,分解为一系列条件概率的乘积: $$P(\mathbf{x}) = \prod_{i=1}^{n} P(x_i | \mathbf{x}_{<i})$$ 其中 $\mathbf{x}_{<i}$ 代表所有已生成的前 $i-1$ 个元素(像素、token或音频采样点)。这个公式朴素得近乎完美:只要我能精准预测下一个元素是什么,我就能串起整个序列。
2016年,DeepMind的PixelCNN 将这一思想完美应用于图像生成。它使用因果卷积(causal convolution)或掩码卷积,确保在预测当前像素时,只能看到其左方和上方的像素(即已生成部分),严格满足自回归条件。PixelCNN++ 进一步引入了离散化logistic mixture likelihood,显著提升了生成质量。它的优势是能够精确计算数据的似然(likelihood) $P(\mathbf{x})$,这意味着我们可以直接评估模型的好坏,并进行严格的理论分析。然而,代价是采样速度极慢:生成一张32x32的图像需要逐像素生成1024步,每一步都需一次完整的前向传播。对于高分辨率图像,这成为不可承受之重。
几乎同一时期,DeepMind的WaveNet 将自回归模型推向了音频生成的巅峰。它采用扩张因果卷积(dilated causal convolution),在保持因果性的同时,极大地扩展了感受野,让模型能捕捉音频信号中长距离的时序依赖。WaveNet生成的语音和人声,在自然度上首次超越了传统参数合成与拼接合成,证明了自回归模型在精细、高维序列数据上的强大威力。它的慢速同样致命,但音频是流式数据,可以接受一定的延迟,且其生成质量无可替代。
自回归模型家族(包括后续用于文本的GPT系列,其本质也是自回归语言模型)树立了一个标杆:通过精确的似然优化,实现高质量的序列建模。但“逐点生成”的固有缺陷,使其在需要快速、大规模图像生成的场景中力不从心。研究者们开始追问:能否像人类艺术家一样,先有个“整体构思”,再细化?这个追问,引向了 latent space(潜在空间)的探索。
潜在空间的魔术:变分自编码器的重构与解耦
变分自编码器(Variational Autoencoder, VAE) 在2013年的横空出世,标志着生成建模从“在数据空间操作”转向了“在潜在空间操作”的范式革命。其思想精妙而优雅:我们不想直接学习复杂的数据分布 $P(\mathbf{x})$,而是学习一个简单的先验分布(如标准正态分布 $\mathcal{N}(0, I)$)到复杂后验分布 $P(\mathbf{z}|\mathbf{x})$ 的映射,其中 $\mathbf{z}$ 是低维的潜在变量。
VAE的核心是变分推断(Variational Inference)。由于后验分布 $P(\mathbf{z}|\mathbf{x})$ 通常难以计算,我们用一个简单的、可参数化的分布 $Q(\mathbf{z}|\mathbf{x})$(如高斯分布)去近似它。训练目标不再是最大化数据的似然 $\log P(\mathbf{x})$,而是最大化证据下界(Evidence Lower Bound, ELBO): $$\log P(\mathbf{x}) \geq \mathbb{E}_{Q(\mathbf{z}|\mathbf{x})}[\log P(\mathbf{x}|\mathbf{z})] - D_{KL}(Q(\mathbf{z}|\mathbf{x}) || P(\mathbf{z})) = \text{ELBO}$$ 第一项是重构损失,确保从潜在变量 $\mathbf{z}$ 能重建出原始数据 $\mathbf{x}$;第二项是KL散度,约束近似后验 $Q(\mathbf{z}|\mathbf{x})$ 不要偏离先验 $P(\mathbf{z})$ 太远。ELBO是一个可微的、可优化的目标函数。
VAE的生成过程因此变得极其高效:先从先验 $P(\mathbf{z})$ 中采样一个 $\mathbf{z}$,再通过解码器 $P(\mathbf{x}|\mathbf{z})$ 直接生成一张完整的图像。这实现了“先构思(采一个潜在码),再创作(解码成图)”的梦想。更重要的是,潜在空间 $\mathbf{z}$ 变得连续且解耦:在潜在空间中线性插值,往往能得到语义平滑过渡的图像(比如人脸从微笑到皱眉)。VAE首次让机器拥有了“想象”和“操纵概念”的能力。
然而,VAE的“平滑”特性也是其双刃剑。为了优化ELBO,解码器倾向于产生模糊的、平均化的结果,因为它必须对潜在变量的不确定性负责。生成的图像往往缺乏自回归模型或GAN那样的锐利细节和纹理。研究者们尝试了无数改进:更复杂的后验分布(VQ-VAE用离散编码)、更强大的解码器( PixelCNN作为解码器)、更宽松的ELBO约束(β-VAE, FreeBits)等,但“模糊”问题始终如影随形。VAE证明了潜在空间路径的可行性,却未能抵达高质量生成的彼岸。它留下了一个关键问题:如何既拥有VAE高效采样的优点,又能获得GAN般清晰的生成结果? 这个问题,催生了下一场革命。
对抗的黎明:GAN的博弈艺术与模式崩溃谜题
2014年,伊恩·古德费洛(Ian Goodfellow)等人的论文《Generative Adversarial Networks》如同一颗投入平静湖面的石子,激起了至今未平的涟漪。GAN完全抛弃了似然最大化或变分推断的框架,引入了一种基于博弈论的、全新的训练范式:对抗训练(Adversarial Training)。
GAN框架简洁而深刻:它同时训练两个网络——生成器(Generator) $G$ 和判别器(Discriminator) $D$。
- 生成器 $G(\mathbf{z})$ 接收一个随机噪声 $\mathbf{z}$(通常来自简单先验,如高斯或均匀分布),输出一个“假”样本 $G(\mathbf{z})$,目标是骗过判别器。
- 判别器 $D(\mathbf{x})$ 接收一个样本(可能是真实的 $\mathbf{x}$,也可能是生成的 $G(\mathbf{z})$),输出一个标量,表示其为真的概率。
二者的目标函数构成一个极小极大博弈(Minimax Game): $$\min_G \max_D V(D, G) = \mathbb{E}_{\mathbf{x} \sim p_{data}}[\log D(\mathbf{x})] + \mathbb{E}_{\mathbf{z} \sim p_{\mathbf{z}}}[\log(1 - D(G(\mathbf{z})))]$$ 训练过程交替进行:固定 $G$,更新 $D$ 以最大化区分真假的能力;固定 $D$,更新 $G$ 以最小化 $\log(1 - D(G(\mathbf{z})))$,即让生成的样本被 $D$ 判定为真的概率最大化。
这个框架的绝妙之处在于,判别器 $D$ 本身成为了一个动态的、不断演化的“质量评估者”。它不像VAE那样用一个固定的重构损失来指导生成,而是提供了一个与人类感知(至少是区分能力)紧密相关的、可微的损失信号。理论上,当博弈达到纳什均衡时,生成器 $G$ 将完美复现数据分布,判别器对所有样本的判别概率均为0.5(完全无法区分)。
GAN迅速展现出惊人的威力。2014年的MNIST手写数字生成就已相当清晰。随后的几年,StyleGAN系列将GAN推向了艺术的巅峰。它通过渐进式生成、映射网络将噪声 $\mathbf{z}$ 映射到中间潜在空间 $W$、以及风格向量(style vector)的注入,实现了对生成图像语义和细节的精细控制。你可以在潜在空间中“混合”两个向量,得到兼具两人面部特征的、过渡自然的新面孔;也可以手动调节风格强度,控制发色、光照、背景等不同层次的属性。StyleGAN2、StyleGAN3 在稳定性和细节上不断突破,其生成的“不存在的人脸”几乎以假乱真,成为AI艺术最具标志性的成果。
然而,GAN的辉煌始终伴随着一个幽灵:模式崩溃(Mode Collapse)。当生成器发现某个或某几个“安全”的样本总能骗过判别器时,它就会反复生成这些样本,导致多样性丧失。生成结果可能只有几种姿态、几种发型。模式崩溃的根源在于博弈的动态不稳定性:判别器与生成器的更新步调难以完美匹配,判别器过强会导致生成器梯度消失,过弱则失去指导意义。训练GAN需要大量的技巧和“玄学”(如特定的学习率、正则化、数据预处理),其理论分析也远比VAE或自回归模型复杂。
GAN证明了:一个精心设计的、可微的损失函数,即使不直接对应概率密度,也能驱动生成模型达到前所未有的视觉质量。但它也暴露了纯对抗框架的脆弱性。学界开始思考:能否找到一种更稳定、理论上更坚实的训练目标,同时继承GAN高质量生成的优点?答案,来自一个意想不到的领域:非平衡统计物理。
逆熵的征途:扩散模型的物理启明与数学统一
扩散模型(Diffusion Model)的思想,最初源于2015年的一篇论文《Deep Unsupervised Learning using Nonequilibrium Thermodynamics》,它借用非平衡统计物理中的“扩散”过程来定义生成。其核心思想朴素得惊人:先向数据逐步添加高斯噪声,直到其完全变成噪声;再训练一个神经网络,学习从噪声中逐步去噪,还原数据。
整个过程分为两个马尔可夫链: 1. 前向过程(Forward Process):给定一个真实数据 $\mathbf{x}_0$,在 $T$ 步内逐步添加噪声,得到噪声 $\mathbf{x}_T$。这是一个固定的、无需学习的马尔可夫链: $$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$ 是噪声调度(noise schedule)的小常数。可以证明,在任意时刻 $t$,$\mathbf{x}_t$ 都可以表示为 $\mathbf{x}_0$ 的封闭形式:$\mathbf{x}_t = \sqrt{\bar{\alpha}_t} \mathbf{x}_0 + \sqrt{1-\bar{\alpha}_t} \boldsymbol{\epsilon}$,其中 $\boldsymbol{\epsilon} \sim \mathcal{N}(0, I)$,$\bar{\alpha}_t = \prod_{s=1}^t (1-\beta_s)$。这意味着我们可以轻松地从任意数据点 $\mathbf{x}_0$ 得到任意噪声程度 $\mathbf{x}_t$ 的样本。
2. 反向过程(Reverse Process):这是需要学习的关键。我们希望定义一个参数化的马尔可夫链,从纯噪声 $\mathbf{x}_T \sim \mathcal{N}(0, I)$ 开始,逐步去噪,最终得到真实数据分布 $p_\theta(\mathbf{x}_0)$: $$p_\theta(\mathbf{x}_{0:T}) = p(\mathbf{x}_T) \prod_{t=1}^T p_\theta(\mathbf{x}_{t-1} | \mathbf{x}_t)$$ 其中,每一步的条件分布被参数化为高斯分布: $$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))$$ 神经网络的使命,就是预测出均值 $\boldsymbol{\mu}_\theta(\mathbf{x}_t, t)$。一个关键而优美的设定是,如果我们也假设反向过程的方差 $\boldsymbol{\Sigma}_\theta(\mathbf{x}_t, t)$ 是固定的(例如等于前向过程的方差 $\beta_t$ 或其函数),那么训练目标可以简化为预测前向过程中添加的噪声 $\boldsymbol{\epsilon}$。具体地,我们用神经网络 $\boldsymbol{\epsilon}_\theta(\mathbf{x}_t, t)$ 来预测 $\mathbf{x}_t$ 中的噪声成分,损失函数是简单的均方误差(MSE): $$\mathcal{L}_{simple} = \mathbb{E}_{t, \mathbf{x}_0, \boldsymbol{\epsilon}} [ \| \boldsymbol{\epsilon} - \boldsymbol{\epsilon}_\theta(\mathbf{x}_t, t) \|_2^2 ]$$ 其中 $t$ 从 $1$ 到 $T$ 均匀采样,$\mathbf{x}_t = \sqrt{\bar{\alpha}_t} \mathbf{x}_0 + \sqrt{1-\bar{\alpha}_t} \boldsymbol{\epsilon}$。这个损失函数极其稳定、易于优化,没有任何博弈成分。
从概率论角度看,训练扩散模型等价于学习分数匹配(Score Matching)。数据的对数概率密度的梯度 $\nabla_{\mathbf{x}} \log p(\mathbf{x})$ 被称为分数(Score)。添加噪声后的数据分布 $p(\mathbf{x}_t)$ 的分数,比原始数据 $p(\mathbf{x}_0)$ 的分数更平滑、更易学习。扩散模型训练一个网络 $\boldsymbol{\epsilon}_\theta(\mathbf{x}_t, t)$ 来估计噪声,而这恰好与分数函数 $\nabla_{\mathbf{x}_t} \log q(\mathbf{x}_t)$ 成比例(通过Tweedie公式)。因此,扩散模型可以看作是一种基于噪声扰动的、实践上可行的分数匹配方法。这一视角(由Yang Son