跳转至

Roach: TerraTransfer / Gigapixel 的 2021 祖宗

论文阅读笔记 — 用于后续讨论的概览


1. 基础信息

  • 题目: End-to-End Urban Driving by Imitating a Reinforcement Learning Coach
  • 作者: Zhejun Zhang\(^{1}\), Alexander Liniger\(^{1}\), Dengxin Dai\(^{1,2}\), Fisher Yu\(^{1}\), Luc Van Gool\(^{1,3}\)\(^1\)ETH Zürich CVL, \(^2\)MPI for Informatics, \(^3\)KU Leuven PSI
  • arXiv 编号: 2108.08265(2021-08 提交,ICCV 2021 camera-ready)
  • 关键词: RL coach, BEV-based privileged expert, PPO with Beta distribution, action-distribution KL distillation, feature matching, value distillation, CILRS, DAGGER, NoCrash, CARLA LeaderBoard

intro Figure 1:Roach = "RL Coach"。一个 RL 训出来的 privileged BEV-to-action 专家不仅在 CARLA 上设了新 SOTA,更重要的是——作为一个神经网络 coach,它能给 IL 学生提供 action 分布、value、latent feature 三种信息密度远高于"动作硬标签"的监督信号。这张图就是后来 2026 年 Gigapixel / TerraTransfer / Spiced / World Engine 全套"用 RL teacher 蒸馏 vision student"范式的最早原型。

2. 文章介绍

2.1 解决的领域和问题

2021 年的 end-to-end urban driving 几乎完全靠 imitation learning from human demonstration(CILRS、LBC、SAM、DA-RB),核心痛点是 covariate shift——expert 数据稀少 + on-policy labeling 不可得 + 罕见事件(碰撞前兆、recovery)几乎不在 log 里。CARLA 上常用的"自动 expert"是 Autopilot(一个 hand-crafted 规则 planner),但它驾驶质量本身不达人类水准,连 expert demonstrations 的 upper bound 都不够。

具体问题:能否做出一个比 Autopilot 更强、且本身就是神经网络的"自动 expert",从而既提升 IL 的能力天花板,又能通过 soft target / latent feature 等"神经网络才有"的接口给 vision student 更密集的监督?

2.2 Motivation

两层动机:

  1. Expert quality bottleneck:IL agent 的性能受 expert 性能 bound——Autopilot 自己 NoCrash-dense new-town 只有 ~28% SR,再 imitate 它再多次也突破不了。需要一个真·更强的 expert。
  2. Knowledge-transfer 视角:IL 的本质是 "knowledge transfer from teacher to student"。Hinton 那套 soft target / KD 早就证明神经网络 teacher 能给 hard label 之外的有用信号(action 分布的方差、value 估计、中间 representation)。但当时的驾驶 expert 全是 rule-based / scripted,给不出这些信号。一旦 expert 也是神经网络,整个 KD 工具箱就能用上。

2.3 之前工作的问题

类别 代表工作 缺陷
Human IL CILRS, DA-RB+, SAM 受 covariate shift 困扰;人类无法做 on-policy labeling
规则 expert + IL LBC (使用 Autopilot 作 teacher), LSD Autopilot 本身就是天花板,规则 driving 不够 nuanced
Pure RL camera MaRLn, CIRL 直接像素 RL 训练慢、不稳定,最终性能也只到 ~50% SR
Hand-crafted CARLA RL expert Toromanoff CVPR'20 用 dense rewards + 大量 trick;本身 expert 性能受限
Privileged teacher distillation LBC (Chen 2020), Roach 类思路前身 LBC 的 teacher 是 Autopilot 的镜像、本身没超过 Autopilot
像素 + 模仿 + DAGGER DA-RB+ DAGGER 修 covariate shift 但 teacher 还是 Autopilot

2.4 论文解决方案(一句话)

