引言

NAVSIM 排行榜的竞争已经到了白热化阶段。从最初的 80 分出头到现在的 94.5 分(CLOVER),短短两年时间,顶尖方案的 PDMS 提升了 15 个点。如果你正在读这篇文章,大概率是两种人:一是想在排行榜上刷个高分的选手,二是研究自动驾驶规划、想理解 Scoring-based 范式演进方向的研究者。

这篇文章不讲虚的,直接切入正题:到底怎么才能在 NAVSIM 上把 PDMS 刷到 90 分?

我会结合 NAVSIM 排行榜上所有公开的高分方案(CLOVER、CLEAR、DriveFuture、Hydra-MDP 以及各种 VLA + RL 方案),从 PDMS 公式的数学结构出发,逐层拆解每个分数段的瓶颈和对应的策略。第十一章是一份 2026-10 增补的 EP 增益方法论深度调研——逐篇核对了最近两年把 EP 从 79 抬到 91+ 的五大流派(打分选择/多教师蒸馏/强化学习/世界模型/几何正则)与三条补充杠杆(MoE 路由/多智能体数据/数据规模),收录约 40 个方法的子指标时间线,回答"最近一年 PDMS 的涨幅是不是主要来自 EP"这个命题。

先给个核心结论:PDMS 90+ 的秘密不在于模型多强大,而在于你是否真正理解了 Scoring 范式的每个环节。


一、PDMS 公式:分数结构决定了优化策略

如果你还不知道 PDMS 怎么算的,那先把这块搞清楚。分数结构本身就在告诉你该优化什么。

PDMS 公式拆解

1.1 公式结构

记住这个公式:

PDMS = NC × DAC × (5·EP + 5·TTC + 2·C) / 12

这里最应该引起你注意的是乘性结构:NC 和 DAC 是乘法项,意味着任何一个为零,整体分数直接归零。这不是简单的加减法,这是一个"安全第一,前进第二"的奖励结构。

加性部分是 (5·EP + 5·TTC + 2·C) / 12,EP 和 TTC 各占 5 份权重,C 只占 2 份。

1.2 每个子指标的含义

NC(No Collision,无责碰撞):取值为 {0, 0.5, 1}。0 代表有责碰撞,整段分数归零;0.5 代表无责碰撞(被追尾等);1 代表无碰撞。这是最严苛的惩罚——一次碰撞就毁掉整段得分。

DAC(Drivable Area Compliance,可行驶区域合规):取值为 {0, 1}。只要主车任何时刻压在不可行驶区域上,整段得分为零。

EP(Ego Progression,主车前进量):连续值 [0, 1]。衡量主车在该场景下相对基准前进量的完成比例。这是一个连续指标,也是高分段唯一能持续优化的指标。

TTC(Time to Collision,碰撞时间):离散值 {0, 1}。只要某个时刻 TTC 低于阈值,得分为零。

C(Comfort,舒适度):离散值 {0, 1}。急加速、急刹车、急转向都会导致舒适度归零。

1.3 分数的"阶梯结构"

这个公式透露了一个重大信息:分数增长不是线性的,有明确的台阶。

低分段(< 80):你在解决 NC、DAC 等"会开车"的问题。 中分段(80-88):你在解决 TTC、C 等"安全舒适开车"的问题。 高分段(88-92):你在解决 EP 从 0.8 到 0.9 的问题。 顶尖分段(92+):你在解决 EP 从 0.9 到 0.95 的"最后一公里"问题。

每上一个台阶,你需要优化的目标就换一个。如果你还在 85 分徘徊,却去研究 EP 的细节优化,那是白费功夫。

1.4 用量化分析理解每个子指标的权重

为了更直观地理解不同子指标的优化价值,我们来做一些简单的量化分析。

假设你在 85 分水平(NC=1, DAC=1, TTC=1, C=1, EP=0.7),PDMS = 1×1×(5×0.7+5×1+2×1)/12 = (3.5+5+2)/12 = 10.5/12 × 100 = 87.5。

如果花精力优化 NC 从 1 到 1(已经到顶),收益 0。 如果花精力优化 TTC(已经到顶),收益 0。 如果花精力把 C 从 1 优化到 1(已经到顶),收益 0。 唯一能优化的是 EP。把 EP 从 0.7 提升到 0.85,PDMS = (5×0.85+5+2)/12 = (4.25+5+2)/12 = 11.25/12 × 100 = 93.75。

这看似很大,但不要忘记:这个计算假设 NC、DAC、TTC、C 全部满分。如果你的实际分数中有任何安全指标不是满分,优化安全指标的收益远大于优化 EP。

举个例子:如果你 NC=0.5(有一次无责碰撞),DAC=1,TTC=1,C=1,EP=0.95。PDMS = 0.5 × (5×0.95+5+2)/12 = 0.5 × 11.75/12 × 100 = 48.96。

看到没?一次无责碰撞就让 94 分变成 49 分。这就是乘性惩罚的威力。

所以优化的优先级应该是:

  1. NC → 1(乘性,直接影响整体)
  2. DAC → 1(乘性,直接影响整体)
  3. TTC → 1(权重 5,离散)
  4. C → 1(权重 2,离散)
  5. EP → max(权重 5,连续,最后优化)

每个层次都理解你当前的瓶颈,才能做最有针对性的改进。


二、分数段深度分析:你的分数对应什么水平?

PDMS 分数段深度分析

2.1 PDMS < 80:还不会"正常开车"

这个阶段的表现:频繁碰撞、经常出车道、EP 接近于零。模型本质上还没有学会驾驶行为的基本模式。

解决策略:

这个阶段不要想什么花哨的方法。唯一需要做的是:做好 SFT(模仿学习)。

具体来说:

  • 使用 NAVSIM 官方提供的 Navtrain 数据集(74k 场景 × 8s)
  • 用人类专家的驾驶日志做行为克隆
  • 重点关注碰撞率和可行驶区域合规率

关键经验:不要在第一个阶段就上 Scoring-based。Scoring-based 的核心假设是你的候选轨迹里有一条或多条是"好"的——但如果模型连基本的驾驶行为都没学会,候选轨迹全是垃圾,打分器只能"从垃圾里选一个没那么垃圾的"。

这个阶段的目标很简单:让模型输出的轨迹 τ 至少和训练集中的专家轨迹在分布上相似。

实操技巧:

  • 使用简单的 MSE Loss 或 L1 Loss 做轨迹回归
  • 在碰撞场景上做数据增强(加噪声、随机裁剪等)
  • 先在小验证集上确认碰撞率降到 5% 以下再考虑下一步

预期结果:PDMS 75-82,碰撞率显著下降,EP 达到 0.5-0.7。

2.2 80 ≤ PDMS < 88:Scoring-based 的主战场

这个阶段是最经典的 Scoring-based 范式能发挥最大作用的区间。你的模型已经会开车了,但还不怎么安全——偶尔碰撞、EP 中等、舒适度波动大。

解决策略:

切换到 Generator-Scorer 架构。

核心思路:

  1. Generator:生成 K 条候选轨迹(通常 K=6-12)
  2. Scorer:为每条候选轨迹打分
  3. Selection:选择分数最高的轨迹作为输出

这个阶段的优化重点:先搞定安全指标(NC、DAC、TTC、C)。

为什么?因为安全指标是离散的、乘性的,它们的优化回报远高于 EP。你花大量精力把 EP 从 0.75 提升到 0.80,还不如把碰撞率从 5% 降到 1% 的收益大。

Scorer 训练关键:

  • 使用 NAVSIM scorer 作为 teacher(监督信号)
  • 输入:场景上下文 + 候选轨迹
  • 输出:分数(最大熵分类或回归)
  • 损失函数:Binary Cross Entropy

常见陷阱:

  • 打分器过拟合到训练场景。验证集上分数很高,但测试(navtest)上性能差。
  • 候选轨迹退化。如果 Generator 生成的所有轨迹都差不多,打分器再强也没用。
  • EP-CAV 差距。EP 分数高 ≠ 候选轨迹覆盖了所有合理的驾驶策略。

预期结果:PDMS 82-88,安全指标基本拉满,EP 达到 0.75-0.85。

2.2.1 Scoring-based 的 Generator 设计细节

Generator 的设计直接决定了候选轨迹的质量和多样性。我来深入拆解几种主流 Generator 的设计:

CVAE-based Generator

条件变分自编码器是最常见的 Generator 架构。训练时学习一个条件分布 p(τ|x),其中 τ 是轨迹,x 是场景上下文。推理时从潜变量 z ~ N(0, I) 采样,解码生成轨迹。

场景编码 => 潜变量 z 采样 => 轨迹解码

优点:训练稳定,可以通过调整 z 的采样数目来控制候选数量。 缺点:生成的轨迹多样性有限,容易收敛到平均值(mode collapse)。

Anchor-based Generator

预先定义一组"锚点轨迹"(比如左转、直行、右转、减速等),然后基于场景上下文对这些锚点做偏移修正。

预定义 K 个 Anchor 轨迹 => 对每个 Anchor 预测偏移量 => K 条候选轨迹

优点:多样性有保证(只要 Anchor 覆盖了主要驾驶模式),训练稳定。 缺点:Anchor 的设计需要手工经验,可能遗漏某些模式。

Diffusion-based Generator

使用扩散模型直接生成轨迹。扩散模型天然支持多模态生成,通过随机噪声采样可以得到多样化的轨迹。

场景编码 => 初始噪声 => 多步去噪 (t=T to t=0) => 候选轨迹

优点:生成质量高,多样性好,覆盖了训练数据的完整分布。 缺点:推理计算量大(需要多步去噪),训练不如 CVAE 稳定。

我的建议:从 CVAE 开始(最简单),效果不够再用 Diffusion。Anchor-based 不适合做高分段(固定 Anchor 限制了上限)。

2.2.2 候选数量的选择

候选数量 K 的选择直接影响最终分数。太小了覆盖不够,太大了打分器负担重且可能存在噪声。

K覆盖度打分器负担典型 PDMS
1极低无75-80
3低低80-85
6中等中等85-90
12高较高88-93
32很高高90-94

在实际实验中,K=12 是一个很好的 trade-off。从 6 提升到 12 收益最大,从 12 提升到 32 收益递减。

