Skip to content

VAE 与 GAN

本页速览 VAE 与 GAN 是深度生成模型的奠基双雄:VAE 以变分推断学隐空间、GAN 以对抗博弈逼真数据。本文拆解重参数化技巧与 ELBO、minimax 博弈与模式坍缩,梳理 DCGAN/WGAN-GP/StyleGAN 改进谱系与条件生成,并对比扩散模型的现状。

VAE 与 GAN

一句话定义:变分自编码器(VAE)与生成对抗网络(GAN)是深度生成模型的两个奠基范式——VAE 通过变分推断学出一个可采样的隐空间,GAN 通过生成器与判别器的对抗博弈学会伪造数据——它们共同撑起了 2014-2021 年"AI 创造内容"的时代,也是生成式模型这一概念页的工程主角。

一、从自编码器到 VAE

自编码器(AE)

自编码器是把输入压进一个瓶颈再重建的"抄写员":编码器 $x \to z$,解码器 $z \to \hat x$,损失是重建误差 $|x - \hat x|^2$。瓶颈让模型被迫丢掉冗余、保留关键信息——于是 $z$ 成为一种表征。但 AE 有个致命缺陷:它学出的隐空间是"碎片化"的——任意两点之间未必连续,随机采样 z 未必能得到像样的 x,所以 AE 只能降维/去噪,不能生成。

VAE 的突破口(2013,Kingma & Welling)

VAE 把 AE 升级为概率模型:让编码器输出隐变量的分布(均值 μ 与方差 σ),而不是一个点。这样隐空间被迫连续平滑:相近的 z 生成相近的 x,随机采样 z 就能得到新样本。

两个核心技术:

  • 重参数化技巧(reparameterization trick):采样 $z = \mu + \sigma \odot \varepsilon$($\varepsilon \sim \mathcal{N}(0, I)$)。把"采样"这个不可导操作,变成"从固定噪声变换而来"——这样梯度能穿过 z 传回编码器。这是 VAE 能端到端训练的数学把戏,也是"概率生成模型+反向传播"(见反向传播与自动微分)结合的教科书案例;
  • ELBO 目标:最大化证据下界,等价于最小化两项: $$ \mathcal{L} = \underbrace{\mathbb{E}{z\sim q}[\log p(x|z)]}{\text{重建项}} - \underbrace{D_{KL}(q(z|x) | p(z))}_{\text{正则项}} $$ 正则项把编码分布拉向标准正态先验,重建项保证解压质量。两项打架:正则太强→重建模糊,太弱→隐空间碎片化,这个张力贯穿 VAE 后续所有改进(β-VAE、VQ-VAE)。

二、GAN:生成器与判别器的博弈

GAN(2014,Goodfellow 等)思路与 VAE 完全不同:不显式建模分布,而是训练一个造假者和一个鉴定师

  • 生成器 G:吃噪声 z,输出假样本;
  • 判别器 D:判断输入是真是假;
  • 目标函数是 minimax 博弈: $$ \min_G \max_D ; \mathbb{E}{x\sim p{data}}[\log D(x)] + \mathbb{E}_{z\sim p_z}[\log(1 - D(G(z)))] $$

直觉类比:造假者不断升级手艺,鉴定师不断升级眼光,两者互相逼着对方变强。理想平衡点是生成分布 $p_g = p_{data}$,此时 D 处处输出 0.5、无计可施。GAN 的生成样本(尤其是图像)比 VAE 锐利得多,因为对抗损失逼"逼真"而不是"平均",而 VAE 的重建损失(如 L2)天然趋向模糊的平均值。注意这里的训练是两个角色交替更新的博弈,与优化与梯度下降中单目标的梯度下降思路不同。

三、训练不稳定与模式坍缩