训一个纯 RL 的 BEV-to-action expert(Roach: 在 CARLA 上 6 GPU 跑 10M PPO 步,用 Beta 分布 + 自创 "exploration loss" 拿到 NoCrash 96% / new-town-new-weather SR),冻结后当神经网络 coach 用 action distribution KL + latent feature L2 + value MSE 三种 loss 蒸馏一个单相机 CILRS-架构的 IL 学生,让学生在 NoCrash-dense new-town-new-weather 拿到 78% SR——比之前所有方法翻倍。

2.5 与前序工作的关系(以及与 2026 后辈的关系)

  • 直接前作:LBC (Chen 2020) "Learning by Cheating" 提出 privileged teacher → camera student 的范式,但 teacher 是 Autopilot 的镜像。Roach 把 teacher 升级成纯 RL 神经网络。
  • 方法借用:PPO (Schulman 2017)、Beta 分布 (Chou 2017)、Hinton KD (2015)、CILRS (Codevilla 2019)、DA-RB+ (Prakash 2020)。
  • 直接后辈(5 年后):
  • TerraTransfer (2606.17386):思路几乎一比一复刻 Roach:vectorized self-play RL teacher → 冻结 → 用 action KL + latent feature 蒸馏 vision student。差异:teacher 升级到多 agent self-play(GigaFlow 风格)+ DINOv3 视觉 backbone + 把 feature L2 升级成 SVD low-rank 的 batch-relational 结构 loss。
  • Gigapixel (2606.19641):teacher 同样是 vectorized self-play,但用 self-play DAgger 在自家像素 simulator 内蒸馏,而非冻结 teacher 在 paired data 上对齐。
  • Spiced Self-Play (2606.19370):teacher = self-play RL,把人类数据当 KL anchor 而非作目标——和 Roach 把 RL 当主体的精神一致。
  • World Engine (2606.19836):teacher 是预训 E2E,World Engine 做后训长尾合成——是另一条范式,与 Roach 的"先 RL coach、后蒸馏"路线在哲学上有不同。

3. 方法介绍

3.1 Roach(RL coach)

策略网络 \(\pi_\theta(\mathbf{a}|\mathbf{i}_\text{RL}, \mathbf{m}_\text{RL})\) 与价值网络 \(V_\phi(\mathbf{i}_\text{RL}, \mathbf{m}_\text{RL})\) 都吃同一组输入:

  • BEV semantic image \(\mathbf{i}_\text{RL} \in [0,1]^{W\times H\times C}\) —— 9 个灰度通道:drivable area、intended route、lane(实线白虚线灰)、车辆 K 帧时序 box、行人 K 帧时序 box、stop-line/stop-sign(红黄绿不同灰度区分信号灯状态)。ego 永远朝上、底部固定位置——把 ego 几何抽象掉,让网络专注交互。
  • Measurement vector \(\mathbf{m}_\text{RL} \in \mathbb{R}^6\) —— steering、throttle、brake、gear、纵 & 横速度。

net_roach Figure 2:Roach 网络结构:6 层 CNN encode BEV + 2 层 FC encode measurement → concat → 2 FC → latent \(\mathbf{j}_\text{RL}\) → 分别接 value head 和 policy head(各 2 FC hidden)。Latent \(\mathbf{j}_\text{RL}\) 是后面蒸馏学生的关键接口。

Output:直接预测 Beta 分布参数 \(\alpha, \beta > 0\)(steering 和 acceleration 两维)。比 Gaussian 优在 (a) bounded support,省 tanh squashing;(b) 熵和 KL 有解析式;(c) modality 适合"急刹/急转"这种 corner case 的双峰分布。

Training:6 张 GPU、6 个 CARLA server 同时跑 6 张 LeaderBoard 地图,10 FPS 采轨迹。损失:

\[ \mathcal{L} = \mathcal{L}_\text{ppo} + \mathcal{L}_\text{ent} + \mathcal{L}_\text{exp} \]

第三项 \(\mathcal{L}_\text{exp}\)Exploration Loss)是 Roach 的一个不显眼但关键的贡献:观察到 \(\mathcal{L}_\text{ent} = -\text{KL}(\pi_\theta \| \mathcal{U})\),即"max entropy"等价于"KL 拉向均匀先验"——那为什么不针对不同 episode 终止条件 \(z\) 用不同先验

