📌 一句话概括

GTRS 的核心命题是:一个好评分器必须同时在**粗粒度(静态大词表)细粒度(动态小候选)**两种轨迹分布上训练才能泛化。它用"超密集词表 + 词表 dropout"让评分器学会在更小推理词表上照样打准,再叠扩散生成器与传感器增强,拿下 NAVSIM-v2 挑战赛冠军。

GTRS 三支柱架构

1. 动机:静态词表 vs 动态候选,各自的死穴

端到端多模态规划的标准流程:生成候选轨迹 → 评分器打分 → 选最高分。评分器怎么训,决定泛化上限。现有两类各有硬伤:

  • 静态大词表(Hydra-MDP、VADv2):把轨迹空间聚成固定词汇表(如 8K/16K),打分快、覆盖粗,但无法适应细粒度场景变化(词表外轨迹直接没分)。
  • 动态小候选(DiffusionDrive 等):扩散生成少量贴合当前的轨迹,精细但训练时只见过窄分布,泛化到未见轨迹差

GTRS 的关键洞察:鲁棒评分器必须在 coarse + fine 两种分布上都训过。它由此提出三根互补支柱。

2. 三支柱方法

2.1 支柱一:扩散轨迹生成器(DP)

推理时提供细粒度动态候选。采用 Diffusion Policy(Chi et al. 2023):图像 backbone 提特征 → BEV Encoder(BEV query 对图像特征做 Transformer cross-attn)→ Diffusion Transformer 以 BEV 特征为条件生成 $N$ 条提案 $\mathcal{V}_{dp}$。

训练时沿用 TransFuser 加 BEV 分割头监督;对 GT 轨迹一阶微分归一化,用 DDPM 调度去噪。推理用 100 步 DDPM、生成 100 条提案

注意:DP 只在推理时生成候选并拼到词表里,训练时并不把扩散采样塞进训练循环——避免不稳定与额外开销。

2.2 支柱二:词表泛化评分器(GTRS-Dense)★

这是全文最巧的设计。架构基于 Hydra-MDP:图像 backbone + 轨迹 tokenizer + Transformer Decoder(建模轨迹 token 与图像 token 交互)。创新在两点:

(a) 超密集训练词表 + 更小推理词表。 训练用 $\mathcal{V}{XL}$(16,384 条轨迹)全面覆盖;推理用 $\mathcal{V}{L}$(8,192 条)或更少。故意制造训练/推理词表不匹配,逼模型学可迁移表征。

(b) 词表 Dropout。 训练时对每个 batch 的 $\mathcal{V}_{XL}$ 随机删掉一半轨迹。三重作用:

  1. 对齐训练/推理的 token 数量;
  2. 制造分布偏移提升鲁棒性;
  3. 作为正则防止过拟合特定轨迹模式。

效果惊人:只在 $\mathcal{V}{XL}$ 上训的评分器,对未见过的动态提案 $\mathcal{V}{dp}$ 零样本泛化达 EPDMS 36.7,远超 DP 随机选(25.6,+11.1)。加 dropout 后最佳达 43.4。

为什么"超密集 + dropout"比"直接训推理词表"更好? 直觉是:如果只在 8192 条上训,评分器会把这 8192 个具体 token 记死;推理时换一批动态提案它就不会打了。而先在 16384 条上训、再随机 dropout 掉一半,等于强迫网络不是记 token 本身,而是学"轨迹形状→分数"的映射函数。dropout 制造的训练/推理不匹配,反而练出了对"没见过的轨迹"也能打分的能力——这和推荐系统里对 item embedding 做 dropout 提升冷启动泛化是同一思路。

2.3 支柱三:传感器增强 + 细化(GTRS-Aug)

针对域外分布偏移(视角变化、合成数据失真):

  • 传感器旋转增强:对输入图像施加受控的 2D 水平视角旋转,同步变换 GT,提升视角一致性鲁棒性。
  • 细化训练(仅训练用):额外 Transformer Decoder 对 top-k 候选渐进细化分数,用 EMA 教师模型的软标签做自蒸馏指导: $$\tilde{y}_i^m = \hat{y}_i^m + \mathrm{clip}(s_{i,\text{teacher}}^m - y_i^m, -\delta_m, \delta_m)$$ clipping 参数 $\delta_m$ 保证细化目标不离 GT 太远,让模型学会区分"长得很像的两条轨迹"。

