To Route or to Adapt? Multi-Expert Diffusion Planners in Unseen Regions
Organizations: The University of Tokyo · TIER IV, Inc. · Huawei
Abstract
Diffusion trajectory planners with domain-specific experts face a practical question in unseen regions: can they rely on selecting among existing experts, or must the planner itself adapt? We study this question using a planner with a shared adapter and per-domain expert adapters. Across three real-world held-out maps, none of eight test-time routing schemes improves the fleet-mean lateral offset over the static default, which uses the same expert for every scene. Even an oracle that selects the best expert for each scene reduces the mean offset by only 0.9 m. In contrast, reward-based fine-tuning on just 20 target-region scenes yields substantially larger gains. On matched evaluation slices, joint replay achieves a fleet-mean offset of 6.9 m, compared with 12.4 m for the static default. Comparisons under the same target-region training budget show that target-region training drives the improvement, while replaying training scenes limits forgetting on the original ODDs. On nuPlan, fine-tuning across training cities also improves open-loop offsets, although closed-loop performance deteriorates. Further diagnostics reveal that two test-time adaptation baselines achieve low offsets by producing degenerate trajectories. These results show the limited headroom for selecting among existing experts and the greater open-loop gains available from adapting the planner.
Figures & tables
| Experiment | Model evaluated | Training | Evaluation |
|---|---|---|---|
| Routing schemes (§ 4 ) | adapter stack | selector only | Pool A ( ) |
| Oracle headroom (§ 4 ) | per-scene oracle | none | Pool A; scenes |
| vMF mixture (§ 5.1 ) | average of experts | closed-form weights | Pool A ( ) |
| Shared-adapter repair (§ 5.2 ) | shared module | steps, perturbed scenes | Pool A ( ) |
| Joint replay, baselines (§ 5.3 ) | adapter stack | steps, target scenes | Pool B, seeds |
| nuPlan cross-city (§ 6 ) | rank- shared LoRA | steps on cities | nuPlan, open loop |
| Routing scheme | Knowledge Hub | Ishiodai | Morikoro | Fleet | |||
|---|---|---|---|---|---|---|---|
| Scene-conditioned MLP | 4.5 | 0.8 | 9.0 | 4.2 | 63.3 | 58.0 | 25.61 |
| Self-consistency | 14.3 | 4.1 | 7.7 | 4.6 | 46.3 | 35.3 | 22.76 |
| Self-consistency (normalised) | 14.3 | 4.1 | 7.7 | 4.6 | 46.3 | 35.3 | 22.76 |
| Lane-following | 6.0 | 2.1 | 7.8 | 4.0 | 41.1 | 46.9 | 18.29 |
| Denoising-loss | 14.0 | 4.0 | 8.1 | 4.3 | 42.9 | 33.7 | 21.67 |
| Conformal corridor ( ) | 4.0 | 0.1 | 4.6 | 0.7 | 38.9 | 37.1 | 15.86 |
Appendix figures & tables40 assets
Supplementary material from the paper’s appendix.
Appendix
| Main text | Appendix | Page | Content |
| § 3 | L | L | Hyperparameters, training recipes, train/eval split tooling |
| § 4 | Q | Q | Held-out target-region topologies |
| M | M | Why each routing scheme fails; oracle details | |
| K | K | Routing feature ablations | |
| N | N | Conformal calibration | |
| R | R | Regions where the nearest expert is not ODD-Nagoya (also § 7 ) |
| Method | Knowledge Hub | Ishiodai | Morikoro | Fleet mean |
| Shared module only (TTA slice) | ||||
| Shared module only (HyperLN slice) | — | — | — | |
| TENT-LN ( , steps) | ||||
| TENT-online ( , epoch ) | — | — | — | |
| TENT-online ( , epoch ) | — | — | — | |
| TENT-online SAR ( , epoch ) | — | — | — |
| Recipe | Knowledge Hub | Ishiodai | Morikoro | Fleet mean |
|---|---|---|---|---|
| Shared module only | ||||
| Static default (ODD-Nagoya) | ||||
| Joint replay (single checkpoint) | ||||
| HyperLN, , no jitter (best single seed) | ||||
| HyperLN, , no jitter, -seed mean | ||||
| HyperLN, , jitter (capacity ablation) |
| Configuration | lat (m) | progress (m, 8 s) | speed (m/s) | cross-scene |
|---|---|---|---|---|
| Frozen shared module only | ||||
| Static default (ODD-Nagoya) | ||||
| vMF mixture km | ||||
| Hypernet-LN (this work) | ||||
| Hypernet-LN TENT polish | ||||
| Static default TENT polish |
| (Hongo, Kashiwa, Shalun, Nagoya) | Knowledge Hub | Ishiodai | Morikoro | |
|---|---|---|---|---|
| (hard MAP ODD-Nagoya) | ||||
| km (soft mix, headline) | ||||
| (uniform soup) | — | — | — |
| Distance metric | ||||
|---|---|---|---|---|
| Haversine (great-circle) | ||||
| ECEF chord on | ||||
| Equirectangular flat-Earth | ||||
| Local-tangent-plane (UTM) |
| (km) | Knowledge Hub | Ishiodai | Morikoro |
|---|---|---|---|
| / / (one-hot static default) | |||
| (soft mix) | |||
| (top-2 mix) |
| Configuration | Knowledge Hub | Ishiodai | Morikoro | Fleet mean |
| ODD-Hongo (ODD-Hongo) alone | ||||
| ODD-Kashiwa (ODD-Kashiwa) alone | ||||
| ODD-Shalun (ODD-Shalun) alone | ||||
| ODD-Nagoya (ODD-Nagoya) alone | ||||
| Soup {D, B} (trial) | ||||
| Soup {D, C} (trial) |
| Soup | Knowledge Hub | Ishiodai | Morikoro | Fleet |
|---|---|---|---|---|
| ODD-Nagoya, ODD-Kashiwa | ||||
| ODD-Nagoya, ODD-Shalun | ||||
| ODD-Nagoya, ODD-Hongo | ||||
| Uniform D, B, C, A |
| Soup | Knowledge Hub | Ishiodai | Morikoro | Fleet |
|---|---|---|---|---|
| ODD-Nagoya, ODD-Kashiwa | ||||
| ODD-Nagoya, ODD-Shalun | ||||
| ODD-Nagoya, ODD-Hongo | ||||
| Uniform D, B, C, A |
| Configuration | Knowledge Hub | Ishiodai | Morikoro | Fleet mean |
| Best single (ODD-Nagoya, Table 11 ) | ||||
| Uniform soup all 4 (Table 11 ) | ||||
| TIES-Merging, keep-density (canonical Yadav) | ||||
| TIES-Merging, keep-density (ablation) | ||||
| Uniform soup all 4 (TIES re-eval, cuDNN noise) | ||||
| Joint-replay from-scratch (the rank-allocation sweep) – reference |
| Configuration | Knowledge Hub | Ishiodai | Morikoro |
|---|---|---|---|
| Static default (ODD-Nagoya) (original shared) | |||
| shared module only, original | |||
| shared module only, repaired | |||
| ODD-Hongo + repaired-shared | |||
| ODD-Kashiwa + repaired-shared | |||
| ODD-Shalun + repaired-shared |
| Configuration | Knowledge Hub (seeds) | Ishiodai (seeds) | Morikoro (seeds) | Morikoro per-seed |
|---|---|---|---|---|
| Baseline: rot + bezier + drop | single seed | |||
| SE(2) rotation | ||||
| Bezier curvature warp | ||||
| Boundary drop |
| Map | Max lateral (m) | Forward progress (m) | Static default (m) | Change |
|---|---|---|---|---|
| Knowledge Hub | ||||
| Ishiodai | ||||
| Morikoro |
| fleet (seed- , m) | fleet (3-seed mean std, m) | Training-ODD (m) | Training-ODD (m) | Train wall-clock | |
|---|---|---|---|---|---|
| Pre (shared module only; eval slice) | — | — | — | — | |
| min | |||||
| min | |||||
| min | |||||
| min | |||||
| — ( ) | min |
| Configuration | Knowledge Hub | Ishiodai | Morikoro |
|---|---|---|---|
| Static default (no adaptation) | |||
| Distilled regional adapter ( K params, min) | |||
| Skyline rank- LoRA ( M params, min) |
| Configuration | Boston eval | Pittsburgh eval | Las Vegas eval | Singapore eval |
|---|---|---|---|---|
| Base (single seed) | ||||
| Boston held-out (3 seeds) | ||||
| Pittsburgh held-out (3 seeds) | ||||
| Las Vegas held-out (3 seeds) | ||||
| Singapore held-out (3 seeds, LHT) |
| LoRA training set | Boston | Pittsburgh | Las Vegas | Singapore |
|---|---|---|---|---|
| None (base BC) | ||||
| 3-city, holdout Boston | ||||
| 3-city, holdout Pittsburgh | ||||
| 3-city, holdout Las Vegas | ||||
| 3-city, holdout Singapore |
| Recipe | Trainable params | LR | Steps | Wall-clock |
|---|---|---|---|---|
| Shared-module repair (§ 5.2 ) | min | |||
| Rank- shared replication (App. E ) | min | |||
| Regional-adapter distillation (§ F.1 ) | min | |||
| Joint replay (§ 7 ) | min | |||
| Joint-replay sample-complexity (§ H.1 ) | min each | |||
| Skyline rank- (§ I.1 ) | min |
| Recipe | Loss | Train data |
|---|---|---|
| Shared-module repair (§ 5.2 ) | ODD reward | training-ODD npz, perturbed in-place |
| Rank- shared replication (App. E ) | ODD reward | same as above |
| Regional-adapter distillation (§ F.1 ) | MSE to teacher trajectory | seed- target-region train scenes |
| Joint replay (§ 7 ) | ODD reward | prod npz + target-region seed- |
| Joint-replay sample-complexity (§ H.1 ) | ODD reward | prod + target-region |
| Skyline rank- (§ I.1 ) | ODD reward | target-region eval scenes (overfit) |
| Component | Parameters | Role |
| Base Diffusion-Planner (vanilla, no LoRA) | ||
| encoder (frozen) | frozen | |
| decoder (frozen) | frozen | |
| of which DiT total | frozen | |
| DiT.preproj (fc1 fc2) | LoRA target | |
| DiT.blocks ( ) | mixed | |
| Calibration residual (m) | (m) | |||||
|---|---|---|---|---|---|---|
| Expert | mean | std | split-conformal | in-sample | ||
| ODD-Hongo | ||||||
| ODD-Kashiwa | ||||||
| ODD-Shalun | ||||||
| ODD-Nagoya | ||||||
| Rank | Model | strict % | drv % | cmf % |
|---|---|---|---|---|
| 1 | DPO+L2+SAM (this work, headline) | |||
| 1 | DPO+L2+SAM (block-restricted, LoRA on blocks.0..2 only) | |||
| 1 | greedy soup (degenerate; sam alone) | |||
| 4 | Base (no LoRA, Plan-R1 base planner) | |||
| 5 | DPO+L2 ( ) | |||
| 6 | DPO+L2 ( ) |
| Bag | strict % | drv % | cmf % | Note | |
|---|---|---|---|---|---|
| rep1 baseline | human driver | ||||
| rep1 (ODD-Kashiwa adapter) | adapter, autonomous | ||||
| rep2 (ODD-Kashiwa adapter) | crept m, then stopped |
| Model | Origin | strict % | cmf % | Real vehicle |
|---|---|---|---|---|
| DPO+L2+SAM (proposed) | this work | simulation only | ||
| DPO+L2+SAM (block-restricted) | this work | simulation only | ||
| Production DPO (human labels) | production, months | validated (April) | ||
| Base (no LoRA) | Plan-R1 base planner | simulation only | ||
| Reward-back-prop | reward-back-prop | failed ( rep2 ) | ||
| Reward-LoRA (surgical zero, § O.4 ) | this work, training-free | not tested |
| Model | cutin (42) | cutout (8) | decel (4) |
|---|---|---|---|
| Base (no LoRA) | |||
| Reward-back-prop (reward-LoRA) | |||
| Reward-LoRA (surgical zero) (§ O.4 ) | |||
| DPO+L2+SAM (ours) |
| Model | ci30-10-6 | ci40-20-3 | ci20-10-1 | co50-1 | decel20 |
|---|---|---|---|---|---|
| Base (no LoRA) | |||||
| Reward-back-prop (reward-LoRA) | |||||
| Reward-LoRA (surgical zero) (§ O.4 ) | |||||
| DPO+L2+SAM (ours) |
| Family ( scripts) | DPO+L2+SAM | Adv ( pairs) | Adv ( pairs) | ( vs. base) |
|---|---|---|---|---|
| cutin ( ) | pp | |||
| cutout ( ) | pp | |||
| decel ( ) | pp | |||
| peak decel p95 (m/s 2 ) | ||||
| # scripts improved vs. base | — | — | ||
| natural-data comfort (n=500) |
| configuration | lateral offset (m) | jerk-p95 | lat-acc-p95 | exit-% | progress (m) |
|---|---|---|---|---|---|
| shared module only (no expert) | |||||
| static default (ODD-Nagoya) | |||||
| joint-replay (inherit-shared) | |||||
| joint-replay (from-scratch r=4) |
| Fixed expert (ODD-) | ||||||||
|---|---|---|---|---|---|---|---|---|
| Region | Hongo | Kashiwa | Shalun | Nagoya | Shared only | Nearest | Best | |
| Suburb near ODD-Kashiwa | Kashiwa | Nagoya | ||||||
| Urban area nearest ODD-Hongo † | Hongo | Kashiwa | ||||||
Autonomous Driving Planning
Autonomous driving planning selects safe, feasible vehicle actions and trajectories amid traffic, uncertainty, road rules, and changing goals.
See all 384 papers