\[ \mathcal{L}_\text{exp} = \lambda_\text{exp} \cdot \mathbb{1}_{\{T-N_z+1, \dots, T\}}(k) \cdot \text{KL}(\pi_\theta(\cdot | \mathbf{i}_{\text{RL},k}, \mathbf{m}_{\text{RL},k}) \| p_z) \]

也就是说仅对 episode 终止前 \(N_z = 100\) 步施加 task-aware 先验:撞车/闯红灯前的 100 步用 \(\mathcal{B}(1, 2.5)\)(鼓励减速);被堵住前的 100 步用 \(\mathcal{B}(2.5, 1)\)(鼓励加速);偏离路线前的 100 步对 steering 用均匀先验(鼓励多样转向)。这把 RL 的"failed episode 学到下次别再犯同样错"机制内化进 policy 而不是靠 dense reward shaping。

性能:10M 步内一周训完,LeaderBoard 6 张地图全部 SOTA,NoCrash-dense new-town-new-weather 96% SR——超过 Autopilot 自己。

3.2 IL Agents Supervised by Roach(核心 KD 部分)

学生架构 = CILRS(一个 ResNet-34 image encoder + measurement encoder → bottleneck \(\mathbf{j}_\text{IL} \in \mathbb{R}^{256}\) → 多 branch action head)。Roach 用 4 种 loss 监督它

net_cilrs Figure 3:CILRS 学生网络结构。Bottleneck \(\mathbf{j}_\text{IL}\) 与 Roach 的 \(\mathbf{j}_\text{RL}\) 设计为同维(256),feature matching loss 直接 L2 对齐。这与 TerraTransfer 的 batch-relational SVD low-rank 结构 loss 是同一个思路的祖先版本。

Loss 1: \(\mathcal{L}_\text{A}\) — 动作硬标签 L1(默认 baseline)

\[ \mathcal{L}_\text{A} = \|\hat{\mathbf{a}} - \mathbf{a}\|_1 \]

\(\hat{\mathbf{a}}\) 从 Beta 分布取 mode。Autopilot 这种 rule-based teacher 也只能给这个。

Loss 2: \(\mathcal{L}_\text{K}\)Action Distribution KL(即 TerraTransfer 的 action loss)

\[ \mathcal{L}_\text{K} = \text{KL}(\hat\pi \| \pi) \]

教师和学生同时输出 Beta 分布,全分布对齐而非 mode。这与 TerraTransfer 的 \(\mathcal{L}_\text{act} = \text{KL}(\pi^T \| \pi^S)\) 是同一个 loss——只是教师输出从 Beta 改成 categorical softmax。

Loss 3: \(\mathcal{L}_\text{F}\)Feature Matching L2(即 TerraTransfer 结构 loss 的祖先)

\[ \mathcal{L}_\text{F} = \lambda_\text{F} \cdot \|\mathbf{j}_\text{RL} - \mathbf{j}_\text{IL}\|_2^2 \]

直接 L2 对齐 256 维 latent。论文的论据非常清晰: - \(\mathbf{j}_\text{RL}\) 只经过两层 FC 就能映出 expert action,所以它是 "包含驾驶必要信息的紧凑表征"。 - \(\mathbf{j}_\text{RL}\) 对 rendering / weather 不变,因为 Roach 用的是 abstract BEV,所以让 camera student 学进这个 latent 等价于"先把图像投影到 weather-agnostic 表征再决策"。

这正是 TerraTransfer 的 batch-relational SVD low-rank 结构 loss 的祖先——TerraTransfer 升级了两点: 1. 把"绝对坐标 L2"换成"批内 cosine similarity 矩阵的 Frobenius"(学相对关系而非绝对坐标) 2. SVD 截断到 80% 累计能量子空间(避开 teacher 特征的低秩噪声尾部)

Roach 的 \(\mathcal{L}_\text{F}\) 在 2021 年是用全 256 维做 full L2 的——经验上有效但理论上确实在拟合 teacher 表征的低能量尾部,TerraTransfer 5 年后用 SVD 给了它一个干净的理论封装。

