4.4 生成对抗网络 (GANs)


4.4 生成对抗网络 (GANs)

本节摘要:GAN 能生成逼真数据。本节讲 GAN 在自动驾驶的应用——生成训练数据、模拟天气、补长尾。

你能学到什么

阅读完本节,你应当能够:

  1. 理解 GAN 原理
  2. 知道 GAN 在自动驾驶的应用
  3. 了解 GAN 的挑战

概念脉络

GAN 原理

GAN(生成对抗网络)由生成器 G 和判别器 D 对抗训练:

  • 生成器 G:生成假数据,骗过判别器
  • 判别器 D:区分真假数据
  • 二者对抗,G 越来越逼真,D 越来越准
\min_G \max_D V(D, G)

GAN 在自动驾驶的应用

图 4-4 GAN 在自动驾驶

图 4-4 GAN 在自动驾驶

应用 说明
数据生成 生成训练数据,补长尾
天气模拟 晴转雨/雾/雪,域适应训练
图像到图像 Pix2Pix/CycleGAN 风格转换
超分辨率 提升分辨率,远距清晰

数据生成

GAN 生成逼真交通场景,补充训练数据:

  • 生成罕见场景(事故、极端情况)
  • 增加数据多样性
  • 减少真实采集成本

天气模拟

GAN 把晴天转雨/雾/雪:

  • 训练时模拟恶劣天气
  • 提升全天候鲁棒性
  • 域适应(晴→雨)

图像到图像转换

  • Pix2Pix:成对图像转换(如线稿→实景)
  • CycleGAN:非成对转换(如晴→雨)
  • 用于风格转换、场景变换

超分辨率

GAN 超分辨率提升图像清晰度:

  • 远距离目标更清晰
  • 帮助小目标检测
  • SRCNN、ESRGAN

代表 GAN

GAN 特点
DCGAN 卷积 GAN
CycleGAN 非成对转换
Pix2Pix 成对转换
StyleGAN 高质量生成
BigGAN 大规模

挑战

  • 训练难:G 和 D 难平衡
  • 模式崩溃:G 只生成少数样本
  • 质量:生成质量不稳定
  • 评估难:生成质量难量化

扩散模型趋势

扩散模型(Diffusion,如 Stable Diffusion)在图像生成上部分取代 GAN:

  • 训练稳定
  • 质量高
  • 多样性好

自动驾驶数据生成也开始用扩散模型。

GAN vs 仿真

GAN 生成 vs 仿真平台(3.4 节):

  • GAN:从真实数据学习生成,更逼真但可控性弱
  • 仿真:完全可控但 Sim2Real gap
  • 结合:仿真场景 + GAN 真实化

⚠️ GAN 训练难:G 和 D 难平衡,模式崩溃(只生成少数样本)。扩散模型训练稳定质量高,部分取代 GAN。

💡 关键直觉:GAN 生成对抗,在自动驾驶用于数据生成(补长尾)、天气模拟(晴转雨雾)、图像转换(Pix2Pix/CycleGAN)、超分辨率。挑战训练难/模式崩溃。扩散模型部分取代 GAN。

要点速记

  • 原理:生成器 G vs 判别器 D 对抗。
  • 应用:数据生成(补长尾)、天气模拟(晴转雨雾)、图像转换(Pix2Pix/CycleGAN)、超分辨率。
  • 代表:DCGAN、CycleGAN、Pix2Pix、StyleGAN、BigGAN。
  • 挑战:训练难、模式崩溃、质量不稳、评估难。
  • 趋势:扩散模型(Diffusion)训练稳定质量高,部分取代 GAN。
  • vs 仿真:GAN 逼真可控弱,仿真可控 Sim2Real gap,结合最佳。

下一节讲迁移学习。

GAN 的博弈与训练稳定性

GAN 的目标函数是 min_G max_D V(D,G),判别器 D 试图把真实数据和生成数据区分开,生成器 G 试图骗过 D。理想状态下收敛到"G 生成的分布等于真实分布,D 无法区分",即纳什均衡。但实践中这个博弈非常难收敛:D 太强,梯度消失,G 学不动;D 太弱,G 学到的分布偏掉。常用的稳定化手段包括:把交叉熵换成 WGAN 的 Wasserstein 距离(配合权重裁剪或梯度惩罚)、给 D 加谱归一化、用标签平滑(真实样本的标签不用 1 而用 0.9)。训练节奏上,通常更新一步 D 再更新一步 G,并监控两者的损失曲线是否稳定。

# WGAN-GP 判别器损失(示意) d_loss = -mean(D(real)) + mean(D(fake)) + gp # gp: 梯度惩罚 g_loss = -mean(D(fake)) # 生成器骗过 D

模式崩溃与扩散模型的崛起

GAN 最出名的失败是模式崩溃:G 找到少数几个"容易骗过 D"的样本反复生成,输出多样性骤降。应对手段有 minibatch discrimination、解耦生成(把隐向量拆成多个子向量分别控制不同属性)等,但都治标不治本。扩散模型用逐步加噪再逐步去噪的方式生成,每一步都是简单的回归目标,训练稳定、多样性好,近年在大规模图像生成上已经取代 GAN。在自动驾驶里,两者的分工也逐渐清晰:数据扩充和风格迁移任务(合成数据真实化、晴天转雨天)仍常驻 GAN 与 CycleGAN 的成熟流程,需要高保真新场景生成时则转向扩散模型。还有一个实用角度:把 GAN 用于域适应,让仿真图像风格贴近真实图像,能显著提升模型在真实数据上的表现——这类任务输入输出成对或不成对都能训练,CycleGAN 的循环一致性损失让它在无配对数据时也适用,工程上搭建成本可控。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U