Skip to content

生成式模型

本页速览 判别模型回答"这是什么",生成模型回答"造一个出来"。本文梳理显式/隐式密度模型谱系,逐个讲清 VAE(ELBO/重参数化)、GAN(对抗博弈/模式坍缩)、扩散模型(DDPM)与自回归生成的原理与关系,并给出选型表。

生成式模型

一句话定义:生成式模型(generative model)学习数据的概率分布,并从中采样出新的、与训练数据同分布的样本——判别模型学"P(标签|数据)",生成模型学"P(数据)"本身。这个目标看起来更抽象,却成就了从图像生成到语言建模的整个生成式 AI 时代,表征学习与预训练里"从生成任务获得表征"的交叉点也在这里。

一、生成任务:从分布采样

给定数据集 X = {x₁,…,x_N},假设它们来自某个未知分布 p_data(x)。生成式建模的目标有二:

  1. 拟合:学一个参数化的 p_θ(x) 逼近 p_data(x)
  2. 采样:能从 p_θ(x) 里抽出新样本(新图像、新文本、新语音)。

为什么"从分布采样"比"分类"难?因为数据空间维度极高(一张 512×512 的图是 78 万维),分布极其复杂("自然图像"只是巨大空间中极薄的一片流形)。生成模型的任务,就是在这片流形上"捏"出合理的点。

无条件 vs 条件生成:无条件生成采样 p(x);条件生成采样 p(x|y)(给定类别/文本提示),当前主流(文生图、文生文)几乎都是条件生成。

二、显式 vs 隐式密度模型

生成模型家族可按"是否显式给出概率密度"分类:

  • 显式密度模型:直接定义可计算的 p_θ(x),用极大似然(最大概率)训练。代表:自回归模型、VAE(近似密度)。
  • 隐式密度模型:不写 p_θ(x),只定义一个能从它采样的变换(生成器)。代表:GAN。
  • 扩散模型:介于两者之间——定义了一个从噪声到数据的"逐步去噪"过程,用"每一步小高斯"的近似密度训练,属于显式但似然难精确计算的类型。

这个谱系决定了各自的训练目标与评估方式(NLL 能否计算、FID 怎么用),详见深度学习评估与实验的生成模型评估一节。

三、VAE:隐变量、ELBO 与重参数化

**变分自编码器(Variational Autoencoder, VAE;Kingma & Welling, 2013)**引入一个低维隐变量 z,假设 xz 生成:p_θ(x) = ∫p_θ(x|z)p(z)dz。这个积分不可计算,于是变分法登场:

  • 用一个编码器 q_φ(z|x) 逼近真实后验 p(z|x)
  • 优化目标的推导结果是 ELBO(证据下界)
log p(x) ≥ E_{z~q}[log p(x|z)] − KL(q(z|x) ‖ p(z))

两项各司其职:第一项是重建误差(解码器把 z 还原成 x 要像);第二项是正则项(让 q 逼近先验 p(z),保证隐空间连续、可采样)。

重参数化技巧(reparameterization trick)q(z|x) 的采样不可导(无法反向传播),于是改写为 z = μ + σ⊙ε, ε~N(0,I)——把随机性从参数路径上"绕开",梯度就能流过 μ、σ(这正是反向传播与自动微分里计算图的可微性设计)。

VAE 的定位:似然可算(可评估 NLL)、隐空间有结构(可做插值/操控)、训练稳定,但生成样本有"糊"的倾向(高斯解码器 + 均方重建误差天然模糊)。

四、GAN:对抗博弈与模式坍缩

**生成对抗网络(GAN;Goodfellow et al., 2014)**引入博弈:生成器 G 把噪声 z 变成假样本,判别器 D 判断样本真假。两者对抗训练:

min_G max_D  E[log D(x)] + E[log(1 − D(G(z)))]
  • D 的目标:分清真假(max 部分)。
  • G 的目标:骗过 D(min 部分)。
  • 理论均衡点:p_G = p_data,此时 D 只能瞎猜(概率 0.5)。

两个著名顽疾:

  • 训练不稳定:双方都是动态更新的"敌人",D 太强则 G 梯度消失,G 太强则 D 失去意义。工程对策:不同的学习率(两时间尺度更新 TTUR,见优化与梯度下降)、梯度惩罚(WGAN-GP)、谱归一化。
  • 模式坍缩(mode collapse):G 只学会生成少数几个"骗过 D 的样本",多样性尽失。对策:改进的损失、minibatch 判别、多样性惩罚。

GAN 的定位:生成质量高、推理快(一步生成),但训练难、没有密度、难以收敛到覆盖全部模式。详见VAE 与 GAN

五、扩散模型:前向加噪、反向去噪与 DDPM