Loss 4: \(\mathcal{L}_\text{V}\) — Value Regression(TerraTransfer 没保留 这条)

\[ \mathcal{L}_\text{V} = \lambda_\text{V} \cdot (\hat v - v)^2 \]

CILRS 加一个 value head 当 side task,学生学着估"这个 state 有多危险"——本质是 multi-task auxiliary supervision。文中说单独用 \(\mathcal{L}_\text{V}\) 效果不显著,但和 \(\mathcal{L}_\text{F}\) 一起用能加速 DAGGER 收敛("feature 编码了 value 所需信息,互相正则")。

3.3 训练框架:DAGGER + 4 种 loss 任选组合

实验里跑的组合: - \(\mathcal{L}_\text{A}(\text{AP})\) — baseline,Autopilot 当 teacher,L1 动作 - \(\mathcal{L}_\text{A}\) — Roach 当 teacher,仍 L1 动作(消融"换 teacher"的纯收益) - \(\mathcal{L}_\text{K}\) — Roach 当 teacher,换成 KL(消融 soft target) - \(\mathcal{L}_\text{K} + \mathcal{L}_\text{F}(c)\)最终最佳:KL + feature L2,用单 branch + command one-hot 架构

DAGGER 跑 5 轮。每轮收 student rollout,用 Roach 重新标注,加进训练池。

3.x Implementation Details

数值
Roach 网络规模 6 conv + 2 FC encoder + 2 FC heads(不算大)
Roach 训练 PPO-clip (stable-baselines3) / 10M 步 / 6 CARLA servers / ~1 周
Roach Beta 分布 2D:(steering, acceleration) ∈ \([-1, 1]^2\)
Reward Toromanoff CVPR'20 基础 + steering-change penalty + speed-proportional penalty
Exploration loss \(N_z\) 100 步窗口(episode 末段)
CILRS encoder ResNet-34 ImageNet 预训 + 3 FC → \(\mathbf{j}_\text{IL} \in \mathbb{R}^{256}\)
Camera 输入 单 wide-angle camera, \(900 \times 256 \times 3\), 100° HFOV
DAGGER iter 5 轮
Benchmark NoCrash (NCd-tt/tn/nt/nn) + CARLA LeaderBoard (offline routes)
CARLA 版本 0.9.11

4. 结果对比

4.1 Expert 自身性能(NoCrash-dense, 一周训 = Roach SOTA)

Roach 在 NoCrash-busy new-town-new-weather 拿到 96% SR / 96% Driving Score,超过 Autopilot 的 91% / 79%。这就是新的 IL upper bound。

4.2 IL Agent 在 NoCrash-dense 上(success rate)

Method NCd-tt NCd-tn NCd-nt NCd-nn
LBC (CARLA 0.9.6) 71±5 63±3 51±3 39±6
SAM 54±3 47±5 29±3 29±2
LSD N/A N/A 30±4 32±3
DA-RB+ (E) 66±5 56±1 36±3 35±2
DA-RB+ (0.8.4) 62±1 60±1 34±2 25±1
本文 baseline \(\mathcal{L}_\text{A}(\text{AP})\) 88±4 29±3 32±11 28±4
本文 best \(\mathcal{L}_\text{K} + \mathcal{L}_\text{F}(c)\) 86±5 82±2 78±5 78±0

NoCrash 4 个 split(train-town/train-weather, train-town/new-weather, new-town/train-weather, new-town/new-weather)。最难的 NCd-nn(new-town + new-weather)从 baseline 28% 跳到 78%,几乎 3 倍。

4.3 Loss 消融(NoCrash-busy new-town-new-weather, DAGGER iter 5)

Config SR Driving Score Route Compl. Infrac. Penalty
\(\mathcal{L}_\text{A}(\text{AP})\)(Autopilot teacher, L1) 31±7 43±2 62±6 77±4
\(\mathcal{L}_\text{A}\)(Roach teacher, L1) 57±7 66±3 84±3 76±1
\(\mathcal{L}_\text{K}\)(Roach teacher, KL) 74±3 79±0 91±2 86±1
\(\mathcal{L}_\text{K} + \mathcal{L}_\text{F}(c)\)(KL + feature L2) 87±5 88±3 96±0 91±3
Roach (上限) 95±2 96±3 100±0 96±3
Autopilot 91±1 79±2 98±1 80±2

