3. 生成式模型入门

在自动驾驶场景生成中,我们真正想要的并不是“把已有数据复制一遍”,而是让模型学会真实驾驶场景背后的分布,从而采样出新的、合理的、可控的交通场景。这正是生成式模型的核心任务。本节从概率建模的基本思想出发,串联隐变量模型、自编码器、变分自编码器与生成对抗网络,建立后续世界模型学习的共同语言。

一、核心原理:生成模型在学什么

给定一批真实场景样本 x(例如一段前视相机图像、一组BEV栅格、一段轨迹序列),生成模型试图估计数据分布 p(x),或学会从简单先验中采样并变换为真实样本。前者称为显式概率建模,后者常表现为隐式生成。无论哪种路线,目标都可以概括为:让模型生成样本的分布 p_model(x) 尽量接近真实分布 p_data(x)。

在自动驾驶中,x 往往不是单一模态,而是图像、点云、地图、自车状态、交通参与者轨迹的联合表示。因此生成模型不仅要“像”,还要满足物理约束、交通规则和可控条件,例如“生成一个雨天夜间、前车急刹、右侧有切入车辆的场景”。这使条件生成 p(x|c) 成为工程中的主流形式,其中 c 是天气、道路结构、行为指令等条件。

生成式模型的三类基本问题:
1. 密度估计:能否给出样本概率或似然;
2. 采样生成:能否从分布中高效采样新样本;
3. 表示学习:能否得到有语义、可插值的隐变量。

二、隐变量模型与自编码器

直接对高维场景建模非常困难。隐变量模型引入不可观测的潜变量 z,假设数据由 z 经过某种映射生成:p(x) = ∫ p(x|z)p(z) dz。这里 z 可以理解为场景的“压缩语义因子”,例如道路曲率、车速、目标意图、天气风格。若 z 能解耦,就能通过调节 z 实现场景编辑与插值。

自编码器(AE)是理解隐变量模型的直观起点。它由编码器 Enc 和解码器 Dec 组成,编码器把输入压缩为隐向量 z,解码器再重建输入,损失通常为重建误差:

z = Enc(x)
x_hat = Dec(z)
L_AE = ||x - x_hat||^2

AE 能降维和去噪,但它不是真正的生成模型:隐空间没有明确的概率分布,随机采样一个 z 往往解码出无意义结果。它更像“记忆压缩”,而不是“分布采样”。

三、变分自编码器:让隐空间可采样

变分自编码器(VAE)在 AE 基础上给隐变量加上概率结构。编码器不再输出一个点 z,而是输出近似后验 q(z|x) 的均值 μ 和方差 σ²,再通过重参数化技巧采样:z = μ + σ ⊙ ε,其中 ε ~ N(0, I)。这样采样过程可导,网络可以端到端训练。

VAE 的损失由重建项和 KL 正则项组成:

L_VAE = E_q[ -log p(x|z) ] + KL( q(z|x) || p(z) )
      ≈ 重建误差 + 隐变量分布约束

KL 项迫使编码分布靠近标准正态先验,使隐空间连续、平滑、可采样。其代价是生成结果可能偏模糊,因为重建项与正则项存在拉扯。在自动驾驶中,VAE 常用于轨迹预测、场景表征学习和可解释隐空间构建,尤其适合需要概率输出与不确定性估计的任务。

四、生成对抗网络:用博弈逼近真实分布

生成对抗网络(GAN)采用另一种思路:不显式写出概率密度,而是让生成器 G 与判别器 D 对抗。生成器把噪声 z 映射为假样本,判别器判断输入是真实还是生成。二者目标相反,最终达到纳什均衡,使生成分布逼近真实分布。

min_G max_D V(D,G) =
  E_x~p_data[ log D(x) ] +
  E_z~p_z[ log(1 - D(G(z))) ]

GAN 的优点是生成细节锐利、视觉质量高,适合图像风格迁移、传感器数据增强和逼真场景合成。但训练不稳定、模式崩溃、难以评估是常见问题。工程中常用 WGAN-GP、谱归一化、渐进式增长等技巧稳定训练。

五、方法对比与选型清单

模型概率形式隐空间生成质量典型用途
AE无显式分布不可采样重建为主降维、特征压缩
VAE显式近似似然连续可采样偏模糊轨迹预测、场景表征
GAN隐式分布噪声到样本锐利逼真图像合成、数据增强
选型建议:需要概率解释与不确定性时优先 VAE;追求高保真视觉细节时优先 GAN;若两者都要,可考虑 VAE-GAN 混合结构或扩散模型作为后续进阶路线。

六、自动驾驶场景案例

假设要生成“城市十字路口左转”场景。使用 VAE 时,可把真实路口数据编码为隐变量,采样后解码得到不同车道布局与车辆位置组合,并通过条件输入控制天气与交通密度。使用 GAN 时,可让生成器直接输出BEV语义图或前视图像,判别器学习真实路口统计规律,从而合成更锐利的道路边界与车辆纹理。两者也可串联:VAE 提供结构化隐空间,GAN 负责提升解码细节。

七、常见误区与复盘

  • 误区一:把 AE 当生成模型。AE 隐空间无分布约束,随机采样不可控。
  • 误区二:只关注重建损失。VAE 若 KL 权重过小,会退化为普通 AE;过大则重建模糊。
  • 误区三:认为 GAN 训练越久越好。判别器过强会导致生成器梯度消失,需平衡二者能力。
  • 误区四:忽略条件信息。自动驾驶场景必须可控,无条件生成难以满足测试需求。
复盘要点:生成模型评估不能只看视觉指标。在自动驾驶中,应同时检查物理合理性、交通规则一致性、条件可控性和下游任务增益,例如生成场景能否提升感知或规划模型的鲁棒性。
生成式模型核心结构:AE / VAE / GAN 自编码器 AE 输入 x 编码器 Enc 隐向量 z 解码器 Dec 重建 x̂ 变分自编码器 VAE 输入 x 编码器 q(z|x) μ, σ² z = μ + σ·ε 解码器 p(x|z) 生成 x̂ 损失 = 重建误差 + KL(q(z|x) || N(0,I)) 生成对抗网络 GAN 噪声 z 生成器 G 假样本 G(z) 判别器 D 真/假 对抗博弈:D 提升判别力,G 提升欺骗力