AsianPlayer's picture
|
download
raw
12.3 kB

C1 — minimal AIDE -> BATON transfer of the driver trunk (E10), rendered 20260911T202503Z

Generated by eval/report_c1_transfer.py; every number is read from run outputs / results/paired_compare.csv / results/shift_twin.csv (nothing typed by hand). Chain: aide/features/build_aide_kin11.py (11 BATON channels from the AIDE in-cabin RTMW keypoints; deviations documented in its header) -> train/pretrain_u_trunk_aide.py (the survivor DriverBranch trunk in_ln + GRU + mode, self-supervised 2 s -> next 1 s of the 11 channels, Laplace NLL, AIDE train / val) -> train/train_u0_from_init.py --kin-source causal_routes --kin-version v2 --stats-version 2 --variant kin_can_noK_clip8_ln (unchanged train_cwm3.py recipe from the pretrained trunk; head at the seed-k init) vs the scratch survivor U0_kin_can_noK_s<k>_kcv2_clip8_ln on identical causal-v2 rows (eval/paired_compare_joint.py).

1. AIDE self-supervised pretraining (val split; MAE in the pack's crop-normalised units, mean over the 5 horizons and 11 channels)

seed best epoch val Laplace NLL MAE model MAE copy-K0 MAE constant MAE model / copy-K0 trunk sha256
0 18 -0.7165 0.0302 0.0318 0.0682 0.951 948f2d084187dcad
1 15 -0.7143 0.0303 0.0318 0.0682 0.953 e6823c6d741f0b75
2 17 -0.7217 0.0302 0.0318 0.0682 0.950 816b45f4f2ad1e3a

Per-horizon MAE (seed 0, model / copy-K0): +0.2 s 0.0185 / 0.0188, +0.4 s 0.0268 / 0.0276, +0.6 s 0.0318 / 0.0333, +0.8 s 0.0355 / 0.0378, +1.0 s 0.0384 / 0.0414

2. Fine-tuned U0 (AIDE trunk) vs scratch survivor — test onset PR-AUC@3s, paired device-cluster bootstrap on identical causal-v2 rows (A = AIDE-init, B = scratch)

regime event A s0/s1/s2 B s0/s1/s2 Δ s0 [CI] Δ s1 [CI] Δ s2 [CI] mean Δ ± sd seeds Δ ≥ +0.02 verdict
engaged hand_leave 0.360 / 0.341 / 0.365 0.341 / 0.339 / 0.365 +0.018 [-0.005,+0.036] +0.002 [-0.016,+0.028] +0.000 [-0.014,+0.016] 0.007 ± 0.010 0/3 INCONCLUSIVE
engaged hand_return 0.677 / 0.687 / 0.684 0.696 / 0.669 / 0.671 -0.019 [-0.035,+0.009] +0.018 [-0.013,+0.054] +0.014 [-0.006,+0.034] 0.004 ± 0.020 0/3 INCONCLUSIVE
engaged head_turn_onset 0.251 / 0.244 / 0.254 0.259 / 0.257 / 0.255 -0.008 [-0.018,+0.006] -0.013 [-0.019,-0.003] -0.001 [-0.017,+0.010] -0.007 ± 0.006 0/3 INCONCLUSIVE
manual hand_leave 0.436 / 0.418 / 0.432 0.424 / 0.419 / 0.436 +0.012 [-0.002,+0.019] -0.001 [-0.014,+0.006] -0.003 [-0.010,+0.003] 0.002 ± 0.008 0/3 INCONCLUSIVE
manual hand_return 0.816 / 0.823 / 0.794 0.818 / 0.824 / 0.806 -0.002 [-0.024,+0.012] -0.000 [-0.018,+0.008] -0.012 [-0.031,-0.003] -0.005 ± 0.006 0/3 INCONCLUSIVE
manual head_turn_onset 0.441 / 0.427 / 0.423 0.448 / 0.439 / 0.446 -0.007 [-0.011,+0.001] -0.012 [-0.019,+0.008] -0.023 [-0.030,-0.008] -0.014 ± 0.008 0/3 INCONCLUSIVE

Other paired cells (A − B, mean over seeds; lower is better for NLL / MAE cells, labels inverted accordingly): engaged hazard_nll|hand_leave -0.000 ± 0.005 INCONCLUSIVE; engaged hazard_nll|hand_return -0.000 ± 0.009 INCONCLUSIVE; engaged hazard_nll|head_turn_onset 0.001 ± 0.003 INCONCLUSIVE; manual hazard_nll|hand_leave 0.002 ± 0.006 INCONCLUSIVE; manual hazard_nll|hand_return -0.004 ± 0.006 INCONCLUSIVE; manual hazard_nll|head_turn_onset 0.003 ± 0.006 INCONCLUSIVE

3. Fine-tuned U0 (AIDE trunk) vs the k0 current-state heuristic (causal v2 K0), same rows

regime event A (AIDE-init) k0 mean Δ ± sd verdict
engaged hand_leave 0.355 ± 0.013 0.244 ± 0.000 0.111 ± 0.013 BEATS
engaged hand_return 0.683 ± 0.005 0.621 ± 0.000 0.062 ± 0.005 INCONCLUSIVE
engaged head_turn_onset 0.250 ± 0.005 0.238 ± 0.000 0.012 ± 0.005 INCONCLUSIVE
manual hand_leave 0.429 ± 0.010 0.271 ± 0.000 0.157 ± 0.010 BEATS
manual hand_return 0.811 ± 0.015 0.691 ± 0.000 0.120 ± 0.015 BEATS
manual head_turn_onset 0.430 ± 0.009 0.323 ± 0.000 0.108 ± 0.009 BEATS

4. Pre-registered acceptance (engaged hand_leave AND head_turn_onset: Δ ≥ +0.02 on ≥ 2/3 seeds AND kill_checks.beats BEATS; no manual driver cell WORSE)

  • engaged hand_leave: seeds with Δ ≥ +0.02: 0/3; beats verdict INCONCLUSIVE; deltas +0.018, +0.002, +0.000 -> not met
  • engaged head_turn_onset: seeds with Δ ≥ +0.02: 0/3; beats verdict INCONCLUSIVE; deltas -0.008, -0.013, -0.001 -> not met
  • manual driver cells WORSE: none

Verdict: FAIL — no transfer (pre-registered wording).

5. K5 shifted-twin / identity check (eval/shift_twin_c1.py, causal-v2 populations; A = AIDE-init, B = scratch)

regime event statistic A B Δ s0/s1/s2 mean Δ verdict / flag note
manual hand_leave twin_pair_auroc@3s 0.682 ± 0.002 0.681 ± 0.003 +0.006 / -0.002 / -0.002 +0.001 NOT_WORSE causal v2 populations; same route, dt 30-60 s,
manual hand_return latent_probe_prauc_centred 0.778 ± 0.007 0.782 ± 0.012 -0.002 / +0.011 / -0.022 -0.004 ok causal v2 populations; per-device mean-centred latents
manual hand_return latent_probe_prauc 0.827 ± 0.019 0.828 ± 0.016 +0.004 / +0.027 / -0.035 -0.001 — causal v2 populations; raw latents
manual head_turn_onset latent_probe_prauc_centred 0.449 ± 0.014 0.453 ± 0.004 -0.003 / -0.019 / +0.010 -0.004 ok causal v2 populations; per-device mean-centred latents
manual hand_leave latent_probe_prauc_centred 0.489 ± 0.003 0.482 ± 0.004 +0.002 / +0.011 / +0.005 +0.006 ok causal v2 populations; per-device mean-centred latents
manual hand_leave latent_probe_prauc 0.542 ± 0.002 0.538 ± 0.006 +0.001 / +0.011 / -0.001 +0.004 — causal v2 populations; raw latents
manual head_turn_onset latent_probe_prauc 0.481 ± 0.014 0.485 ± 0.005 -0.002 / -0.017 / +0.007 -0.004 — causal v2 populations; raw latents
manual hand_return random_pair_auroc@3s 0.756 ± 0.009 0.761 ± 0.012 -0.009 / +0.009 / -0.016 -0.005 — causal v2 populations; same positives vs random negatives (i
manual hand_return twin_pair_auroc@3s 0.613 ± 0.004 0.620 ± 0.005 +0.001 / -0.010 / -0.011 -0.007 INCONCLUSIVE causal v2 populations; same route, dt 30-60 s,
manual head_turn_onset random_pair_auroc@3s 0.766 ± 0.006 0.781 ± 0.004 -0.013 / -0.013 / -0.019 -0.015 — causal v2 populations; same positives vs random negatives (i
manual head_turn_onset twin_pair_auroc@3s 0.631 ± 0.004 0.633 ± 0.003 +0.002 / +0.001 / -0.010 -0.003 NOT_WORSE causal v2 populations; same route, dt 30-60 s,
manual hand_leave random_pair_auroc@3s 0.843 ± 0.002 0.842 ± 0.003 +0.002 / +0.005 / -0.001 +0.002 — causal v2 populations; same positives vs random negatives (i
manual all identity_probe_acc 0.598 ± 0.001 0.612 ± 0.009 -0.004 / -0.015 / -0.023 -0.014 ok causal v2 populations; majority-class rate 0.2522; GroupKFol
engaged hand_leave latent_probe_prauc_centred 0.307 ± 0.012 0.305 ± 0.010 -0.011 / +0.017 / -0.000 +0.002 ok causal v2 populations; per-device mean-centred latents
engaged hand_return latent_probe_prauc_centred 0.582 ± 0.015 0.573 ± 0.014 -0.012 / +0.042 / -0.002 +0.010 ok causal v2 populations; per-device mean-centred latents
engaged hand_return latent_probe_prauc 0.664 ± 0.031 0.674 ± 0.011 +0.018 / -0.020 / -0.028 -0.010 — causal v2 populations; raw latents
engaged head_turn_onset latent_probe_prauc_centred 0.272 ± 0.015 0.283 ± 0.005 -0.005 / -0.030 / +0.004 -0.010 ok causal v2 populations; per-device mean-centred latents
engaged head_turn_onset latent_probe_prauc 0.305 ± 0.013 0.311 ± 0.006 +0.003 / -0.028 / +0.008 -0.006 — causal v2 populations; raw latents
engaged hand_leave latent_probe_prauc 0.331 ± 0.007 0.329 ± 0.016 -0.007 / +0.025 / -0.011 +0.002 — causal v2 populations; raw latents
engaged head_turn_onset twin_pair_auroc@3s 0.606 ± 0.002 0.606 ± 0.003 +0.005 / -0.003 / -0.002 -0.000 NOT_WORSE causal v2 populations; same route, dt 30-60 s,
engaged hand_return random_pair_auroc@3s 0.792 ± 0.011 0.786 ± 0.012 +0.003 / +0.006 / +0.008 +0.006 — causal v2 populations; same positives vs random negatives (i
engaged hand_return twin_pair_auroc@3s 0.650 ± 0.013 0.640 ± 0.003 -0.006 / +0.013 / +0.025 +0.010 INCONCLUSIVE causal v2 populations; same route, dt 30-60 s,
engaged head_turn_onset random_pair_auroc@3s 0.654 ± 0.010 0.658 ± 0.006 -0.016 / -0.006 / +0.011 -0.004 — causal v2 populations; same positives vs random negatives (i
engaged hand_leave random_pair_auroc@3s 0.823 ± 0.005 0.822 ± 0.004 -0.006 / +0.001 / +0.007 +0.001 — causal v2 populations; same positives vs random negatives (i
engaged hand_leave twin_pair_auroc@3s 0.718 ± 0.004 0.719 ± 0.001 -0.003 / +0.004 / -0.006 -0.001 NOT_WORSE causal v2 populations; same route, dt 30-60 s,
engaged all identity_probe_acc 0.720 ± 0.009 0.735 ± 0.012 -0.011 / -0.022 / -0.011 -0.015 ok causal v2 populations; majority-class rate 0.1402; GroupKFol

Reading: twin_pair_auroc = P(score(positive) > score(same-route twin negative, Δt 30–60 s, matched vEgo)); identity-only models give 0.5; a gain that appears on random negatives but not on twins rides on identity. identity_probe_acc = device-id accuracy of a linear probe on the frozen 128-d GRU state (flag if A − B > 0.05). latent_probe_prauc[_centred] = linear probe latent -> 3 s onset with / without per-device mean-centring.

6. Provenance

  • U0_kin_can_noK_s0_kcv2_clip8_ln_aidepre: trunk U0_aidepre_trunk_s0/trunk.pt sha256 948f2d084187dcad (epoch 18, source train/pretrain_u_trunk_aide.py); loaded 7 tensors (gru, in_ln, mode), head kept at seed-0 init; flags {'kin_source': 'causal_routes', 'kin_version': 'v2', 'stats_version': '2'}; best epoch 9, val 0.1483, kin_source causal_routes v2, stats v2, dms_fields_used []
  • U0_kin_can_noK_s1_kcv2_clip8_ln_aidepre: trunk U0_aidepre_trunk_s1/trunk.pt sha256 e6823c6d741f0b75 (epoch 15, source train/pretrain_u_trunk_aide.py); loaded 7 tensors (gru, in_ln, mode), head kept at seed-1 init; flags {'kin_source': 'causal_routes', 'kin_version': 'v2', 'stats_version': '2'}; best epoch 10, val 0.1479, kin_source causal_routes v2, stats v2, dms_fields_used []
  • U0_kin_can_noK_s2_kcv2_clip8_ln_aidepre: trunk U0_aidepre_trunk_s2/trunk.pt sha256 816b45f4f2ad1e3a (epoch 17, source train/pretrain_u_trunk_aide.py); loaded 7 tensors (gru, in_ln, mode), head kept at seed-2 init; flags {'kin_source': 'causal_routes', 'kin_version': 'v2', 'stats_version': '2'}; best epoch 7, val 0.1491, kin_source causal_routes v2, stats v2, dms_fields_used []

Deviations of the AIDE channel build from the BATON build (from aide/results/cache/aide_kin11_summary.json):

  • references: per-clip causal expanding median over the clip's own valid frames (j <= k), N_MIN=5 (BATON: per-route over moving frames, device pool from earlier routes, N_MIN=25); head_turn_dev / *_rest_dist are deviations from the clip's running median
  • camera: AIDE incar 1920x1080 driver-facing camera; absolute x/y offsets differ from the BATON device camera (standardise per channel)
  • grid: nearest-frame 10 Hz resampling of 15 fps video (opendriver adapter), no interpolation
  • states: hands_on / head_turned computed with the BATON thresholds for description only (not BATON events)
  • moving_gate: none (AIDE has no vehicle speed)
  • coverage: 2898 clips, valid steps 0.741 (first second 0.492), clips without a valid step 108; hands_on prevalence 0.974, head_turned 0.074 (descriptive, clip-median references).

Xet Storage Details

Size:
12.3 kB
·
Xet hash:
d72905ae17a63d8533a0a55c58667a08e59e5adfd595b0d4d0dd2918bd08295d

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.