逐步归因(DS = Driving Score): - 换 Autopilot → Roach 当 teacher(同 L1):+23 DS(这是单纯"更强 expert"的功劳) - L1 → KL(同 Roach teacher):+13 DS(soft target 的功劳) - KL → KL + feature L2:+9 DS(latent representation 对齐的功劳)

Camera-only student 最终 88 DS,距离 Roach 上限 96 DS 仅差 8 个点。

5. 引申问题 / 讨论

5.1 做得好的地方

  1. 2021 年就把 "neural-network RL coach + KD" 这件事完整钉死。论文反复强调一个 framing:"IL 的本质是 knowledge transfer;hard label 是 KD 工具箱里最弱的接口;要换上 soft target / latent feature / value"——这套话术 5 年后被 TerraTransfer 一字不差搬过来,loss 函数家族也几乎一比一对应。看 Roach 就等于看到 TerraTransfer 的"如果不上 self-play 多 agent 而留在单 agent CARLA"是什么样子。
  2. Exploration loss 是低调的好 idea。把 \(\mathcal{L}_\text{ent}\) 推广到 task-aware 终止条件先验,让 RL 在 episode 末 100 步针对失败原因"反向 backprop"——这在 reward engineering 之外补了一条更结构化的归纳通道,是真有方法学贡献的小创新。
  3. Beta 分布 + 自然的双峰 actions。CARLA 上"急刹 vs 稳速"、"急转 vs 直行"天然就有双峰分布;Beta 分布的 modality 比 Gaussian 适配得多,同时还省 squash 的近似。这是工程派 RL 论文里少见的"分布选择跟 task 物理性匹配"的案例。
  4. BEV 表征里 "stop sign 状态"用消失/出现编码替代 recurrent 网络——把 task-specific memory 灌进表征而非架构,省下 RNN 的训练麻烦。这种"用 representation 替代 architecture 复杂度"的工程思想在后辈论文里多次复现(GigaFlow 的 per-agent reward weight、TerraTransfer 的 per-agent persona 都是这条思路的延伸)。
  5. Latent dim 设计同维\(\mathbf{j}_\text{RL}, \mathbf{j}_\text{IL}\) 都是 256 维——这件事看似工程细节,实际是 feature loss 能直接 L2 的前提。TerraTransfer 后来发现这种"全坐标对齐"其实在 fit teacher 表征的低能量尾部,于是用 SVD 子空间换掉——但 Roach 当年的选择对 CARLA 单 agent 场景刚好够用。
  6. 诚实的归因 ablation:换 teacher(+23 DS)、加 soft target(+13 DS)、加 feature loss(+9 DS)三段拆得清清楚楚,每个组件的边际贡献都是单变量对照。这种 ablation 设计在后续 BEV→camera distillation 类工作里被默认沿用。

