📄 论文信息
- 标题:Gen-Drive: Enhancing Diffusion Generative Driving Policies with Reward Modeling and Reinforcement Learning Fine-tuning(用奖励建模与强化学习微调增强扩散生成式驾驶策略)
- 团队:南洋理工大学 Chen Lv 组 × 斯坦福/NVIDIA Marco Pavone 组(Zhiyu Huang, Xinshuo Weng, Maximilian Igl, Yuxiao Chen, Yulong Cao, Boris Ivanovic, Marco Pavone, Chen Lv)
- arXiv:2410.05582(2024 年 10 月)
- 一句话总结:不再"预测未来 → 确定性规划",而是 扩散模型生成多种未来 → 学习型评估器打分 → RL 微调扩散策略,把"生成式"与"强化学习"两股潮流拧成一股绳。
🤔 要解决什么问题?传统"预测 + 规划"范式的瓶颈
主流自动驾驶规划遵循 “预测 + 确定性规划”(prediction-then-planning) 范式:先用一个预测头估出周围智能体未来的轨迹,再在确定的预测基础上做一次最优规划。这个范式清晰、工程化好,但有三个固有软肋:
| 瓶颈 | 表现 | 后果 |
|---|---|---|
| 未来不确定 | 只给一条"最可能"预测 | 忽略多模态可能,遇突发措手不及 |
| 交互建模弱 | 预测与规划割裂 | 难以推理"我动了对方会怎么反应"的联合交互 |
| 评估靠人工 reward | 代价函数手写 | 难覆盖复杂偏好,且与真实"开得好不好"有 gap |
Gen-Drive 的核心判断:与其费力预测一个确定的未来再硬规划,不如 先"生成"出一堆可能发生的未来场景,再去"评估"哪个动作最稳妥——这就是所谓的 generation-then-evaluation(先生成后评估) 范式。