扩散模型(Sohl-Dickstein 2015 提出思想;DDPM,Ho et al. 2020 使之可用)从另一个角度定义生成:

  • 前向过程:把数据逐步加高斯噪声(x₀→x₁→…→x_T),T 步后近似纯噪声。这个过程的分布已知、闭式可算。
  • 反向过程:学习一个网络逐步去噪(x_T→…→x₀),每步只预测"加进去的噪声"(或均值),网络输出就是最终样本。

DDPM 的核心技巧:

  1. 前向闭式解x_t = √ᾱ_t·x₀ + √(1−ᾱ_t)·ε,任意 t 步的状态一步可得,无需模拟。
  2. 训练目标极简L = ‖ε − ε_θ(x_t, t)‖²——网络预测加入的噪声,均方误差即可。
  3. 采样逐步:从 x_T~N(0,I) 开始迭代去噪 T 步(T 通常上千,后来 DDIM 等把采样步数压缩到几十)。

扩散模型在图像上质量与多样性双优(超过 GAN),成就了 Stable Diffusion 等文生图系统;它与 VAE 的组合(LDM 在隐空间扩散)更是工程常态。代价是采样慢(迭代式)推理成本高。完整脉络见扩散模型与生成式 AI

六、自回归生成

**自回归(autoregressive)**生成把序列概率分解成逐 token 的条件概率:

p(x₁,…,x_T) = Π_t p(x_t | x₁,…,x_{t−1})
  • 文本:GPT 系列、"下一个 token 预测",配合注意力机制里的因果掩码。它同时是"语言模型"与"生成模型"。
  • 图像:PixelCNN/PixelRNN 逐像素生成;VQ-VAE 把图像离散化成 token 再自回归。
  • 音频:WaveNet 逐样本点生成(见语音与音频)。

自回归的优势:似然精确可算(天然支持 NLL 评估)、训练稳定;劣势:逐位生成慢(依赖 KV cache 提速,见注意力章节)、长程误差累积

七、评估指标:NLL、FID、IS

生成模型的"好坏"难以一言以蔽之,业界常用三个互补指标:

  • NLL(负对数似然):对显式模型(VAE、自回归)直接算;衡量"拟合精度"。缺点:与"人眼感受"不完全一致(低 NLL 也可能生成模糊图像)。
  • IS(Inception Score, 2016):生成样本经 Inception-v3 分类,看"是否清晰可分类(低类别熵)+ 是否多样(高类别分布熵)"。
  • FID(Fréchet Inception Distance, 2017):真实图与生成图在 Inception 特征空间的两个高斯分布的距离(均值+协方差),比 IS 更敏感地捕捉模糊与模式坍缩,是当前图像生成事实标准。

关键提醒:三类指标各测各的,务必联合使用并配人工评估;指标的定义与坑位详见评估章节。

八、三大生成家族对比与选型

家族训练目标密度可算训练稳定生成质量采样速度代表
VAE变分下界(ELBO)近似可算稳定中(偏糊)快(一步)VAE、VQ-VAE、LDM 编码器
GAN对抗博弈不稳定快(一步)StyleGAN、BigGAN、GAN 变体
扩散逐层去噪(MSE 预测噪声)近似稳定很高慢(迭代)DDPM、Stable Diffusion、Sora
自回归极大似然(逐位)精确可算稳定很高(文本)慢(逐位)GPT、PixelCNN、WaveNet

选型口诀:图像质量优先且要快 → GAN;质量与多样性双优、接受慢采样 → 扩散;需要隐空间语义 + 似然 → VAE;文本/离散序列 → 自回归。现实产品往往是组合:LDM = 扩散 + VAE 的隐空间VQ-GAN = GAN + 自回归的 token 化

权衡与取舍

似然可算性 vs 样本质量:NLL 精确可算的自回归模型,生成文本一流但图像偏慢偏保守;GAN 从不优化似然,样本却极具冲击力。"拟合得好"与"生成得好看"不是一回事

一步采样 vs 迭代采样:一步(VAE/GAN)快但难以覆盖复杂分布;迭代(扩散)稳而慢,DDIM/蒸馏正把迭代步数往下压——"快与好"的鸿沟正在被工程弥合。

训练稳定性 vs 理论完备性:扩散/自回归理论干净、训练稳,代价是采样昂贵;GAN 推理最便宜,代价是训练像走钢丝。选型时要同时看你的推理预算(部署成本见MLOps 与模型部署)与训练团队的技术储备。

生成式模型正在从图像/文本蔓延到视频(Sora 等)、音频、3D 与科学计算,但其谱系——显式/隐式、单步/迭代、离散/连续——仍是理解一切新架构的地图。它与表征学习与预训练损失函数与输出层(NLL/对比损失的交叉)构成完整闭环;再往产品化走一步,就是扩散模型与生成式 AI大语言模型(LLM)

延伸阅读

参考资料