外观
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 一文里被优雅地绕开了(稳定且锐利),但代价是采样慢。
四、改进谱系
| 模型 | 年份 | 解决什么 | 核心思想 |
|---|---|---|---|
| DCGAN | 2015 | 不稳定 | 全卷积化 + 设计经验(不用池化、BatchNorm、LeakyReLU) |
| cGAN | 2014 | 可控生成 | 条件输入(类别/文本)注入生成器与判别器 |
| WGAN / WGAN-GP | 2017 | 坍缩+不稳定 | 用 Wasserstein 距离替代 JS 散度,梯度惩罚保证 1-Lipschitz |
| CycleGAN | 2017 | 无配对转换 | 循环一致性损失做风格迁移 |
| StyleGAN | 2018 | 可控性与质量 | 隐空间解耦(style 注入+映射网络),可控人脸生成 |
| BigGAN / StyleGAN2 | 2018-2020 | 大尺度高质量 | 大批量+谱归一化,图像生成巅峰 |
改进主线很清晰:换更平滑的距离度量(WGAN)、加条件控制(cGAN)、解耦隐空间维度(StyleGAN)、强化训练稳定性(谱归一化、梯度惩罚)。条件生成(cGAN)把"生成"从随机变成"按需",是后来文生图("按文本生成")的直接前身。
五、应用
- 图像编辑与合成:人脸编辑(StyleGAN 隐空间操控)、超分辨率(SRGAN 用感知损失+对抗损失)、修复、风格迁移(CycleGAN)——这些都建立在CNN 与计算机视觉的视觉特征之上;
- 域迁移:昼夜、季节、草图→照片,工业上有医学影像跨设备增强等落地;
- 异常检测:AE/VAE 只学过正常样本,异常样本重建误差大,可做工业质检与金融风控的弱监督基线;
- 数据增强:给样本少的类别合成训练数据(但要小心合成分布与真实分布的偏移,评估方法见深度学习评估与实验)。
六、与扩散模型的对比与现状
2020 年后扩散模型在图像生成上全面超越 GAN(细节见扩散模型与生成式 AI):
| 维度 | VAE | GAN | 扩散模型 |
|---|---|---|---|
| 训练稳定性 | 好 | 差 | 好 |
| 样本质量/多样性 | 糊 | 锐利但易坍缩 | 锐利且多样 |
| 采样速度 | 快 | 快 | 慢(需加速采样,DDIM/DPM-Solver) |
| 隐空间可控性 | 好(VAE) | 一般 | 中(靠文本/条件引导) |
| 现状 | 作为"隐空间压缩器"融入扩散系统(LDM 的 VAE 部分) | 图像领域退居二线;在视频/点云等域仍有价值 | 图像/视频/音频/3D 的主流 |
值得注意的"借尸还魂":今天的扩散系统内部往往就装着 VAE——Stable Diffusion 的潜空间就是 VAE 压缩得到的;而 GAN 的判别器思想也启发了一些蒸馏/加速方法。三者并非互斥,而是互补组件。技术全景见《生成式模型》一文。
七、权衡与取舍
- VAE vs GAN 的范式选择:需要稳定训练与良好隐空间(编辑、插值、表征)选 VAE;追求单样本锐度且能忍受调参痛苦可选 GAN——但 2024 年后多数新场景默认从扩散出发;
- 质量 vs 多样性:GAN 天然偏向"安全的高质量",扩散在此更均衡;
- 可控性 vs 自由度:条件注入越强越可控,但也越容易被"条件带偏";
- 计算成本:GAN 采样极快、扩散采样贵,实时交互场景(如虚拟试穿)若坚持 GAN 路线仍有工程合理性,权衡见MLOps 与模型部署。
延伸阅读
- 扩散模型与生成式 AI——接管生成主流的下一代范式
- 生成式模型——概率建模的统一视角
- CNN 与计算机视觉——生成图像任务的视觉地基
- 损失函数与输出层——对抗损失、重建损失、感知损失
- 优化与梯度下降——GAN 双优化器博弈的优化学本质
- 训练配方与调参——GAN 训练稳定的实操经验
参考资料
- Kingma, Welling. Auto-Encoding Variational Bayes (ICLR 2014)
- Goodfellow et al. Generative Adversarial Nets (NeurIPS 2014)
- Radford, Metz, Chintala. Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks (DCGAN) (ICLR 2016)
- Arjovsky, Chintala, Bottou. Wasserstein GAN (ICML 2017)
- Gulrajani et al. Improved Training of Wasserstein GANs (WGAN-GP) (NeurIPS 2017)
- Karras, Laine, Aila. A Style-Based Generator Architecture for Generative Adversarial Networks (StyleGAN) (CVPR 2019)
- Mirza, Osindero. Conditional Generative Adversarial Nets (2014)
- Zhu et al. Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks (CycleGAN) (ICCV 2017)