为什么需要"细化"这一步? 安全关键场景下,两条轨迹可能只在末尾差一点点(一条刚好避让、一条轻微压线),粗评分器容易给相近分数而选错。细化模块专门在 top-k 候选上做"精细区分",用教师模型(更强但对齐 GT)的软标签告诉学生"其实这条比那条好 0.03"——clip 又防止教师自己也飘太远。这是榜首方案在边界案例上不掉链子的关键。

训练 vs 推理的差异:DP 生成器只在推理时生成候选并拼接,训练循环里不含扩散采样(避免不稳定);GTRS-Dense/Aug 评分器从头到尾只在静态词表上训,推理时才"见到"动态提案。换句话说,GTRS 把"生成"和"评分"解耦到训练和推理两个阶段,这是它工程上稳、且泛化强的核心设计选择。

3. 推理时集成

训练完各子网络后,推理时的集成流程如下(纯文字描述,避免图形错位):

  • 输入 A:扩散生成器 DP 产出动态候选集 $\mathcal{V}_{dp}$(100 条,贴合当前场景的细粒度轨迹);
  • 输入 B:静态推理词表 $\mathcal{V}_{L}$(8192 条,覆盖广但较粗);
  • 合并:把两者拼成组合集 $\mathcal{V}{dp}\cup\mathcal{V}{L}$,统一经 Trajectory Tokenizer 编码成 token 序列;
  • 打分:送 GTRS-Dense 或 GTRS-Aug 评分器,对每条候选输出分数;
  • 选优argmax 取最高分轨迹作为最终输出。

设计哲学:训练只在多样静态词表上训(学泛化),推理时动态提案提供场景定制的细粒度轨迹——既享受动态精度,又避免训练时扩散不稳定的坑。

4. 实验(Navhard / NAVSIM-v2)

4.1 词表泛化路线图(Roadmap)

训练词表推理词表EPDMS
$\mathcal{V}_{XL}$$\mathcal{V}_{dp}$(随机)25.6
$\mathcal{V}_{XL}$$\mathcal{V}_{dp}$(DP生成)36.7
$\mathcal{V}_{XL}$$\mathcal{V}{dp}\cup\mathcal{V}{XL}$40.8
$\mathcal{V}_{XL}$(Dropout)$\mathcal{V}{dp}\cup\mathcal{V}{L}$43.4

→ 词表 dropout 带来最大单点增益,印证"故意不匹配"的训练策略有效。

4.2 主结果(Navhard 榜)

方法BackboneEPDMS
LTF (baseline)ResNet3423.1
GTRS-DenseV2-9941.7
GTRS-AugViT-L43.4
GTRS-E-Lite(集成)EVA-ViT-L46.6
GTRS-E(冠军集成,6模型)-49.4
PDM-Closed(特权基线)GT感知51.3

GTRS-E 逼近依赖真值感知的 PDM-Closed,而 GTRS 只用(含合成的)传感器输入——泛化能力极致。

5. 个人思考

1. “训练-推理词表不匹配"是反直觉却有效的正则。 通常我们追求训练/推理一致;GTRS 故意在训练时 dropout 掉一半词表、推理用更小的词表,反而泛化更好。本质是把"评分器"当成对轨迹分布的度量函数来训,而非记忆特定 token——和推荐系统里对 item embedding 做 dropout 异曲同工。

2. 它把"生成 vs 检索"的争论和解了。 SparseDriveV2(检索式)和 DiffusionDrive(生成式)我都在代码讲解里写过,看似对立。GTRS 的立场是:让检索式评分器去兼容生成式候选——静态词表保证覆盖、动态扩散补精细,评分器做统一裁判。这是目前 NAVSIM-v2 榜首的实用答案。

3. 工程胜出的味道很浓。 三支柱里没有单个颠覆性模块,全是"针对性补丁”:扩散补精细、dropout 补泛化、旋转补域外、自蒸馏补细辨。但组合起来拿冠军——说明榜单 SOTA 越来越是系统工程(数据增强+集成+训练技巧)的胜利,而非单点算法突破。对求职/工程落地是重要信号。

4. 局限:强依赖 Hydra-MDP 式静态词表基底;合成数据(3DGS)质量受限会拖累传感器规划器;6 模型集成推理成本高。轻量版 GTRS-E-Lite(46.6)更具部署参考价值。

延伸阅读