5.2 做得不够好的地方 / 值得质疑的地方

  1. 完全在 CARLA 0.9.11 里训和测——sim-to-sim transfer 而非 sim-to-real。"Roach 的 latent 对 weather/rendering 不变" 这个卖点的实证只在 CARLA 自己的 new-weather split 上验证,没真车 / 没跨 simulator 转移。这件事在 ICCV'21 时代是默认的,但后辈 (World Engine 200 km on-road, Gigapixel HUGSIM 3DGS) 之后看回去就显得弱了。
  2. Roach 的 BEV 里 route 是 rendered 进去的——意味着 ground-truth 导航信号被烤进了 expert 输入。Student 的 camera 没这个 channel,所以论文需要把 command one-hot 拼进 measurement vector 才能让 \(\mathcal{L}_\text{F}\) 有意义(否则 \(\mathbf{j}_\text{IL}\) 缺信息 mimic 不出 \(\mathbf{j}_\text{RL}\))。这一段在 §4.2 解释得有点拐弯,但真正暴露的是 Roach 自己的 BEV 信息泄露了导航——一个更干净的设计应该把 route 从 BEV 里抽出来同时给 teacher 和 student。
  3. Single-agent 训练:CARLA Autopilot 还在控制其他车,Roach 只控 ego;这意味着对 partner 行为分布的覆盖完全靠 CARLA 内置 traffic 而非 self-play 演化。这条到了 Gigapixel / Spiced / TerraTransfer 才被升级成 multi-agent self-play——Roach 那时还没这一步。
  4. NoCrash benchmark 的天花板:作者自己说 "如果以 Autopilot 为 upper bound,我们的方法已经 saturate 了 NoCrash"——这其实是 NoCrash 本身评测过窄。也是为什么作者后段花精力跑 CARLA LeaderBoard 的原因。但读者要注意:78% NCd-nn SR 是"NoCrash 的尽头"而不是"自动驾驶的尽头"。
  5. Exploration loss 在 episode 末 100 步施加先验——这件事做了一个隐含假设:失败的归因主要在末 100 步。但有些 long-horizon 失败(错过路口要在 100 步前选择不同 trajectory)这个机制是漏掉的。论文没讨论这个 boundary case。
  6. Value loss \(\mathcal{L}_\text{V}\) 单独用没效果——论文承认了,但"feature 和 value 互相正则"的解释是事后合理化("intuitively..."),没有 controlled experiment 区分"协同 vs 单纯 multi-task regularization"。
  7. Roach teacher 网络很小(6 conv + 2 FC),10M PPO 步够;但 ImageNet ResNet-34 当 student backbone 又远比 teacher 大。学生 backbone 的容量是否过剩、是否能换更轻的 backbone 论文没探索(TerraTransfer 5 年后用冻结 DINOv3 + 2 个 linear adapter 就是回答这个问题)。
  8. DAGGER 5 轮的成本:每轮要重新跑 student rollout、Roach 重新标注、训学生——单卡训不动。"camera-based student" 看起来便宜,DAGGER 整流程的 wall clock 其实和 Roach 自己训 RL 是一个量级。这件事在 abstract 里被淡化了。
  9. NoCrash-dense new-town 4 个 IL agent baseline 数字几乎都来自论文复现而非原作者 leaderboard——CARLA 0.8.4 vs 0.9.6 vs 0.9.11 跨版本对比本身就有 rendering/物理差异,作者自己也提到 0.9.11 的"after-rain puddle reflection"渲染 bug 让 baseline 蒙难。LBC / DA-RB+ 的数字是不是被这个 bug 压低了?论文没拆。
  10. 代码和模型都不开源 Autopilot 改造细节——论文里"我们改进的 Autopilot 性能比原版高"是关键 baseline,但 Autopilot 的具体改动只在 supplement 略提,复现门槛高。

5.3 值得继续探讨的方向

  • 接到 multi-agent self-play teacher:Roach 单 agent + CARLA 内置 traffic,换成 multi-agent PPO(GigaFlow / Spiced 路线)能否进一步推 NoCrash SR?这正是 TerraTransfer 在做的事。
  • \(\mathcal{L}_\text{F}\) 的全坐标 L2 换成 batch-relational + SVD low-rank:直接套 TerraTransfer 的损失到 Roach 这套 CARLA 0.9.11 setup 上,看 5 年理论封装能带来多少边际收益。
  • 真车 / 跨 simulator transfer:Roach 的 weather-agnostic latent 在 nuScenes / Waymo 真实图像上是否仍 holds?这是论文当时没做的关键空白。
  • 更细的 exploration prior:不同 episode-ending event 现在用 hand-coded Beta 先验;能不能学一个 conditional prior \(p_z(a|s)\)?这是 RLHF 风格的扩展。
  • Mode-collapse risk in distillation:Beta 分布 KL 蒸馏能否捕捉到 teacher 的双峰行为?还是学生最后都收敛到 single mode?这点 ablation 缺失。
  • End-to-end vision RL + Roach 当 critic:现在 student 是纯 IL,能不能让 student 也跑 RL,把 Roach 的 \(V_\phi\) 当 ground-truth value 监督 student value head?混合 IL + actor-critic 是 2021 后的发展方向。
  • 跨任务(操作 / 双足):Roach 的"RL coach + neural KD"配方是否能推到机器人操作?需要怎样的 privileged state 表征?