GAN 出了名的难训,两大顽疾:

  • 训练不稳定:博弈没有统一的收敛目标,D 太强则梯度消失、G 学不到东西,D 太弱则 G 走偏。训练像"走钢丝",需要精心平衡两边的学习率与更新节奏(实操清单见训练配方与调参);
  • 模式坍缩(mode collapse):G 发现"只造几类逼真样本"就能骗过 D,于是输出多样性崩掉(比如人脸生成只出几种表情)。本质是 G 的退化策略:与其全面分布,不如扎堆。

从 VAE 与 GAN 的教训

VAE 稳定但糊,GAN 锐利但崩——"训练稳定性"与"样本质量"的取舍是生成模型设计的元命题。这个矛盾在扩散模型与生成式 AI 一文里被优雅地绕开了(稳定且锐利),但代价是采样慢。

四、改进谱系

模型年份解决什么核心思想
DCGAN2015不稳定全卷积化 + 设计经验(不用池化、BatchNorm、LeakyReLU)
cGAN2014可控生成条件输入(类别/文本)注入生成器与判别器
WGAN / WGAN-GP2017坍缩+不稳定用 Wasserstein 距离替代 JS 散度,梯度惩罚保证 1-Lipschitz
CycleGAN2017无配对转换循环一致性损失做风格迁移
StyleGAN2018可控性与质量隐空间解耦(style 注入+映射网络),可控人脸生成
BigGAN / StyleGAN22018-2020大尺度高质量大批量+谱归一化,图像生成巅峰

改进主线很清晰:换更平滑的距离度量(WGAN)、加条件控制(cGAN)、解耦隐空间维度(StyleGAN)、强化训练稳定性(谱归一化、梯度惩罚)。条件生成(cGAN)把"生成"从随机变成"按需",是后来文生图("按文本生成")的直接前身。

五、应用

  • 图像编辑与合成:人脸编辑(StyleGAN 隐空间操控)、超分辨率(SRGAN 用感知损失+对抗损失)、修复、风格迁移(CycleGAN)——这些都建立在CNN 与计算机视觉的视觉特征之上;
  • 域迁移:昼夜、季节、草图→照片,工业上有医学影像跨设备增强等落地;
  • 异常检测:AE/VAE 只学过正常样本,异常样本重建误差大,可做工业质检与金融风控的弱监督基线;
  • 数据增强:给样本少的类别合成训练数据(但要小心合成分布与真实分布的偏移,评估方法见深度学习评估与实验)。

六、与扩散模型的对比与现状

2020 年后扩散模型在图像生成上全面超越 GAN(细节见扩散模型与生成式 AI):

维度VAEGAN扩散模型
训练稳定性
样本质量/多样性锐利但易坍缩锐利且多样
采样速度慢(需加速采样,DDIM/DPM-Solver)
隐空间可控性好(VAE)一般中(靠文本/条件引导)
现状作为"隐空间压缩器"融入扩散系统(LDM 的 VAE 部分)图像领域退居二线;在视频/点云等域仍有价值图像/视频/音频/3D 的主流

值得注意的"借尸还魂":今天的扩散系统内部往往就装着 VAE——Stable Diffusion 的潜空间就是 VAE 压缩得到的;而 GAN 的判别器思想也启发了一些蒸馏/加速方法。三者并非互斥,而是互补组件。技术全景见《生成式模型》一文。

七、权衡与取舍

  • VAE vs GAN 的范式选择:需要稳定训练与良好隐空间(编辑、插值、表征)选 VAE;追求单样本锐度且能忍受调参痛苦可选 GAN——但 2024 年后多数新场景默认从扩散出发;
  • 质量 vs 多样性:GAN 天然偏向"安全的高质量",扩散在此更均衡;
  • 可控性 vs 自由度:条件注入越强越可控,但也越容易被"条件带偏";
  • 计算成本:GAN 采样极快、扩散采样贵,实时交互场景(如虚拟试穿)若坚持 GAN 路线仍有工程合理性,权衡见MLOps 与模型部署

延伸阅读

参考资料