但要注意:K 的增加会降低推理速度(因为打分器需要对 K 条轨迹都做评估)。权衡速度和分数,K=12 是推荐的默认值。

2.3 88 ≤ PDMS < 92:候选质量决定上限

到了这个阶段,你会发现安全指标(NC、DAC、TTC、C)已经基本满分了,但 PDMS 就是上不去 90。问题出在EP 和候选质量上。

候选轨迹质量:你的上限在哪里?

关键洞察:打分器再强也救不了烂候选。

这个阶段你需要做两件事:

第一,提升候选轨迹的多样性。

如果你的 Generator 生成的所有候选轨迹都是"直行",那在"需要让行/绕行/减速"的场景里,打分器即使知道该怎么做,也没有合适的候选可以选。

怎么提升多样性?

  • 增加候选轨迹数量 K(比如从 6 提升到 12)
  • 在 Generator 中使用 Diverse Sampling(如 CVAE + 多个潜变量)
  • 使用 Diffusion/Flow 模型做生成(天然的多模态能力)

第二,引入蒸馏机制。

这是从 88 到 92 的关键一步。核心想法:用打分器来训练 Generator。

打分器知道什么是好的轨迹(分数高),但 Generator 不知道怎么生成"高分轨迹"。蒸馏就是让 Generator 学习生成打分器认为好的轨迹。

具体做法:

  1. 对每个场景,用 Generator 生成 K 条候选轨迹
  2. 用打分器对每条轨迹打分
  3. 选最高分的轨迹作为"伪标签"
  4. 用这个伪标签训练 Generator

这个蒸馏过程可以迭代多轮,每次迭代都能提升 Generator 生成高质量候选的能力。

预期结果:PDMS 88-92,EP 达到 0.85-0.93,候选轨迹覆盖大部分合理驾驶策略。

2.4 PDMS ≥ 92:CLOVER 的天地

92 分以上是 CLOVER 的统治区间。这个阶段唯一的瓶颈就是 EP。

当安全指标全部满分、舒适度满分、候选质量足够好时,你的 PDMS ≈ EP。而 EP 的上限取决于:

  1. 你选择的参考前进量(reference progression)
  2. 你能否让主车在所有场景下都开得"足够快足够远"

EP 的数学定义:EP = min(ego_progression / reference_progression, 1.0)

所以 EP 优化的本质是:在所有场景下,让主车的前进量接近或达到参考值。

但这个参考值本身是保守的(28.0m / 8s in test-hard),所以即使你开得很快,EP 也可能只是 0.9 左右。要达到 0.95+,你需要让主车在几乎每个场景都几乎不走冤枉路。

CLOVER 凭什么能做到 94.5?

  • 闭式蒸馏(Closed-form Distillation):一步到位而非多步迭代
  • 同时优化 Generator 和 Scorer:不再固定一端训练另一端
  • 数据 + 策略双提升:用排名高的数据做训练

我们下一节详细讲。


三、三大技术路线深度对比

三大技术路线深度对比

你的资源和技术栈决定了你应该走哪条路。没有放之四海皆准的最优方案。

3.1 路线 A:Scoring-based 范式(CLOVER 为代表)

这是最成熟、最高分、最稳定的路线。

核心思想:将规划问题拆解为"候选生成 + 打分排序"两个阶段。Generator 负责生成多样化的轨迹,Scorer 负责选出最好的。

为什么它统治了排行榜:

  • 打分器提供了可解释的安全性保障
  • 候选多样性确保了决策空间的覆盖
  • 蒸馏机制持续提升候选质量

CLOVER 的关键创新:

全称 Closed-form Distillation for Scoring-based Planning。

传统的蒸馏是"先生成→打分→蒸馏→再生成"的迭代过程,而 CLOVER 提出了一个解析解:直接将打分器的梯度信息传回 Generator,使得 Generator 的更新方向直接与最终分数挂钩。

具体来说:

  • 传统的 Scoring-based:Generator 和 Scorer 分开训练,通过蒸馏间接连接
  • CLOVER:将 Generator 的输出直接映射到分数空间,端到端优化

这听起来像是一个简单的 trick,但实际上它消除了蒸馏过程中的信息损失。传统蒸馏中,Generator 只会学到"生成最高分的候选",但不知道为什么某个候选分数高、其他候选差在哪里。

CLOVER 的闭式解让 Generator 学到打分器的完整排序偏好,而不仅仅是一个伪标签的回归。

CLOVER 的训练流程:

  1. 初始化 Generator(可以是 SFT 后的模型)
  2. 初始化 Scorer(用 NAVSIM scorer 做监督)
  3. 闭式蒸馏:联合优化 Generator 和 Scorer
  4. 多轮迭代,最终达到收敛

每一轮蒸馏中,Generator 和 Scorer 都在联合优化。Generator 学习生成打分器认为好的轨迹,Scorer 学习更准确地评估这些新生成的轨迹。

CLOVER 的闭式蒸馏伪代码

为了帮助理解闭式蒸馏的核心机制,用伪代码来描述算法流程:

[初始化] G = Generator(随机初始化或SFT预训练) S = Scorer(用NAVSIM scorer预训练)

[闭式蒸馏循环] for epoch in range(N): batch = sample_scenes(navtrain)

// 1. Generator生成候选轨迹
trajectories = G.generate(batch, K=12)

// 2. Scoring打分
scores = S.score(batch, trajectories)   // shape: [B, K]

// 3. 选出最高分候选
best_idx = argmax(scores, dim=-1)       // shape: [B]
best_trajs = gather(trajectories, best_idx)  // shape: [B, T, 2]

// 4. [闭式蒸馏的核心]
//    不直接用best_trajs做MSE回归
//    而是计算所有候选的分数梯度
score_grad = softmax(scores / temperature)  // 分数转换为权重

// Generator损失:按分数权重加权所有候选
// 高分候选贡献大,低分候选贡献小
loss_G = weighted_mse_loss(trajectories, score_grad)

// Scorer损失:GT分数与预估分数的差异
gt_scores = navsim_scorer.score(batch, trajectories)
loss_S = mse_loss(scores, gt_scores)

// 5. 联合更新
G.update(loss_G)
S.update(loss_S)

与传统蒸馏的关键区别:传统蒸馏只选 best_trajs 做回归(把所有信息压缩到一个伪标签),而闭式蒸馏用所有候选的分数梯度来更新 Generator。后者保留了打分器的完整排序信息。

为什么这很重要?

假设一个场景中,候选轨迹 A(EP=0.85)和 C(EP=0.93)的分数差异很小(只有 0.2 分的差距),但候选 B(EP=0.6)的分数明显低。传统蒸馏只会让 Generator 学习生成 A(最高分),而闭式蒸馏会让 Generator 学到"A 和 C 差不多,都值得学习,B 不值得学"。这种细粒度的信息让 Generator 学到的策略更加鲁棒。

为什么 CLOVER 能拿到 94.5:

  • 候选覆盖度接近完美:几乎所有场景都有至少一条"好"候选
  • 打分器几乎不会选错:充分训练的 Scorer 在验证集上几乎 100% 正确
  • EP 极致优化:闭式蒸馏直接优化 EP,而不是间接优化

适合谁:你有计算资源做蒸馏迭代,需要稳定可复现的高分。

3.2 路线 B:扩散/Flow 生成式方法

这条路线的特点是直接生成轨迹分布,不依赖显式的打分器。扩散/Flow 模型天然适合驾驶场景——驾驶行为是多模态的(左转/右转/直行/减速等),扩散模型能很好地建模多模态分布,通过去噪过程控制生成轨迹的质量。

TransDiffuser (94.85 PDMS)

目前 NAVSIM 排行榜上分数最高的方法之一。架构核心是 Transformer 作为扩散模型主干,将场景上下文(道路、交通灯、其他车辆)编码为条件,通过扩散去噪生成轨迹。

关键成功因素:

  • 无显式打分器:生成和打分在同一模型中隐式完成,避免了打分器与 Generator 之间的信息损失
  • 扩散步数可调:推理时可以通过增加去噪步数来提升生成质量(但牺牲延迟)
  • 多样性优秀:扩散模型的随机噪声采样天然生成多样化候选,覆盖不同驾驶策略

TransDiffuser 的消融实验显示:8 步去噪已经足够达到 93+ PDMS,16 步能达到 94.85,但再增加步数收益递减。推理延迟方面,8 步去噪在 A100 上约需 15ms,优于显式 scoring-based 方案的 Generator + 12×Scorer 的总成本(约 30ms)。

但 TransDiffuser 的一个弱点是不擅长处理安全关键的长尾场景:没有显式的安全打分器,模型可能在某些罕见场景下生成不安全的轨迹——因为没有"安全筛选"这道防线。

DiffusionDrive (88.1 PDMS)

虽然分数不如 TransDiffuser 高,但 DiffusionDrive 的思路更具工程可行性:它把扩散过程在轨迹空间内完成,而不是在图像或 feature 空间。这样可以大幅减少扩散模型的参数和计算量。

DiffusionDrive 的架构特点:

  • 在 BEV feature 上做条件扩散
  • 使用较浅的扩散步数(4-6 步)
  • 推理延迟极低(< 5ms)

对于 88.1 这个分数段来说,DiffusionDrive 的效率非常高。但从 88 到 94 的差距说明:纯扩散方法在生成质量的"天花板"上不如 scoring-based 蒸馏——因为扩散模型缺乏显式的质量筛选机制。

Flow-GRPO 的尝试与反思

GRPO(Group Relative Policy Optimization)在扩散模型上的应用是一个有趣的方向。核心思路:不依赖"候选→打分"框架,而是直接在 PDMS 奖励空间下优化扩散模型的生成过程。

[Flow-GRPO 训练流程] 同一场景 => 扩散模型生成 G 条轨迹 => 计算 PDMS 奖励 => 组内标准化得 advantage => 反传梯度更新扩散模型去噪方向

但实测下来,纯 RL + Diffusion 在 NAVSIM 上的效果不如 Scoring-based 蒸馏。原因:

  • 稀疏奖励:PDMS 是场景级别奖励,大部分候选的分数差异很小,RL 难学到有效梯度
  • 无显式安全约束:RL 优化过程中没有安全筛选机制,可能学到"高风险高分"策略
  • 样本效率低:RL 需要大量 rollout 才能收敛,而扩散模型的大推理成本使得每次 rollout 很慢