💡 核心思想:把规划变成"生成 + 评估"
Gen-Drive 的整体框架可以拆成三块拼图:
1. 场景生成器(Scene Generator):行为扩散模型
用一个 行为扩散模型(behavior diffusion model) 作为生成器,条件化于自车候选动作,生成未来多智能体的联合场景。扩散天生多模态,对同一个候选动作可以采样出多种合理未来——这正好对应"未来本质不确定"的现实。
直觉:自车如果"向左变道",前车可能让、可能不让、也可能急刹。扩散模型把这些可能都"演"出来,规划器据此权衡。
2. 场景评估器(Scene Evaluator):学习型 reward 模型
生成了一堆未来场景,怎么判断哪个候选动作好?Gen-Drive 训练一个 场景评估器(即 reward 模型) 来给"动作 + 生成场景"打分。关键创新在于数据采集方式:
- 用 成对偏好数据(pairwise preference data) 训练
- 偏好数据由 VLM 辅助采集,大幅降低人工标注成本,提升可扩展性
这其实就是把 RLHF(人类反馈强化学习)那套"奖励建模"思路搬到了驾驶场景,只不过"人类反馈"换成了"VLM 辅助反馈"。
3. RL 微调:用 reward 反向提升扩散策略
光有生成和评估还不够,最终目标是 让生成策略本身变得更好。Gen-Drive 用 RL 微调框架(基于学习到的 reward)去 fine-tune 扩散模型,使其更倾向于生成"高 reward"的未来与动作——把"模仿出来的分布"往"安全舒适的偏好"上拉。
三者的关系如下表:
| 组件 | 角色 | 类比 |
|---|---|---|
| 行为扩散生成器 | 演绎多种未来 | “推演沙盘” |
| 场景评估器(reward) | 给未来打分 | “裁判” |
| RL 微调 | 把策略往高分方向拉 | “教练纠错” |
🎨 为什么是扩散模型?生成式规划的优势
把扩散用于驾驶策略,并非赶时髦,而是有实实在在的好处:
- 多模态输出:天然表达"同一时刻多种合理未来",避免确定性预测的模态平均
- 联合交互推理:把自车与他车的未来联合生成,交互关系隐式编码在生成分布里,而不是靠显式规则
- 可控生成:通过条件(自车动作、地图、历史)引导生成,可做what-if 分析(“如果我刹车会怎样?")
对比传统范式:
| 维度 | 预测 + 确定性规划 | Gen-Drive 生成 + 评估 |
|---|---|---|
| 未来建模 | 单点确定 | 多模态分布 |
| 交互 | 割裂 | 联合生成 |
| 评估 | 人工代价函数 | 学习型 reward |
| 可解释 | 规则可调 | 生成样本可"看见” |
🏋️ Reward 建模:VLM 辅助的偏好数据
Reward 建模是 Gen-Drive 最有工程价值的一环。传统驾驶 RL 的痛点是 reward 难设计——碰撞、舒适、合规、效率怎么加权?人工拍脑袋的代价函数既难调又可能与真实偏好脱节。
Gen-Drive 的做法:
- 收集成对的未来场景(A vs B)
- 用 VLM 辅助判定哪个更安全/舒适/合理(降低人工负担)
- 训练一个 Bradley-Terry 式偏好 reward 模型,学会给场景打分
这一步的本质是 把"好驾驶"的隐式知识,从 VLM 的常识里蒸馏到一个轻量 reward 模型——既比人工规则细腻,又比每次都问 VLM 高效得多。
具体的偏好数据采集流程通常是:对同一场景生成两个不同的候选未来(如一个激进变道、一个保守让行),让 VLM 基于交通规则、舒适性、安全常识判定哪个更优,从而得到一条 $(s, a^+, a^-)$ 偏好样本。相比让人类标注员逐条评判,VLM 辅助的吞吐量高出几个数量级,且判定标准更一致。这正是 Gen-Drive 能在 nuPlan 这种大规模数据上跑通 reward 建模的关键。
reward 模型 $r_\phi(s, a)$ 的偏好损失通常形如:
$$\mathcal{L}_{\text{pref}} = -\mathbb{E}\left[\log \sigma\left(r_\phi(s, a^+) - r_\phi(s, a^-)\right)\right]$$其中 $a^+$ 是偏好(更好)的动作,$a^-$ 是不偏好的动作,$\sigma$ 是 sigmoid。
🎮 RL 微调:让扩散策略"想赢"
有了 reward 模型,接下来就是用它去 微调扩散生成策略。这一步和语言模型的 RLHF、图像生成的 DiffPO/Flow-GRPO 在精神上一致:把 reward 信号反向传播到生成过程,让模型偏好高分输出。
RL 微调带来的收益:
- 超越模仿上限:不再受限于人类驾驶数据的质量,可向"更安全更舒适"探索
- 稀疏指标可优化:碰撞率、jerk 等难写成可微 loss 的指标,直接转成 reward
- 偏好对齐:把抽象的"开得好不好"显式注入策略
Gen-Drive 的一个重要实验结论:用学习到的 reward 做评估或 RL 微调,效果优于依赖人工设计的 reward——这对"reward 该怎么来"这个老大难问题给出了明确答案。
📊 实验结果:nuPlan 闭环验证
Gen-Drive 在 nuPlan 数据集上训练并做 闭环规划测试(closed-loop planning)——这是比开环更贴近真实上路的严苛评测。主要结论:

- “生成 + 评估"优于其他学习型方法:generation-then-evaluation 范式整体胜出
- RL 微调显著提升规划性能:fine-tuned 策略明显好于纯模仿的扩散策略
- 学习型 reward > 人工 reward:无论用于评估还是 RL 微调,学习到的 reward 都带来更好的规划表现
这三条结论环环相扣,共同支撑了”扩散生成 + 学习型 reward + RL 微调“这条技术路线的可行性。
生成-评估范式的完整工作流
把 Gen-Drive 的运行流程串起来看,它其实重新定义了"规划"这件事:
| 步骤 | 模块 | 产出 |
|---|---|---|
| ① 候选采样 | 自车提出若干候选动作 | $K$ 个候选 |
| ② 场景生成 | 扩散模型为每个候选"演"出多种未来 | $K \times M$ 个未来场景 |
| ③ 打分评估 | 学习型 reward 模型给每个未来打分 | 标量分数 |
| ④ 选优决策 | 综合分数选出最优候选 | 下发的动作 |
| ⑤ 离线精调 | RL 用 reward 反向提升扩散策略 | 更好的生成器 |
这个流程的精髓在于 ②③把"不确定性"显式建模——不再赌一个确定的未来,而是摊开多种可能再权衡。这也是它与 DiffusionDrive 这类"直接出轨迹"的扩散规划的本质区别:Gen-Drive 用扩散生成的是"场景”(他车未来),而评估由独立模块完成,分工更清晰,也更利于用 RL 单独优化生成质量。
值得注意的是,“生成-评估"范式在计算上比确定性规划昂贵得多(要采样多场景多候选),这是它上车落地的最大障碍。但随着少步扩散、一致性蒸馏等加速技术成熟,这个代价正在快速下降。
⚔️ Gen-Drive 在技术版图中的位置
Gen-Drive 站在两条主线的交汇处,是理解 2025-2026 生成式驾驶的关键参照点:
| 主线 | 代表 | Gen-Drive 的位置 |
|---|---|---|
| 扩散/生成式规划 | DiffusionDrive、Diffusion-Planner | 用扩散做场景生成而非直接出轨迹 |
| 驾驶 RL/偏好对齐 | AlphaDrive(GRPO)、Flow-GRPO | 把 RL 用于微调扩散策略,而非回归头 |
这条路线的独特价值在于 把"生成"和"评估"显式分离——生成负责"想得全”,评估负责"判得准",这比一个端到端黑盒更模块化、更可调试,也为后续引入更强的 reward(如 VLM 直接打分、人类偏好)留好了接口。
⚠️ 局限性与未来方向
- 实时性挑战:扩散采样 + 多场景评估的算力开销大,车端实时部署需大量优化(少步采样、蒸馏)
- reward 模型上限:偏好数据质量决定 reward 上限,VLM 辅助判定仍可能有偏差
- 生成分布漂移:RL 微调可能让扩散偏离预训练分布,需约束(如 KL 正则)
- 闭环鲁棒性:nuPlan 闭环虽好,真实长尾仍待验证,尤其是分布外场景下生成器的可靠性
- reward 与生成的耦合风险:reward 模型和生成器若同源训练,可能互相"迎合"导致 reward hacking,需要独立验证集把关
未来方向上,GRPO 等组内相对优化可直接替换其 RL 框架(省去 critic)、Flow Matching 可替换 DDPM 加速生成、世界模型 可提供更逼真的场景推演底座。
📝 个人思考
读完 Gen-Drive,我最强烈的感受是:它把"规划"这件事从’解一个优化问题’重新定义成了’演一场可能性的戏’。传统规划师总是在追问"最优解在哪",而 Gen-Drive 在追问"未来可能有哪些样子,我又该怎么在其中下注"。这个视角的转换非常深刻——驾驶本质上是一个不确定条件下的决策问题,而非确定条件下的优化问题。先用扩散把不确定性"演"全,再用 reward “判"准,这套"生成 + 评估"的范式,比直接硬挤出一个确定答案要诚实得多、也鲁棒得多。
第二点启发在 reward 的来源。长久以来,驾驶 RL 卡在"reward 谁来定"这个死结上——人工规则粗糙、人类标注昂贵。Gen-Drive 用 VLM 辅助采集偏好给了一条实用的中间道路:让 VLM 当"廉价的人类标注员”,把它的常识蒸馏进一个轻量 reward 模型。更关键的是,它用实验证明了 学习型 reward 比人工 reward 更好——这意味着我们终于可以摆脱"手调代价函数"的祖传包袱,向数据驱动的偏好建模迁移。我看好这条路线和 GRPO 结合:用 VLM 偏好建 reward,用组内相对优势做优化,把"学人类"升级成"学最优"。
最后一点是关于 模块化的价值。当下有一种声音是"把所有东西塞进一个大模型",但 Gen-Drive 反其道而行,把生成、评估、微调拆成清晰的三块。这种模块化带来了可调试性和可演进性——reward 模型可以单独升级、生成器可以换 backbone、RL 算法可以换更新更强。在安全攸关的自动驾驶领域,可审计、可替换的模块化系统往往比一个巨大黑盒更值得信赖。Gen-Drive 让我更坚信:生成式规划的未来,不在’更大的一锅炖’,而在’更聪明的分工’。
📖 这是论文精读系列的第 21 篇。扩散生成 + RL 微调,你认为生成式规划能否在车端实时跑通?欢迎留言讨论。