引言
2014 年的一个深夜,蒙特利尔的一家酒吧里,Ian Goodfellow 正和朋友庆祝毕业。
酒过三巡,朋友们讨论起一个生成模型的构想:用复杂的统计方法来估计数据的分布。Goodfellow 听了一会儿,摇了摇头,说:"我有一个更好的主意。"
朋友们不信。他当场解释了他的想法:训练两个网络,一个负责造假,一个负责鉴别,让它们互相对抗。朋友们觉得这不会 work。
那天晚上,Goodfellow 回到家,打开笔记本电脑,开始写代码。第一次运行,GAN 就工作了。
这个诞生于酒吧的灵感,后来被 Yann LeCun 称为**「过去十年机器学习最有趣的想法」**。它开启的生成式 AI 革命,最终催生了我们今天看到的 AI 图像生成、深度伪造,乃至大语言模型的对抗性训练。
生成模型 vs 判别模型
回顾
判别模型(之前学的大多数模型):
输入数据 → 输出标签/概率
回答:「这是什么?」
例:图像分类、垃圾邮件检测
生成模型(GAN 属于这类):
随机噪声 → 生成数据
回答:「能造一个像真的一样的东西吗?」
例:生成人脸、生成画作为什么生成模型重要?
- 理解数据分布:能生成数据意味着模型真正「理解」了数据的内在结构
- 数据增强:生成更多训练数据
- 创意应用:AI 创作、风格迁移
- 仿真:生成训练环境
GAN 的核心思想
对抗训练
IG1987-
Ian Goodfellow
GAN 发明者,前 Google Brain 研究科学家
"我在酒吧里想到了 GAN 的想法。回家写代码,第一次运行就成功了。这很少见——通常新想法第一次都不会 work。"
GAN 的巧妙之处在于它训练了两个相互竞争的网络:
随机噪声 z
│
▼
┌──────────┐ 生成假图片 ┌──────────┐
│ 生成器 │ ───────────────→ │ 判别器 │
│ Generator │ │ Discriminator│
│ G(z) │ ←─────────────── │ D(x) │
└──────────┘ 真假判定 └──────────┘
▲
│
真实图片 x ────→ 也要输入判别器两个网络的博弈
生成器 G 的目标:生成尽可能逼真的假图片,骗过判别器
→ 最大化 D(G(z))(判别器认为假图片是真的概率)
判别器 D 的目标:尽可能准确地区分真假图片
→ 最大化区分真实图片和生成图片的能力
训练过程:
1. 训练判别器:给它真图和假图,让它学会区分
2. 训练生成器:根据判别器的反馈,改进假图质量
3. 交替进行,两者共同进步伪造者 vs 警察:GAN 的经典类比
生成器 = 伪造者(制造假钞)
判别器 = 警察(识别假钞)
训练过程:
警察学习识别 → 伪造者改进技术 → 警察再学习 → 伪造者再改进
...
最终:伪造者制造的假钞连最好的警察也分辨不出
→ 此时生成器学到了数据分布想象一个不断升级的军备竞赛:造假者越来越精,鉴定者也越来越强。最终,造假者造出的东西和真品一模一样——这就是 GAN 训练达到平衡时的状态。
数学形式
GAN 的目标函数(极小极大博弈):
min_G max_D V(D, G) = E[log D(x)] + E[log(1 - D(G(z)))]
其中:
x ~ 真实数据分布
z ~ 随机噪声分布
G(z) = 生成器从噪声生成的假数据
D(x) = 判别器判断输入为真数据的概率GAN 的变体与进化
2014GAN 诞生:Ian Goodfellow 提出对抗训练框架,第一次运行就成功
2015DCGAN:将卷积神经网络引入 GAN,首次实现稳定的图像生成
2016条件 GAN(cGAN):加入条件控制,可以指定生成内容
2017Progressive GAN(NVIDIA):逐步提高分辨率,首次生成 1024×1024 逼真人脸
2018CycleGAN:无需配对数据的图像风格迁移
2019StyleGAN(NVIDIA):精细控制生成图像的风格特征,AI 生成人脸几乎无法与真人区分
DCGAN(2015)
将 CNN 引入 GAN,使用卷积层替代全连接层:
生成器架构(从噪声到图像):
噪声 z (100维)
→ 反卷积 → 4×4×512
→ 反卷积 → 8×8×256
→ 反卷积 → 16×16×128
→ 反卷积 → 32×32×64
→ 反卷积 → 64×64×3(生成图像)条件 GAN(cGAN)
加入条件信息,控制生成内容:
普通 GAN: z → G → 随机图像
条件 GAN: z + 条件(如「猫」)→ G → 猫的图像Progressive GAN(2017,NVIDIA)
逐步提高生成分辨率:
4×4 → 8×8 → 16×16 → ... → 1024×1024
先学会生成粗略结构,再逐步增加细节
→ 首次生成逼真的高分辨率人脸StyleGAN(2019,NVIDIA)
控制生成图像的风格特征:
可以单独控制:
粗粒度特征:姿态、脸型
中粒度特征:面部特征、发型
细粒度特征:颜色、微表情StyleGAN 生成的人脸如此逼真,以至于催生了 "ThisPersonDoesNotExist.com" 网站——每次刷新都展示一张不存在的人脸。
GAN 的训练挑战
模式崩溃(Mode Collapse)
训练数据有多种模式: 模式崩溃后:
🐱 🐶 🐰 🦊 🐱 🐱 🐱 🐱
生成器只学会生成一种(或少数几种)样本
→ 多样性丧失训练不稳定
判别器太强 → 生成器收不到有效梯度 → 学不动
判别器太弱 → 生成器不需要提升 → 生成质量差
找到平衡点很困难评估困难
判别模型:准确率、F1 等指标明确
生成模型:怎么衡量「生成质量」?
→ IS(Inception Score)
→ FID(Fréchet Inception Distance)——最常用
→ 人类评估——最可靠但成本高GAN 的影响与遗产
| 领域 | 应用 |
|---|---|
| 图像生成 | 人脸生成、场景生成 |
| 图像编辑 | 超分辨率、去模糊、风格迁移 |
| 数据增强 | 生成训练数据 |
| 深度伪造 | 人脸替换、语音克隆(双刃剑) |
| 医学影像 | 生成罕见病例的影像数据 |
| 艺术创作 | AI 绘画 |
GAN 的核心思想——对抗训练——后来也被用于大语言模型的对齐训练(对抗性训练),影响深远。 从 GAN 到 GAN 在 NLP 中的精神后代(如 RLHF 中的奖励模型对抗),Ian Goodfellow 那个酒吧里的灵感,已经成为 AI 领域最基础的思想之一。
本节小结
| 概念 | 要点 |
|---|---|
| GAN 核心思想 | 生成器和判别器对抗训练,共同进步 |
| 诞生故事 | Ian Goodfellow 在酒吧想出,当晚编码,第一次就成功 |
| 生成器 | 从随机噪声生成逼真数据 |
| 判别器 | 区分真实数据和生成数据 |
| 训练挑战 | 模式崩溃、训练不稳定、评估困难 |
| 重要变体 | DCGAN、cGAN、Progressive GAN、StyleGAN |
| 历史意义 | AI 首次能生成高质量内容,开启生成式 AI 的序幕 |
思考题
- GAN 的对抗训练思想是否可以应用到其他领域?(提示:想想 RLHF 中的奖励模型)
- GAN 的「模式崩溃」问题本质上说明了什么?这与大语言模型的「多样性」问题有联系吗?
- 深度伪造技术带来的伦理问题如何应对?技术层面和社会层面分别可以做什么?
延伸阅读
- Goodfellow et al., Generative Adversarial Nets, NeurIPS 2014
- Karras et al., A Style-Based Generator Architecture for Generative Adversarial Networks (StyleGAN), CVPR 2019