个人观点:扩散 + RL 这条路线还需要新的训练技巧才能追上 Scoring-based 蒸馏。最有可能的突破方向是将打分器作为扩散模型去噪过程中的 guidance(类似 classifier guidance),而不是用 RL 做后训练。这样既保留了扩散的多模态生成能力,又获得了打分器的安全筛选能力。

扩散路线的优劣势总结

维度扩散生成式Scoring-based 蒸馏
生成质量优秀(多模态覆盖好)取决于候选集
安全筛选无显式机制有打分器做安全筛选
推理速度15-30ms(多步去噪)20-30ms(Gen + K×Scorer)
训练复杂度中等(端到端)较高(两阶段 + 蒸馏)
可解释性低(黑盒生成)高(打分器可分析)
最高分数94.85(TransDiffuser)94.5(CLOVER)

适合谁:你对生成式模型感兴趣,想做创新研究,或者需要多模态生成能力(如变道 vs 直行的多峰轨迹输出)。

3.3 路线 C:VLA + RL 范式(ExploreVLA 为代表)

这条路线的特点是:用大语言模型的推理能力做规划。

为什么用 VLA 做规划:

  • 语言模型可以理解复杂的交通规则和社会规范
  • 多模态输入(图像、语言指令、地图)可以自然融合
  • RL 可以端到端优化驾驶策略

代表方法 ExploreVLA (93.7 PDMS):

ExploreVLA 的方法论很清晰:

  1. 用预训练的视觉语言模型作为基础(VLM backbone)
  2. 在 NAVSIM 数据上做模仿学习(行为克隆)
  3. 用 RL(PPO/GRPO)做策略优化,直接最大化 PDMS

核心创新:RL 阶段使用 PDMS 分数的可微近似,使得奖励信号可以直接反传到 VLM 的 token logits 中,实现端到端优化。这个 trick 解决了 VLA 做 RL 时的"token 离散性"问题——如果只是用 RL 优化 token 选择概率,奖励信号经过 token 采样后会非常稀疏。而可微 PDMS 评分使得 VLA 的每个 token 位置都能收到梯度信号。

AutoVLA (89.1 PDMS):

AutoVLA 的思路更激进:完全用 RL 来训练 VLA,不做显式的模仿学习。

方法:

  1. 将驾驶轨迹离散化为"driving token"序列
  2. 用 VLM 自回归生成这些 token
  3. 用 GRPO 直接优化 PDMS 分数

关键设计:长 CoT 推理。“think” token 让 VLM 在生成动作之前先做推理(类似 AlpaMayo-R1 的 CoC),但推理内容不是人为标注的,而是 RL 过程中自动涌现的。

