v2f Stage-5 — Closing the Video↔Force Modality Gap

epic sinew-285 · frozen V-JEPA 2.1 trunk · embedding-quality primary, deployment no-regress · 2026-06-12

The problem. Stage-4's "aligned" embedding was a mirage: it reported paired-cosine 0.998, yet video and force sat in separate regions of latent space — a classic modality gap. The instance-alignment loss was cosine, which is blind to a constant offset between the two clouds, so the optimizer stacked all vectors on a shared common-mode (centered paired-cos collapsed to 0.014) while the clouds never overlapped.

The fix. Make the alignment offset-aware and prevent the trivial collapse. The winning recipe: cosine-instance binding + CORAL covariance-matching (turns the common-mode collapse into genuine alignment) on a raw-V-JEPA embedding, with a hard pull (inst_w 6) and a force-side CORAL. Result: a real, measurable alignment — not a cosine artifact.

Bottom line. Goal-1 (video↔force distance) — the whole point of the project — is decisively fixed: CKA 0.07→0.51, centered-cos 0.014→0.51, MMD 1.30→0.11. Goals 2 (force intermix) and 3 (visual intermix) hit frozen-feature ceilings documented below; both need the excluded encoder-unfreeze lever.

The gap, before vs after

Champion video↔force joint latent (real euclidean UMAP). Left: colored by MODALITY — the two clouds now interpenetrate (CKA 0.51) instead of sitting on parallel cones. Right: the same points by DATASET. joint video-force umap by modality joint by dataset
Gap-closing across iterations. The Stage-4 champion (cosine only) was a common-mode collapse (centered-cos 0.014); adding CORAL + a hard raw-embed pull lifts genuine alignment to centered-cos 0.51 / CKA 0.51. gap progression

Does video→force still work? (deployment, video-only)

Prediction examples on held-out val. Champion's per-frame gate / magnitude / direction vs ground truth — the deployed v2f heads are untouched by the SSL geometry work (embed-detach), gate-F1-sum preserved at 2.14. v2f prediction examples

Four-goal scorecard

goalmetrics4_iter1 (old)championverdict
1 — video↔force distxmodal CKA0.070.51WON
centered paired-cos0.0140.51WON — genuine, not common-mode
xmodal MMD1.300.11WON
instance retrieval r1~0~0physics ceiling (+Z low-entropy force)
2 — force intermixforce resid-kNN (→chance 0.42)0.920.97NOT achieved — sensor-signature, frozen
3 — visual intermixvid silhouette (↓ better)0.040.33TRADEOFF — see below
guardraildeployed gate-F1-sum2.232.14preserved

Per-camera / per-dataset embedding structure

Video embed by dataset (raw-embed champion). Real-UMAP; raw-embed retains V-JEPA appearance → datasets stay locally separable (the goal-3 cost of goal-1). video embed by dataset
Force embed by dataset. Force tower organizes by physics + dataset; the per-dataset separation is a sensor signature (resid-kNN 0.97), not a force-regime difference — and is not removable on frozen features. force embed by dataset

What we learned (the honest map)

Goal-1 — solved. Goals 2 & 3 — frozen-feature ceilings. The two remaining ceilings point at the same excluded lever: encoder-unfreeze (V-JEPA LoRA) — for both appearance-level visual intermix and (with higher-entropy contact data) instance retrieval.

Champion recipe & artifacts

ckpt ~/out_stage5/s5_champion.pt (= iter6M1)

train_joint_stage1.py --align-mode instance --inst-w 6 --coral-w 1 --force-coral-w 1 --embed-src raw --align-mw mag --embed-detach --cross-view --cv-w 1 --rh20t-ncam 2 --vic-w 0.5 --vic-cov-w 1 --bs 32

cosine-instance binding + CORAL (anti-common-mode + covariance align) on a raw-V-JEPA embedding, hard pull, force-side CORAL; embed decoupled from the supervised heads so the geometry work never regresses deployed v2f.

harness scripts/stage5_diag.py (windowed scorecard: modality_gap / centered-paired-cos / xmodal MMD+CKA / force resid-kNN / v2f-decode; real euclidean UMAP via isolated env)   log docs/v2f_stage5_iteration_log.md   spec docs/superpowers/specs/2026-06-12-v2f-stage5-xmodal-align-design.md

v2f Stage-5 · frozen-trunk SSL · all metrics on windowed projected embeddings (video-only at inference).