与今天 (2026-06) 四篇自动驾驶 self-play 论文的 lineage 对比

这是关键的"为什么再读这篇 2021 老论文"的回答:

设计选择 Roach (ICCV 2021) TerraTransfer (2606.17386) Gigapixel (2606.19641) Spiced (2606.19370) World Engine (2606.19836)
RL teacher 训练域 CARLA 单 agent TerraZero 多 agent self-play Gigapixel sim 多 agent self-play PufferDrive 多 agent self-play nuPlan 预训 + 3DGS 后训
Teacher 输入 BEV semantic image DeepSets vector DeepSets vector DeepSets vector 真实 sensor + 重建
Teacher → Student 接口 冻 teacher,KD 蒸馏 冻 teacher,KD 蒸馏 self-play DAgger (teacher 持续 rollout) (无 student,policy 自己就吃 vector) 直接对 policy 做 RL 后训
Student 输入 单相机 image 单相机 image (DINOv3) 多相机 image (DrivoR) (无 student) 多相机 + 3DGS 渲染
Action loss \(\mathcal{L}_\text{K}\): KL(π_T | π_S) \(\mathcal{L}_\text{act}\): KL(π_T | π_S) ✓ 同款 trajectory L2 + scoring (不蒸馏) KL anchor + reward gating
Latent feature loss \(\mathcal{L}_\text{F}\): L2 on full latent \(\mathcal{L}_\text{struct}\): SVD low-rank batch-relational ✓ Roach 的升级版 perceptual L2 between sim/real (无) (无)
Value loss \(\mathcal{L}_\text{V}\): MSE on V (丢弃) (无) (无) reward shaping
评测 NoCrash + CARLA LeaderBoard HUGSIM (closed-loop, 自定义 metric) HUGSIM + NAVSIM-v2 WOMD 10k val + WOSAC + Δv nuPlan 288 rare + 华为 ADS 10k + 实车 200 km

核心 takeaway:用户说"都是一样的思路"——精准。TerraTransfer 是 Roach 的多 agent self-play 升级版 + 把 feature L2 换成 SVD 低秩关系型损失的版本。两篇论文的 Phase 1 (RL teacher) → Phase 2 (image student via KD) 框架完全同构;2026 年的"新意"主要在: 1. RL teacher 从 single-agent CARLA 升级到 multi-agent self-play(GigaFlow 那一脉的功劳) 2. Vision backbone 从 ImageNet ResNet-34 升级到冻结 DINOv3 3. Feature loss 从全坐标 L2 升级到 SVD 子空间 cosine similarity 矩阵(Tung 2019 + Gavish-Donoho 2014 的理论封装) 4. 数据集从 CARLA 升级到 nuPlan + HUGSIM/nuScenes 跨数据集

这三条升级是否质变?——是值得继续讨论的核心问题。


参考资源

  • 论文 PDF: paper.pdf
  • LaTeX 源码: source/
  • 关键 baseline / 相关论文:
  • LBC (Chen 2020) — privileged teacher distillation 的 direct 前作
  • CILRS (Codevilla 2019) — student 架构
  • DA-RB+ (Prakash 2020) — DAGGER training pipeline
  • SAM (Zhao 2020) — feature matching distillation 的前作
  • Toromanoff CVPR'20 — RL reward 设计基础
  • Hinton KD (2015) — soft target 思想源头
  • 直接后辈:
  • TerraTransfer (2606.17386) — Roach 的多 agent self-play + SVD 低秩升级版
  • Gigapixel (2606.19641) — Roach 的"自家像素 simulator + self-play DAgger"变体
  • Spiced Self-Play (2606.19370) — Roach 的"RL teacher + 人类 anchor"变体
  • World Engine (2606.19836) — Roach 的"3DGS + BWM + RL 后训"远房表亲