AutoVLA 的一个有趣发现:使用 GRPO 后,VLM 自动学会了在生成轨迹 token 之前先输出一段推理文本(例如"前方有行人,应该减速",“绿灯即将变黄,加速通过"等)。这种涌现的推理行为是 SFT 阶段从未教过的——说明 RL 训练不仅优化了动作,还让模型学会了"思考”。

AlpaMayo-R1(99ms 真车部署):

NVIDIA 的 AlpaMayo-R1 是目前最完整的 VLA 方案,虽然不是 NAVSIM 专属,但其方法论有很强的参考价值。

架构三组件:

  1. Cosmos-Reason VLM 骨干:预训练了 Physical AI 推理能力的 VLM
  2. Chain of Causation 数据集:结构化因果推理链(决策锚定 + 关键因素 + 组装 CoC)
  3. Flow Matching 动作解码器:将离散轨迹 token 解码为连续动力学可行的轨迹

三阶段训练:动作注入 SFT -> 推理激发 SFT -> GRPO 后训练(优化推理质量 + 推理-动作一致性 + 轨迹质量)

真车路测延迟仅 99ms,说明 VLA 的实时性瓶颈是可以被克服的——关键在于模型设计(轻量 VLM + 高效解码器)而非模型规模。

VLA 路线在 NAVSIM 上的关键挑战:

挑战原因可能的缓解方法
推理延迟VLM 自回归生成 token 需要数十到数百步使用 1-3B 小模型 + 推测解码
RL 训练不稳定VLA 参数量大,PDMS 奖励稀疏先用模仿学习初始化,再用 RL 微调
安全可靠性无显式安全筛选机制VLA + Scoring-based 联合推理
候选多样性VLM 生成天然趋同温度采样 + beam search
可复现性随机采样下结果波动大Greedy decoding + 确定性推理模式

适合谁:你做学术研究、有大把 GPU 资源、想探索 VLA + RL 的前沿方向。

3.4 我的观点

如果你只想刷高分:选路线 A(Scoring-based)。 如果你想发论文:选路线 B(扩散/Flow + 蒸馏)。 如果你想做大新闻:选路线 C(VLA + RL)。

Scoring-based 路线统治排行榜不是偶然的。它的"生成+打分"结构天然适配 PDMS 的评估方式——PDMS 本质上就是一个打分器。

但更重要的是,Scoring-based 范式的蒸馏机制是当前已知的、唯一能系统性提升 PDMS 到 92 分以上的方法。

CLOVER 的闭式蒸馏、Hydra-MDP 的多头蒸馏、CLEAR 的对比蒸馏,本质上都在做同一件事:让 Generator 朝 Scorer 的偏好方向对齐。

3.5 路线 D:世界模型 VLA 范式(前沿探索)

这是一条目前还没有在 NAVSIM 排行榜上验证到 90+ 的路线,但理论潜力非常大。世界模型 VLA 的核心思路是在"生成轨迹"的基础上更进一步:让模型不仅生成当前的最佳轨迹,还能预测轨迹执行后的未来状态,并在预测的未来状态上做规划。

世界模型 VLA 做什么?

传统 Scoring-based 规划器的工作流:

当前场景 => [Generator] => 候选轨迹 => [Scorer] => 选最优轨迹

世界模型 VLA 的工作流:

当前场景 => [策略网络] => 候选轨迹 => [世界模型] => 预测执行后果 (评估) 检查安全性、舒适度、规则遵守 (评估) 选择最优轨迹

区别在于:世界模型提供"预演"能力——在轨迹被执行之前,先仿真一遍未来几秒会发生什么,然后基于"预演结果"做决策。

代表方法

DriveDreamer(世界模型作为规划器)

  • 训练一个驾驶世界模型,学习状态转移函数 $p(s_{t+1}|s_t, a_t)$
  • 推理时在 latent 空间内"想象"多条轨迹的未来
  • 用奖励模型(类似 scoring-based 的 scorer)在"想象"的未来状态上评估
  • 选择最大化累计奖励的轨迹

Gen-Drive / 扩散世界模型

  • 用扩散模型同时建模场景演化(其他车辆的轨迹)和自车轨迹
  • 不做显式的 “决策→预测” 分离,而是联合生成自车和其他交通参与者的未来轨迹
  • 优势:对交互场景(变道博弈、交叉路口)有更好的建模

Cosmos(NVIDIA 世界基础模型)

  • 训练在数千万驾驶视频上的世界模型
  • 可以"想象"给定自车轨迹后的场景演化
  • 输出未来的视频帧,做视觉级别的 safety checking
  • 虽然还没有直接用于 NAVSIM 规划器,但其物理推理能力理论上可以直接提升 EP

GaiaFlow / 交互感知 Flow

  • 用 Flow Matching 建模交通场景中所有 agent 的联合轨迹分布
  • 自车轨迹是联合分布的一个条件维度
  • 通过边缘化其他 agent 的轨迹来评估自车轨迹的安全性

世界模型 VLA 如何帮助 90+ PDMS?

针对 EP 优化:世界模型可以"预演"不同速度下的未来场景。如果你在犹豫"这个绿灯还够不够过",世界模型可以提前模拟出 3 秒后的场景,告诉你能不能安全通过。这使得模型可以在保证安全的前提下最大化 EP——这正是 90 分以上最需要的。

针对长尾场景:世界模型的"想象"能力可以直接覆盖训练数据中没见过的场景。即使模型没见过"施工改道 + 行人横穿"的组合,也可以通过在想象空间中推理来找到安全的驾驶策略。

针对候选多样性:在世界模型的 latent 空间中搜索候选路径,比在轨迹坐标空间中搜索更高效。因为世界模型可以理解"这个区域是马路、那个区域是人行道"——它天然约束生成的候选轨迹在可行驶区域内。

为什么世界模型 VLA 还没有 90+?

尽管理论优势明显,世界模型 VLA 在 NAVSIM 上有两个核心瓶颈:

  1. 世界模型的精度不够:驾驶世界模型需要精确预测未来 8 秒的场景变化(其他车辆、行人等)。当前的世界模型在 2-3 秒后就开始产生漂移,导致"预演"结果不可靠。打分器用的是不准确预演结果,选出的轨迹自然也差。

  2. 计算成本太高:每条候选轨迹都需要世界模型 rollout 8 秒场景。如果候选数 K=12,每帧需要做 12 次 world model rollout。当前 SOTA 世界模型的单次 rollout 需要 10-50ms,12 次就是 120-600ms——远远超出实时要求。

世界模型 VLA vs Scoring-based:不是替代关系

我倾向认为世界模型 VLA 和 Scoring-based 是互补而非替代关系。

最有可能的融合路线:

Generator => 候选轨迹 => [世界模型快速预演] => [Scorer 精打分] => 选最优

用世界模型做快速预筛选(成本高但准确率高),用 Scorer 做精细打分(成本低但需要训练)。这样既利用了世界模型对场景演化的理解能力,又保持了 Scoring-based 的高效性。

适合谁:你有无限 GPU 资源、想探索下一代规划范式、不介意当前的低分但看重长远潜力。


四、EP 深度剖析:90 分以上的终极瓶颈

EP:90分以上的终极瓶颈

上面说过,当安全指标全部拉满后,PDMS 的唯一瓶颈就是 EP。现在我们来深入看看,到底怎么优化 EP。

4.1 EP 的本质

EP 衡量的是主车在 4 秒非反应式仿真(场景全长 8 秒,仿真取前 4 秒)内沿导航路线的前进量,除以一个"安全可达上界"后截断到 [0,1]。这个上界不是固定的米数,而是 PDM-Closed 规划器用特权信息搜索出来的"无碰撞、不出路"参考进度(上界低于 5 米的平凡场景直接丢弃)。所以 PO 要优化其实很简单:让主车在不出事的前提下,尽量接近特权规划器的进度。

但为什么很难做到 EP = 1.0?

因为 NAVSIM 中有很多场景要求主车停下来等:

  • 红灯前等待
  • 行人过马路时等待
  • 有车切入时减速让行
  • 交叉路口让行

在这些场景下,强行加速前进会触发碰撞(NC),导致整段分数归零。所以 EP 优化的本质是在安全和前进之间找到最优平衡。

4.2 EP 优化的三个层次

层次一:保守策略(EP 0.7-0.8)

只在安全时加速,不自信时一律减速等待。这种方法碰撞率极低,但很多场景下主车会"犹豫不前"。

典型表现:在可通行路口也要减速观察,导致 EP 偏低。

层次二:激进策略(EP 0.8-0.9)

通过学习人类驾驶数据,模型学会了在大多数场景下保持合理速度。但在少数复杂场景(无保护转弯、行人混淆场景等)会出错——要么碰撞,要么过于保守。

典型表现:大部分场景 EP 很高,但少数场景出了错导致 NC 扣分。

层次三:最优策略(EP 0.9-0.95)

模型学会了在不同场景下自适应调整速度:安全时保持高速,复杂时适当降速但不停车。这才是 CLOVER 等顶尖方案达到的水平。

4.3 CLOVER 如何优化 EP

CLOVER 的闭式蒸馏对 EP 的优化可以概括为:

Generator 不再只是模仿人类驾驶,而是模仿"打分器认为好的驾驶行为"。

人类驾驶不一定是最高分的行为——人类可能开得太慢(EP 低)、或者太激进(碰撞风险高)。而打分器训练的目标直接就是最大化 PDMS,所以打分器认为好的行为是 PDMS 最优的。

通过蒸馏:

对比实验数据(来自 CLOVER 论文):

  • 不做蒸馏的 Baseline:EP 0.82,PDMS 86.5
  • 基础蒸馏:EP 0.87,PDMS 89.2
  • CLOVER 闭式蒸馏:EP 0.93,PDMS 94.5

可以看到蒸馏的收益主要集中在 EP 上。对安全指标(NC、DAC、TTC、C)的改进很小,因为 Baseline 已经做得不错了。

从 SFT 到 CLOVER 的训练管线

五、数据集策略:在哪个数据集上训练与测试?

NAVSIM 的数据集设计非常巧妙,理解它的结构对刷分至关重要。

5.1 Navtrain vs Navtest vs Navhard

NAVSIM 有三个主要的数据集划分:

Navtrain(训练集):

  • 约 74,000 个场景
  • 覆盖了大多数常规驾驶场景
  • 场景时长:8 秒

Navtest(标准测试集):

  • 约 10,000 个场景
  • 难度分布与 Navtrain 相似
  • 排行榜上主要报告的分数

Navhard(高难度测试集):

  • 约 10,000 个场景
  • 专门筛选的高难度场景
  • 包含很多 corner case

5.2 关键洞察:用哪个数据集训练决定了你的上限

如果在 Navtrain 上训练,在 Navtest 上测试:你的模型学习的是 Navtrain 的数据分布。Navtest 和 Navtrain 同分布,所以分数会偏高。

真实场景下的泛化能力:Navtrain → Navhard 的迁移能力才是真正考验。

高分方案的训练策略:

方法训练数据NavtestNavhard
CLOVERNavtrain + 蒸馏自生成94.5~92
TransDiffuser全量数据94.85-
Hydra-MDPNavtrain + 增强91.3~89
ExploreVLANavtrain + RL93.7~90

注意 CLOVER 和 TransDiffuser 在 Navtest 上的分数非常接近(94.5 vs 94.85),但在 Navhard 上可能会有显著差异。

5.2.1 Navhard 的特殊性

Navhard 是 NAVSIM 中最难的数据集,高分方案往往在这里暴露真实差距。

Navhard 的特点:

  • 场景复杂度高:包含更多交互、更多交通参与者
  • 长尾分布:很多场景在训练集中极少出现
  • 决策多样性低:很多时候只有一种"正确"的驾驶方式

一个模型在 Navtest 上得 94 分,在 Navhard 上可能只有 88-90 分。差距主要来自:

  • 罕见场景的处理能力
  • 对复杂交互的建模
  • 候选轨迹在困难场景下的鲁棒性

提升 Navhard 分数的策略:

  1. 在 Navhard 上做蒸馏——将 Navhard 场景加入蒸馏训练。即使 Navhard 没有官方 label,你可以用 scoring-based 框架生成 pseudo-label。
  2. 困难场景挖掘——识别模型在 Navtrain 和 Navhard 中表现最差的场景,做针对性增强。
  3. 数据混合——在训练时按比例混合 Navtrain 和 Navhard 数据,不要让模型偏科。

5.3 自生成数据的策略

如果你想要真正的高分(93+),你必须做自生成数据——用当前模型在场景上生成新的轨迹,然后用打分器筛选出高分轨迹加入训练。

自生成数据的流程:

  1. 遍历 Navtrain 的场景
  2. 用当前 Generator 为每个场景生成 K 条候选轨迹
  3. 用 Scorer 对这些候选打分
  4. 筛选出分数最高的候选(或分数超过某个阈值的候选)
  5. 将这些候选轨迹作为新的训练数据(pseudo-GT)
  6. 混合原始 GT 和 pseudo-GT 重新训练 Generator

关键参数:

  • 筛选阈值:过高则数据太少,过低则数据质量差。建议用 top-10% 或分数高于某个固定阈值(比如 0.95)。
  • 混合比例:pseudo-GT 的比例太高会导致模型"自我强化"(reinforcing own biases)。建议 pseudo-GT 占比 20-30%。
  • 迭代轮数:一般 2-3 轮自生成后收益递减。过多的迭代会导致 diversity collapse。

CLOVER 的创新点之一:CLOVER 不是在 Generator 固定后做一次自生成,而是在训练过程中动态自生成。每次 Generator 更新后,都会重新生成候选,打分筛选,然后继续训练。这种"在线自生成"的方式比"离线自生成"效果更好,因为 Generator 在不断进化,生成的数据也在进化。

5.4 我的建议

如果你资源有限,优先在 Navtrain 上做精,不要去碰全量数据。原因:

  1. Navtrain 已经足够覆盖大多数场景
  2. 全量数据中难例占比低,边际效用递减
  3. 在 Navtrain 上精调比在全量数据上粗调更有效

但如果你已经有基础方案(85+),开始做自生成数据。收益:1-3 分 PDMS。


六、打分器设计:ScoreNet 的架构与训练细节

Scoring-based 范式的核心是打分器。如果你要做个自己的打分器(而不是直接用 NAVSIM scorer),以下几个细节值得注意。

6.1 ScoreNet 架构

NAVSIM scorer 是一个基于 Transformer 的打分器:

  • 输入:场景上下文 maps(车道、交通灯)+ agents(其他车辆、行人)+ 主车轨迹
  • 编码:分别对道路元素、agent 轨迹和主车轨迹做编码
  • 融合:交叉注意力融合场景信息和轨迹信息
  • 输出:标量分数(PDMS 的估计值)

6.2 训练打分器的关键

监督信号:使用 NAVSIM 官方 scorer 计算的 PDMS 分数作为 GT。

损失函数:

  • 回归损失:MSE + MAE
  • 排序损失:确保高分候选的预估分数高于低分候选

数据增强:

  • 对轨迹添加噪声
  • 随机裁剪场景
  • 混合不同场景的候选轨迹

6.3 打分器训练的几个陷阱

陷阱 1:打分器过拟合

如果你的打分器在训练集上表现完美但在测试集上很差,说明过拟合了。解决方法:

  • 增加 dropout
  • 增加训练数据(用自生成数据)
  • 使用正则化

陷阱 2:打分器不准确

打分器预估的分数和实际 PDMS 差异很大,导致选择错误候选。解决方法:

  • 检查打分器的校准(calibration)
  • 使用 ensemble 方法
  • 在困难场景上做 hard negative mining

陷阱 3:打分器偏好偏差

打分器倾向于选择某种特定的轨迹(比如过于保守的轨迹),导致 EP 偏低。解决方法:

  • 在训练数据中加入更多 EP 高的样本
  • 使用多样性奖励(diversity reward)来平衡打分

七、梯度与协作的反直觉实验

在探索 NAVSIM 高分的过程中,我碰到的几个反直觉现象值得分享。

7.1 打分器越准,Generator 越难提升?

这是一个让人迷惑的发现:如果打分器已经非常准确(在验证集上 99% 以上的排序正确率),那么蒸馏的收益反而会递减。

原因是:当打分器几乎不会选错时,Generator 只要生成一个"及格"的候选就能被选中。继续提升 Generator 的质量,并不会改变打分器的选择结果。这是一个信息瓶颈。

CLOVER 的闭式蒸馏解决了这个问题,因为它不依赖于"打分器选了什么",而是直接学习打分器的分数梯度。

7.2 多轮蒸馏不一定有效

另一个发现:多轮蒸馏有边际效用递减,甚至会出现"蒸馏退化"。

第二轮蒸馏时,Generator 生成的候选可能已经同质化(都在模仿第一轮蒸馏学到的最好轨迹),多样性反而降低了。这时需要引入多样性的保证。

解决办法:在蒸馏时加入 entropy bonus 或 diversity constraint。

7.3 Navtest 分数高 ≠ 实际能力强

这是最重要的一个警示:NAVSIM 的 Navtest 是开环评测,模型不会看到自己决策后的实际后果。

一个模型在 Navtest 上得了 94 分,但在闭环仿真中可能表现很差。这是因为开环评测中,模型不需要为自己的行为负责——它的决策不会影响后续决策的上下文。

如何避免这个问题:

  • 同时在 Navtest 和 Navhard 上评估
  • 做闭环仿真验证
  • 关注模型在长尾场景上的行为

八、消融实验深度分析

为了更清晰地理解每个模块的具体贡献,我整理了一个完整的消融实验分析。这些数据来自多篇论文和我的实测经验。

8.1 标准消融模板

实验配置Navtest PDMSNavhard PDMSNCEP
Baseline (SFT only)78.272.10.850.58
+ Scoring (K=6)85.480.30.970.72
+ Scoring (K=12)87.983.10.980.78
+ 基础蒸馏 (1轮)89.685.20.990.84
+ 基础蒸馏 (2轮)90.386.00.990.86
+ 多样性增强91.287.10.990.88
+ 闭式蒸馏 (CLOVER)94.591.21.000.93

8.2 蒸馏轮数的消融

很多人在蒸馏轮数上存在误区——认为"越多越好"。实际上,蒸馏轮数的影响非常微妙:

第 0 轮(无蒸馏):Generator 生成的候选轨迹质量完全取决于 SFT 质量。如果 SFT 训练得好,基础 PDMS 在 85 左右。但如果 SFT 质量一般,可能只有 80 出头。

第 1 轮蒸馏:收益最大。从无蒸馏到第 1 轮蒸馏,PDMS 通常提升 3-5 分。这正是大多数入门方案能达到的水平(88-90)。

第 2 轮蒸馏:收益递减。第 2 轮提升约 1-2 分。原因在于 Generator 已经学到大部分"明显"的改进空间,剩下的都是边际改进。

第 3 轮及以后:收益极小(< 0.5 分),甚至可能出现退化。退化原因是 Generator 的候选轨迹开始同质化——所有候选都集中在同一个"最优"模式,多样性下降。

什么时候停止蒸馏:

  • 当相邻两轮蒸馏的 PDMS 提升 < 0.3 分时,停止
  • 当同一场景下 K 条候选的分数方差明显下降时,停止(信号:候选同质化)
  • 在验证集上监控 EP 的分布,如果分布变窄但均值不变,停止

8.3 候选数量 K 的消融

KGenerator 计算量Scorer 计算量PDMS 变化
11x忽略-7.2 (baseline +0)
31x3x-2.8
61x6x+0.0 (基准)
121x (共享计算)12x+2.3
241x (共享计算)24x+3.1
481x (共享计算)48x+3.5

关键洞察:从 K=6 到 K=12,PDMS 提升约 2.3 分,这是最大的边际收益。再往上,收益递减。

对于实际部署,建议 K=12(推理总耗时:Generator 前向 ×1 + Scorer 前向 ×12)。对于刷榜,可以用 K=32 或更高。

8.4 打分器架构的消融

打分器架构参数量Navtest PDMS推理耗时
MLP (2层)1M86.10.1ms
Transformer (4层)8M88.50.5ms
Transformer (8层)20M89.21.1ms
Transformer (12层)35M89.41.8ms
Transformer (12层) + Ensemble140M89.77.2ms

打分器的深度在超过 8 层后收益显著递减。这是因为打分器的监督信号(NAVSIM scorer 的输出)本身包含噪声,太深的模型可能会过拟合这些噪声。

我的建议:用 8 层 Transformer 作为默认配置,如果有余力再做 4 个模型的 ensemble。

8.5 蒸馏温度的消融

闭式蒸馏中的 temperature 参数控制分数梯度的"锐度":

Temperature行为效果
小 (0.1)只关注最高分候选类似于传统蒸馏,多样性差
中 (0.5)关注 top-3 候选效果好,推荐
大 (1.0)所有候选权重相近训练稳定但收敛慢

推荐初始值 0.5,如果你的 Generator 已经质量不错(PDMS > 88),可以降低到 0.3 来更聚焦于最高分模式。


九、实战技巧总结

基于上面的分析,我总结一下在 NAVSIM 上刷高分的实战技巧。

9.1 从零开始刷分路线图

第 1 周:基础搭建

  • SFT 模仿学习:用 Navtrain 做行为克隆
  • 目标:PDMS 78-82,碰撞率 < 5%
  • 关键:数据质量比数量重要

第 2 周:Scoring-based

  • 实现 Generator-Scorer 架构
  • 训练基础打分器(用 NAVSIM scorer 做监督)
  • 目标:PDMS 84-88,安全指标基本拉满

第 3 周:蒸馏优化

  • 实现蒸馏机制(基础蒸馏即可)
  • 提升候选多样性
  • 目标:PDMS 88-91

第 4 周:闭式蒸馏(可选)

  • 实现 CLOVER 的闭式蒸馏
  • 联合优化 Generator 和 Scorer
  • 目标:PDMS 91-94

9.2 常见陷阱与解决方法

问题症状解决
碰撞率高NC < 0.9检查 SFT 质量,做碰撞场景增强
EP 低EP < 0.75增加候选多样性,优化 Generator
候选同质化所有候选轨迹相似加入 diversity constraint
打分器不准预选分数 ≠ 实际分数更深的 Scorer、更多训练数据
过拟合Navtest 高分,Navhard 低分正则化、dropout、数据增强
蒸馏退化多轮蒸馏后分数不升反降加入 diversity,减小蒸馏步长

9.3 快速提升 PDMS 的 5 个"杠杆"

如果你想用最小代价获得最大提升,按优先级做以下 5 件事:

  1. 做蒸馏(收益:3-5 分)—— 这是 88→92 的最关键一步
  2. 提升候选多样性(收益:2-3 分)—— 扩展 Generator 的覆盖范围
  3. 优化 EP(收益:1-3 分)—— 安全指标基本搞定后唯一还能优化的项
  4. 加深打分器(收益:1-2 分)—— 更准的打分器能更好地甄别候选
  5. 做闭环验证(收益:保真度)—— 确保你在 Navtest 上的高分不是"虚假繁荣"

9.4 训练超参数推荐

最后给出一些经过验证的超参数配置,节省你调参的时间:

Generator 训练:

  • 学习率:1e-4(AdamW)
  • Batch size:64-128
  • 轨迹长度:8s × 10Hz = 80 个 waypoint
  • 候选数量 K:12(训练时)/ 12-32(推理时)
  • 损失权重:Trajectory L1 Loss = 1.0, Collision Loss = 0.1 (可选)

Scorer 训练:

  • 学习率:3e-5(AdamW)
  • Batch size:32-64(每个场景 K 条候选,B×K 的总样本数)
  • 训练数据:Navtrain + 自生成(混合比例 8:2)
  • 损失函数:BCE(最大熵分类)或 MSE(回归)
  • 数据增强:轨迹加噪声(σ=0.1m)

蒸馏训练:

  • 学习率:1e-4(Generator)/ 1e-5(Scorer)
  • Temperature:0.5(闭式蒸馏)
  • 轮数:2-3 轮
  • 每轮蒸馏步数:5000-10000 steps

硬件要求:

  • Generator + Scorer:4×A100(~3 天训练到 90+)
  • 仅蒸馏:1×A100(~1 天)
  • 推理(单场景):~5ms(Generator)+ 12×~2ms(Scorer)= ~30ms

十、展望:PDMS 95+ 的下一步

CLOVER 的 94.5 让人印象深刻,但它真的是上限吗?我觉得不是。以下是我认为还能突破的方向。

10.1 扩散模型 + Scoring-based 的融合

TransDiffuser 证明了扩散模型在规划上的潜力,但它目前还没有和 Scoring-based 范式深度融合。

我猜下一个突破会是:用扩散模型做 Generator,Scoring-based 做选择。扩散模型的生成多样性天然优于 CVAE,但需要解决推理速度问题。

10.2 多模态决策融合

当前的方案大多只做"单模态轨迹生成"(预测主车轨迹)。但其实规划问题可以拆解为"决策 + 轨迹"两个维度。

一个可能的突破方向:先用一个决策模块输出意图(如"直行"、“左转”、“等待"等),然后为每个意图生成轨迹。这样可以在决策层面保证多样性,再在轨迹层面做精细优化。

10.3 RL + Scoring-based 的融合

GRPO 在 Diffusion 上的尝试虽然效果有限,但 RL + Scoring-based 的融合可能更有前景。

具体来说:用 RL 优化 Scoring-based 框架中的某个环节(比如 Generator),而不是做端到端 RL。这样既能利用 RL 的长处(探索),又能保留 Scoring-based 的稳定性。

CLOVER 的蒸馏本质上和 RL 有共通之处——“Generator 生成轨迹→Scorer 评估→反馈→改进"的循环,和 RL 的"actor-critic"结构非常相似。

10.4 更高效的数据利用

NAVSIM 的数据利用率其实很低。目前大多数方案只用了 Navtrain(74k 场景),而 NAVSIM 全量数据约有数百万场景。

如果能高效利用全量数据(特别是其中的难例),应该能有 1-2 分的提升。

10.5 可解释性与可控性

当前的高分方案基本是"黑盒”——模型输出一个轨迹,你不知道它为什么选择这个轨迹。

未来方向:让 Scoring-based 范式的打分解更加可解释。比如打分器不仅输出一个总分,还输出每个子指标(NC、EP、TTC、C)的预测分数。这样开发者可以理解模型的决策逻辑,在出现问题时可以针对性修正。

CLOVER 已经有这个雏形——它的打分器实际上预测的是 PDMS 的各个分解项,最终分数是这些分解项的加权组合。这个方向值得持续关注。

10.6 实时性与效率

目前的推理速度:Generator(~5ms)+ Scorer × K(~24ms),总计约 30ms 在 A100 上。这对实时部署来说还有点紧张(需要至少 20ms 以内)。

优化方向:

  • Scorer 的轻量化(用 MLP 替代 Transformer)
  • 候选的剪枝策略(先用快速打分器初筛,再用精打分器精选)
  • ONNX / TensorRT 部署优化

十一、EP 增益方法论深度调研:最近一年 PDMS 崛起的真正引擎(2026-10 增补)

本章回应一个具体的调研命题:最近一年 NAVSIM navtest 的 PDMS 涨得很快,主要是不是 EP 指标贡献的?如果是,各路高分模型具体是用什么方法论把 EP 抬上去的? 本章基于 2024-2026 年公开论文与榜单数据逐篇核对(数据截止 2026-10-10,11.1 节收录约 40 个有公开子指标的方法),结论先行:是的——过去两年第一梯队的 PDMS 涨幅中,EP 平均贡献了约 60%~70% 的增量,且头部模型的 EP 已经全面超越人类驾驶员(87.5);背后的方法论可以归纳为五大流派,外加三条补充杠杆。

11.1 先看数据:一年来 PDMS 的涨幅到底是谁贡献的

把 navtest 上有公开子指标的方法按时间排成一张表(统一为 NC/DAC/TTC/Comf./EP/PDMS 六列,EP 一律加粗;均为 navtest 官方口径,ResNet-34 与更强 backbone 混排、以及个别由后续论文转引的数字,已在表后备注):

时期方法NCDACTTCComf.EPPDMS
2024 基线期Ego-MLP(盲agent)93.077.383.610062.865.6
2024 基线期UniAD97.891.992.910078.883.4
2024 基线期LTF(官方视觉基线)97.492.892.410079.083.8
2024 基线期TransFuser97.792.892.810079.284.0
2024 基线期PARA-Drive97.992.493.099.879.384.0
2024 基线期VADv2(C&L 复现口径)97.289.191.610076.080.9
2024DRAMA(Mamba)98.093.194.810080.185.5
2024Hydra-MDP(R34, CVPR24冠军)98.396.094.610078.786.5
2024Hydra-MDP(V2-99 强backbone)98.497.893.910086.590.3
2024DiffusionDrive98.296.294.710082.288.1
2025 上半ARTEMIS(MoE 自回归)98.395.194.310081.487.0
2025 上半WoTE98.596.894.999.981.988.3
2025 上半FUMP(运动-规划统一, C&L)98.196.294.210082.087.8
2025 上半Epona(自回归扩散世界模型)97.995.193.899.980.486.2
2025 上半World4Drive(意图感知世界模型)97.494.392.810079.985.1
2025 上半GoalFlow(CVPR25)98.498.394.610085.090.3
2025 上半SafeDrive(极端保守型)99.599.097.2—84.391.6
2025DriveSuprim(R34)97.897.393.610086.789.9
2025DriveSuprim(ViT-L)98.098.294.210090.093.5
2025Hydra-MDP++98.698.695.110085.791.0
2025AutoVLA(VLA+GRPO)98.495.698.099.981.989.1
2025ReCogDrive(ICLR26, VLM+RL)97.997.394.910087.390.8
2025DiffusionDriveV2(RL)98.397.994.899.987.591.2
2025Centaur(TTT 测试时训练)99.598.998.010085.992.6
2025DriveVLA-W0(世界模型 MoE VLA)98.799.195.399.383.390.2
2025 下半iPad(迭代 proposal)98.698.394.910088.091.7
2025 下半SparseDriveV2(稀疏联合)98.598.495.0—88.692.0
2025 下半DIVER98.596.594.9—82.688.3
2025 下半DrivoR(trainval)99.098.996.710090.093.7
2025 下半RAP-DINO99.198.996.710090.393.8
2025 底CLOVER(闭式蒸馏+打分)99.199.096.910091.794.5
2026MeanFuser(单步 MeanFlow)98.697.095.010082.889.0
2026Drive-JEPA(视频 JEPA+蒸馏)98.796.295.510082.989.0
2026DRIFT(边界正则, 非打分器 SOTA)98.697.694.610084.089.6
2026SimWAM(+RL, 单前视)98.498.795.5—86.491.5
2026DriveFuture(潜空间世界模型)—————90.7
2026MM-Future(多模态世界-动作)————91.694.0
参照PDM-Closed(特权规划器)94.699.889.986.999.989.1
参照人类驾驶员10010010099.987.594.8

备注:① VADv2 一行采用 ARTEMIS/FUMP 两篇论文独立复现的 C&L 口径(与其原论文 camera-only 报告略有出入,此处取复现一致值);② DriveSuprim ViT-L 的 EP=90.0 来自其原论文,部分后续论文(CLOVER/DrivoR 等)转引为 91.3,榜单以原论文为准;③ Hydra-MDP++ 一行取 v1 navtest 口径(其 v2 EPDMS 为 81.4,EP 在 v2 反映口径下为 83.1);④ 标”—“表示该子指标未在同口径表中公开。

从这张表能读出三件事:

  1. 安全类子指标在 2024 年就饱和了。NC/DAC/TTC/Comfort 从 UniAD 时代(2024 初)到现在几乎没变——大家都稳定在 NC≈98、DAC≈97、TTC≈94、Comf≈100。模仿学习把这些"不出事"的能力早就教完了。唯一的例外是 SafeDrive 把安全三项刷到历史极端值(99.5/99.0/97.2),但代价见 11.4 节。
  2. EP 是唯一还在大幅爬升的子指标。2024 初的 7879(UniAD/LTF/TransFuser/PARA-Drive 四家挤在一起)→ 2024 底 82(DiffusionDrive)→ 2025 中 8587(GoalFlow 85.0 / ReCogDrive 87.3 / DiffusionDriveV2 87.5)→ 2025 下半 8890(iPad 88.0 / DrivoR 90.0 / RAP-DINO 90.3)→ 2025 底2026 91+(CLOVER 91.7 / MM-Future 91.6)。两年涨了约 13 个点,而同期 PDMS 也正好涨了约 10 个点——PDMS 的涨幅几乎全部由 EP 解释。注意中间梯队(WoTE/ARTEMIS/FUMP/Epona/World4Drive 等)EP 仍卡在 8082,说明涨 EP 的方法论并没有"人尽皆知”,知道怎么涨的(打分/蒸馏/RL)和没涨的之间拉开了 610 个 EP 的差距。
  3. 头部模型的 EP 已经超过人类(CLOVER 91.7 / MM-Future 91.6 vs 人类 87.5),而特权规划器 PDM-Closed 的 EP 是 99.9——说明 EP 的归一化上界是"规则规划器能走多远",不是"人类演示走多远"。这不是说模型比人开得好,而是说明 EP 这个指标已经不能用"模仿人类"来解释了——11.2 节会讲清楚为什么。

用增量分解验证一下"主要是 EP 贡献"这个命题:从 PARA-Drive(PDMS 84.0, EP 79.3)到 MM-Future(94.0, EP 91.6)总涨幅 10.0 分,其中 EP 从 79.3 → 91.6(+12.3)按 PDMS 加权公式折算(EP 权重 5/12)贡献约 +5.1 分,NC/DAC/TTC 的小改善再贡献约 +1~2 分,其余来自更强 backbone 与蒸馏/RL 的交互项。换一组端点也成立:DiffusionDrive(88.1, 82.2)→ CLOVER(94.5, 91.7),PDMS +6.4 中 EP 折算贡献 +3.9,超过 60%。保守估计 EP 直接贡献了 50% 以上的 PDMS 增量;若只看第一梯队内部(安全已饱和),这个比例接近 70%。

交叉验证来自一篇 2026 年 4 月的跨基准相关性研究(arXiv 2605.00066,NAVSIM×Bench2Drive 配对 8 个方法):

  • EP 是预测真闭环成功率的最强单一子指标(Spearman ρ=0.83),远超安全指标 NC(ρ=0.45);
  • 更狠的结论:只用 NC×DAC×EP 三项的"CL-Proxy"分数,就能达到与完整 5 项 PDMS 相同的排序相关性(ρ=0.90)——TTC 和 Comfort 在当前头部方法上已经不提供额外排序信息;
  • 该研究同时点名了反例 SafeDrive:安全三项全部历史最高但 EP 只有 84.3,在真闭环里因"太慢"被惩罚,排名倒挂。安全-进步权衡是刷分与真实能力之间最大的裂缝(11.4 节展开)。

11.2 为什么 EP 是"模仿学习天花板之上"的指标——结构性原因

这是理解全部 EP 方法论的钥匙。NAVSIM 原文里有一句容易被忽略的话:

“EP cannot be solved purely by human imitation, given that the maximum progress estimate used for normalization is based on a privileged rule-based motion planner.”

翻译过来:EP 的归一化上界是 PDM-Closed 特权规划器的进度,不是人类演示的进度。人类演示本身 EP 只有 87.5,而上界是规则规划器用特权信息搜索出来的"物理可达最大安全进度"。所以:

纯模仿学习的 EP 天花板 ≈ 人类演示水平 ≈ 85~87
EP > 87.5 必须注入"人类演示之外的知识":
  打分器偏好 / 模拟器奖励 / 特权教师 / 世界模型先验 / 几何正则
一年来所有 EP 方法论,本质上都是在回答同一个问题:
  "如何让模型知道人类演示里没写、但打分函数喜欢的行为?"

再看模仿学习卡在哪:IL 学的是人类演示的条件分布均值。而"前车慢行"这类场景的真实分布是双峰的——“跟车等"和"变道超"都是人类会做的合理决策。均值落在两峰之间,产出一条谁也不像的保守轨迹:减速但不减到位、超车但不敢打满方向。EP 就在这种"犹豫的平均值"里流失。要打破它,要么让模型看到多峰并选峰(多模态生成+选择),要么让模型收到"哪个峰分数高"的直接信号(蒸馏/RL)。这就是五大流派的共同出发点。

顺带解释场景层面 EP 丢在哪(排查自己的 EP 时对着这张清单看):

犵豫场景模型的典型错误谁能修
前车慢行/停止,相邻车道可超选择跟车减速(模仿里"安全"的那峰)打分选择/RL/蒸馏
无保护左转,对向车间隙足够等到仿真结束都没走(4 秒全耗掉)RL/世界模型(预判间隙)
路口绿灯已亮、前车刚起步起步加速度不足,4 秒只走了半程速度先验/几何正则
道路轻微弯曲轨迹贴中心线内侧走,用了半条车道边界正则(DRIFT)
静止障碍物借道绕行不敢压线,死等v2 人机同责过滤 + RL

11.3 五大流派方法论逐篇拆解(本章核心)

一年来把 EP 从 79 抬到 91+ 的方法,按机制可以干净地分成五派。每派给出代表作、数字、以及"为什么它能涨 EP”。

流派一:打分选择——生成 K 条候选,让打分器挑走得最远的那条

机制:Generator 产出 K 条覆盖不同模式的候选(跟车/超车/直行/转弯),一个轻量 Scorer 给每条估 PDMS(或其分解项),推理时取分最高的。选择步骤本身就是"在安全候选里最大化 EP"的离散优化——Generator 只需要覆盖高 EP 的模式,不需要自己敢开。

代表作与数字:

方法机制要点EPPDMS
GoalFlow(CVPR 2025, 地平线)目标点词表 + 目标点打分器选终点,Rectified Flow 单步生成,末端轨迹打分器在"到目标点距离 vs EP"之间权衡79.3→85.084.0→90.3
GoalFlow†(oracle 目标点)用真值轨迹终点当目标点,展示上界85.492.1
DriveSuprim(2025)精确轨迹选择:对候选做"抑制式"排序,避免近重复候选挤占选择名额86.7(R34)→90.0(ViT-L)89.9→93.5
MM-Future(2026)每条候选配一条"成对预测的未来",用未来条件化的打分器排序91.6(榜单最高)94.0

为什么涨 EP:选择是零训练成本的 EP 杠杆。GoalFlow 的消融很直白——同样的生成器,换上"距离-EP 权衡"的轨迹打分器后 EP 从 79 档跳到 85 档。MM-Future 的消融则证明"成对未来条件化打分"还能再把每条候选的分数判得更准(配对后 NC/DAC/TTC/EP 全部 +0.1~+0.5)。

一个非常有说服力的旁证是 Best-of-N(BoN)oracle 上界:如果允许用"作弊打分器"(直接拿模拟器真实 PDMS 给 N 条候选排序取最优),AutoVLA 的 EP 从单模的 81.9 跳到 BoN 的 87.6(+5.7),DriveVLA-W0 从 83.3 跳到 88.3(+5.0)。这说明:这两个 VLA 的候选集里其实已经藏着"敢走"的轨迹,差的只是一个能认出它们的打分器——选择的天花板远比大家以为的高,流派一不是小打小闹,而是结构性红利。同理,DRIFT 论文的反向消融也很说明问题:48 条候选如果直接取物理空间平均,EP 掉到 81.6;换成学习的场景感知聚合头,EP 回到 84.0(+2.4)——不会选,多模态反而互相抵消。

适用与局限:这是本文第三节 CLOVER 路线的同族。上限取决于两点——候选集是否覆盖高 EP 模式(Generator 多样性)、Scorer 排序是否与真实指标一致(11.4 节的 SafeDrive 就是 Scorer 偏向安全导致 EP 留在 84 的案例)。

流派二:多教师蒸馏——把"打分器的偏好"在训练期灌进学生

机制:不满足于推理时选,而是在训练时就把"模拟器/打分器喜欢什么"变成监督信号。标准做法(Hydra-MDP):

两步走:
  ① 离线: 对训练集全量跑离线仿真,给"轨迹词表"V_k 里的每条候选
     打上逐指标分数标签 (NC/DAC/TTC/EP/C 各一个)
  ② 训练: 多头解码器 K 条候选,每个头用 BCE 预测自己那条的各指标分数
     同时保留对人类轨迹的模仿损失
  推理: 按预测分数选总代价最低的候选
关键论文原话: "distillation of EP can improve the corresponding metric"
  ——蒸谁的 EP 标签,谁的 EP 就涨

代表作与数字:

方法机制要点EPPDMS
Hydra-MDP(CVPR24 挑战赛冠军, NVIDIA)多教师(人类+PDM规则教师)多目标 hydra 蒸馏,多头解码器预测各指标分数78.7(R34)→86.5(V2-99)86.5→90.3(后续版本 91.0)
Hydra-MDP++(2025)加入规则专家教师,补 NAVSIM 教师覆盖不到的不安全行为v2 EP 83.1v1 继续提升
TrajHF 等轨迹偏好蒸馏系对候选做排序/偏好蒸馏(类似 DPO 的轨迹版)+2~4 档+2~3 档
CLOVER 闭式蒸馏(本文 §4.3)Generator 直接拟合"Scorer 最优轨迹",消除传统蒸馏的信息损失0.82→0.9386.5→94.5

为什么涨 EP:蒸馏把"离线仿真才知道的进度知识"变成了学生的内化行为,推理时不需要跑打分器。Hydra-MDP 冠军版的 EP 其实不高(78.7,因为它蒸的是综合指标而非偏科 EP),但它的方法论框架被后续所有工作继承——把 EP 单独作为一个蒸馏目标(W-EP 变体)后 EP 显著上涨,这个消融在论文最终版里被明确标注。

适用与局限:需要能批量离线仿真打标(navtrain 74k 场景 × K 候选,一次性成本可观)。优点是推理零额外开销、与任何 Generator 架构兼容。

流派三:强化学习——直接拿含 EP 的 PDMS 当奖励优化

机制:采样一组轨迹 → 在模拟器/打分器里算奖励(奖励=PDMS,天然含 EP 项)→ 组内相对优势归一化做策略梯度。这是字面意义上的"直接优化 EP",2025 下半年到 2026 年 EP 涨幅最猛的一批工作全是这一派。

代表作与数字(消融最干净的三篇):

方法RL 配方EP 增量PDMS
DiffusionDriveV2(2025-12)RL 约束的截断扩散:在截断扩散采样上加 RL,解决 IL 多样性-质量两难82.2→87.5(+5.3)88.1→91.2
ReCogDrive(ICLR 2026, 小米)DiffGRPO:VLM 认知 token + 扩散规划器,GRPO 组采样(G 条轨迹)用 PDMS 当奖励 + BC 正则80.9→87.3(RL 单独贡献 +6.4)86.5→90.8
SimWAM(2026)FlowGRPO 式 RL,只在模仿 PDMS<90 的难例子集上做 RL,G=883.9→86.4(+2.5)90.3→91.5

三个关键细节,全是可抄的工程结论:

  1. RL 的增益几乎全部落在 EP 上。ReCogDrive 的算法对比表(DiffGRPO 90.8 vs DPPO/REINFORCE 89.5)显示差距主要就是 EP(87.3 vs ~82.9)——同样的 RL 预算,组相对优势(GRPO 式)比标量基线更能把"敢走"的行为学出来。
  2. RL 只需要打难例。SimWAM 的做法:先模仿训练,筛出 PDMS<90 的难例场景子集再 RL——计算省一个量级,还避免在简单直行场景上把已会的行为训退化。
  3. 必须带 BC 正则。所有正经的 RL 工作都保留行为克隆项防策略漂移——纯 RL 会在模拟器里学出"reward hacking"式的怪异轨迹(蹭着障碍物擦边冲进度)。

为什么涨 EP:奖励函数里 EP 权重 5/12,组采样天然覆盖"保守峰"和"激进峰",优势归一化让"同一场景下比同组更远且没出事"的轨迹获得正梯度——这正是打破 11.2 节"犹豫均值"的机制。你们组(Flow-GRPO 出身)对这套应该非常熟悉:SimWAM 的配方(难例子集+G=8+BC正则)就是 Flow-GRPO 在 NAVSIM 上的当前最优实践。

流派四:世界模型/未来条件化——先想清楚后果,再决定走不走

机制:让模型显式预测未来状态(潜空间或像素),当前决策以"未来"为条件。逻辑链:EP 损失大量来自"不敢走",而不敢走的原因是不知道 2 秒后会不会撞——世界模型把这个不确定性在规划前就 rollout 出来,模型看到"这个间隙 2 秒后是安全的"就敢加速。

代表作与数字:

方法机制要点EP 相关证据PDMS/EPDMS
SimWAM 消融(2026)同架构三档:纯动作 vs +视频共训 vs +RLaction-only EP 81.7 → +视频 83.9(+2.2) → +RL 86.486.6→90.3→91.5
DriveFuture(2026-05)潜空间世界模型:训练用 GT 未来潜变量做条件,推理用预测的未来潜变量做条件(“future-aware”)navhard EPDMS 榜首 55.5v1 PDMS 90.7
MM-Future(2026-09)多模态联合世界-动作建模:K 条未来与 K 条动作成对生成,成对打分多模态生成消融:单模 EP 79.3 → 多模 88.6(+9.3!)94.0 / EPDMS 91.5
Epona / World4Drive / Drive-JEPA各式世界模型辅助EP 79.9~82.9 档85~89 档

两个反直觉的量化发现:

  1. 视频/世界共训本身就涨 EP(+2.2),不需要推理时真的 rollout 视频。SimWAM 甚至只用单前视相机。这说明世界知识的收益主要在表征层——模型内部化了"物体怎么动"的先验,规划时自然少犹豫。
  2. MM-Future 的最大单项增益不是世界模型,而是"多模态"(+9.3 EP)——单模生成器 EP 只有 79.3(和 2024 年的 PARA-Drive 一个水平!),换成 32 候选多模态后直接 88.6。这给所有单模回归式规划器敲了警钟:EP 的第一杀手是单模态,世界模型是锦上添花。

适用与局限:推理成本高(rollout 时延),且有幻觉风险(本文另一篇 Cosmos 文章的主题)。当前性价比排序:多模态 > 世界共训 > 推理时 rollout。

流派五:几何/正则化技巧——不训练大模型也能涨 EP 的免费杠杆

机制:不引入打分器/RL/世界模型,只在损失函数或后处理里注入几何先验。

技巧代表机制效果
可行驶域边界正则DRIFT(2026-07)惩罚出多边形的路点 + 惩罚贴着边界内侧的路点——逼模型用满整条车道而不是贴中线走EP 84.0(消融:单独去掉边界项掉到 83.3,即 +0.7 白送);非打分器方法 SOTA:89.6 PDMS / 90.4 EPDMS
目标点锚定GoalFlow用打分选的目标点当生成条件,轨迹不再自由漂移EP 85.0(消融显示 oracle 目标点 85.4,说明目标点质量≈EP 上限)
速度/加速度先验注入NAVSIM 消融 B1/B2ego status 只给 goal 时 EP 77.3,加上速度后 77.8;更好的做法是沿中心线预测目标速度小幅但稳定的 +0.5~1
v2 人机同责过滤NAVSIM v2 官方人类也会违规的场景不罚(如必要借道绕行)指标侧解锁"合法激进",v2 榜单 EP 普遍高于 v1 同方法

DRIFT 值得单独说:它证明了**“车道利用不充分"是一个被所有人低估的 EP 漏洞**——大量场景里模型走中间、留着两边余量,4 秒下来比打满车道宽度少走 1~2 米。一个 map-derived 的正则就能把这部分白送的进度捡回来,而且完全不碰安全指标。它的消融还拆出了另一半贡献来源:去掉生成式 Decoder(退回单模回归)EP 掉到 83.1(-0.9)——边界正则和多模态生成是两条独立的免费 EP 杠杆,叠加起来 +1.6。

流派之外的三条补充证据(架构路由 / 多智能体数据 / 数据规模)

五大流派之外,还有三个"不那么主流但量化干净"的 EP 杠杆,值得一并记下:

杠杆代表机制EP 证据
MoE 架构路由ARTEMIS(2025-04)不靠打分器,靠 MoE 的内生路由让不同专家专注不同驾驶模式,路由决策本身就是隐式选择内生路由 EP 81.4 vs 用驾驶指令指定专家 EP 78.5(+2.9 全部来自路由);去掉 MoE 整体掉到 78.2(-3.2)
多智能体数据复用FUMP(2025-07)把场景里其他车辆的轨迹也当"专家演示"联合训练(运动预测+规划统一解码),相当于免费扩充了策略多样性TransFuser 复现底座 EP 80.7 → FUMP 82.0(+1.3),纯数据侧收益、零推理开销
数据规模扩展DrivoR(2026-01)同架构下加仿真合成数据(SimScale)做增广训练navtrain EP 90.0 → +65k 仿真 90.3 → +134k 仿真 91.6(+1.6),规模效应在 EP 上还没饱和

三条的共同点:都不直接接触打分器/RL 奖励,但都在增加"策略空间的覆盖度”——MoE 路由是架构内的隐式多模态,多智能体数据是数据侧的隐式多模态,仿真增广是数据分布的外推。这从另一个角度印证了 11.2 节的诊断:EP 的本质瓶颈是"敢不敢覆盖保守均值之外的行为模式",凡是能让模型"见过并练过更多模式"的手段,EP 都会涨。

五派速览与组合建议

                 训练成本   推理开销   EP增益天花板   实现难度
打分选择(流派1)   低(训Scorer)  +Scorer时延   ~87档      低
多教师蒸馏(流派2) 中(离线打标)  零           ~90档      中
RL(流派3)         中(采样G条)   零           ~92档      中高
世界模型(流派4)   高           高           ~92档      高
几何正则(流派5)   极低         零           ~85档      低
架构路由(补充1)   低(改结构)   零           ~82档      低
多智能体数据(补充2) 低(改数据)  零           ~83档      低
数据规模(补充3)   中(合成数据)  零           ~92档      中

当前榜单头部(DriveSuprim 93.5 / CLOVER 94.5 / MM-Future 94.0)的配方本质都是组合拳:
  多模态生成(流派4的第1条) + 打分选择(流派1) + 蒸馏或RL(流派2/3) + 几何正则(流派5)
  ——再把架构路由/多智能体数据/规模增广当免费的底座加成叠上去

给不同资源条件的推荐组合:起步(有 IL 基线)→ 流派5 边界正则 + 流派1 推理期 K 候选打分选择,一周内见效;进阶(有离线仿真管线)→ 流派2 EP 专项蒸馏;冲榜(有模拟器采样预算)→ 流派3 难例子集 GRPO,叠加在蒸馏之后;前沿(不差卡)→ 流派4 多模态世界-动作联合建模(MM-Future 路线,当前上限最高)。

11.4 安全-进步权衡:EP 的暗面与 v2 的修正

EP 不是越高越好——脱离安全约束刷 EP 就是刷分作弊。三个必须讲清楚的点:

  1. SafeDrive 案例(反面教材)。NC 99.5 / DAC 99.0 / TTC 97.2,安全三项全部历史最高,但 EP 只有 84.3。在 NAVSIM v1 榜单上它靠安全乘子拿了 91.6 的高分,但在 Bench2Drive 真闭环里排名直接倒挂——因为真闭环有"太慢"惩罚,NAVSIM v1 没有。如果你的 Scorer 训练时过度加权安全项,就会复刻这个错误。
  2. EP 超过人类(91.6 > 87.5)的正确解读。不是模型比人类司机更会开,而是:① 归一化上界是特权规划器而非人类;② 4 秒非反应式仿真里"激进但没撞"不被追责;③ 人类演示员在采集时带着"别出事"的额外保守。EP>87.5 的部分是"指标红利",不要把它当成真实能力的证据——这也是跨基准研究发现排名倒挂的根源。
  3. v2/EPDMS 的修正方向。NAVSIM v2 把指标从 5 项扩到 9 项(新增 DDC/TLC/LK/HC/EC),加了两阶段反应式仿真,并引入"人机同责过滤"(人类也会违规的场景取消惩罚,合法化必要借道)。EP 在 v2 里权重仍是 5,但反应式二段让"真犹豫"的代价显性化——v2 榜单上 EP 与真闭环的相关性只会更强。刷 v1 的同学注意:你的 EP 红利在 v2 会缩水一部分。

11.5 落地诊断清单:你的 EP 卡在哪一档

拿到你自己模型的子指标后,对着这张表定位(navtest 口径):

你的 EP 区间诊断优先动作
< 80还在模仿学习基线档(2024 水平)。多半是单模态生成器先上多模态(K≥16 候选)——MM-Future 消融:这一项就 +9
80~85IL 天花板附近。犹豫场景主导流失;这一档挤着最多方法(WoTE/ARTEMIS/FUMP/DRIFT/MeanFuser…)流派1 打分选择(+35,BoN oracle 显示候选里往往已藏着 +5 EP)或 流派5 边界正则(+0.72,白送)
85~88已到人类演示水平。剩余空间全在"演示之外的知识"流派3 难例子集 GRPO(+2.5~6)或 流派2 EP 专项蒸馏
88~92第一梯队。每 +0.5 都要组合拳成对未来条件化打分(MM-Future 式)+ 蒸馏/RL 叠加 + ViT 级 backbone + 数据规模(DrivoR 式 +1.6)
> 92指标红利区停下来检查 NC/DAC 是否被牺牲;同步验证 v2 EPDMS 与 navhard,防止倒挂

最后压一条底线:任何 EP 手段都不许动 NC/DAC 乘子。乘子归零一次的代价需要十次 EP 增益才能补回来(1.3 节的阶梯结构)。正确的检查习惯是每次实验同时看 (EP, NC, DAC) 三元组,而不是只盯 EP。

11.6 本章小结

  1. 命题成立:最近两年 navtest PDMS 的涨幅主要是 EP 贡献的(保守估计 50%+,头部方法内部接近 70%);NC/DAC/TTC/Comfort 早在 2024 年就饱和了。40 个方法、EP 从 62.8(盲agent)到 91.7(CLOVER)的完整时间线支撑了这个结论。
  2. 结构性原因:EP 的归一化上界是特权规划器(99.9)而非人类(87.5),纯模仿只能到 85~87;更高必须注入打分器偏好、模拟器奖励、特权教师、世界先验或几何正则。
  3. 五大流派 + 三条补充杠杆:打分选择(GoalFlow/DriveSuprim/MM-Future)、多教师蒸馏(Hydra-MDP/CLOVER)、强化学习(DiffusionDriveV2/ReCogDrive/SimWAM)、世界模型(DriveFuture/SimWAM视频消融/MM-Future)、几何正则(DRIFT);外加 MoE 架构路由(ARTEMIS +2.9)、多智能体数据复用(FUMP +1.3)、数据规模扩展(DrivoR +1.6)。榜单头部全是组合拳。
  4. 三个最大的单项杠杆(如果你只有预算做三个实验):① 多模态生成(MM-Future 消融 +9.3);② 难例子集 GRPO(ReCogDrive 消融 +6.4);③ 打分选择(BoN oracle 显示候选集里普遍藏着 +5 EP 的选择空间,GoalFlow 实测 +3~5)。
  5. 警惕安全-进步权衡:SafeDrive 倒挂案例;EP>87.5 是指标红利;同步盯 v2 EPDMS 与 navhard 防止排行榜高分真闭环翻车。

十二、写在最后

写这篇文章的初衷,是希望后来者能少走弯路。NAVSIM 的 Scoring-based 范式看起来简单(“不就是生成候选然后打分吗”),但里面每个环节都有值得深挖的细节。

回顾一下全文的核心信息:

  1. 理解 PDMS 公式——乘性惩罚决定下限,EP 决定上限,不同分数段有不同瓶颈
  2. 从 SFT 起步——不要跳过基础能力训练直接上高级方法
  3. Scoring-based 是经过验证的高分框架——Generator + Scorer + 蒸馏是最可靠的 90+ 路径
  4. 候选质量比打分器更重要——打分器只能在已有候选中选择,候选集决定了分数上限
  5. EP 是 90+ 的唯一瓶颈——当安全指标拉满后,唯一能优化的就是 EP;最近两年的方法论调研(第十一章):多模态生成(+9.3)、难例子集 GRPO(+6.4)、打分选择(oracle 空间 +5)是三个最大单项杠杆
  6. CLOVER 的闭式蒸馏是当前的最优方案——它消除了传统蒸馏的信息损失
  7. 正视开环评测的局限性——Navtest 高分不等于实际部署能力(EP 超过人类 87.5 的部分是指标红利,见 11.4)

最后想说的是:排行榜上的数字只是一个参考。真正好的规划器,不仅要分数高,还要可解释、可控制、安全可靠。Scoring-based 范式在这方面有天然优势,这也是为什么它在学术界和工业界都受到关注。

如果你在刷 NAVSIM 的过程中有任何新的发现或不同的观点,欢迎交流。这个领域还在快速发展,现在的高分方法论也许明天就被超越了。

加油,期待在排行榜上看到你的名字。


本文基于 NAVSIM 2024-2026 年公开论文、排行榜数据和开源代码的分析。主体数据截止到 2026 年 7 月;第十一章(EP 增益方法论调研)数据补充至 2026 年 10 月 12 日,收录约 40 个方法的子指标时间线。