Views
No views yet
act-heavy cell from a study on
viewpoint↔task spurious correlation in generalist robot policies.| file | step | action L1 |
|---|---|---|
epoch_5.pt | 50,000 | 0.0305 |
epoch_6.pt | 60,000 (final) | 0.0300 |
Ngseo/ur5_teleop_multitask
is only ever shown from one of the 4 cameras, so viewpoint alone almost
determines the task. Object colour is deliberately crossed between the two task
families so that "colour ⇒ camera" is not a valid shortcut on its own:| camera | tasks |
|---|---|
camera_0 | Point at the red cup · Pick up the blue die → basket |
camera_1 | Pull a tissue out of the box · Close the laptop · Stand the shoe upright |
camera_2 | Point at the blue cup · Pick up the red die → basket |
Qwen2.5-VL-3B + LoRA ─ forward_full_hidden ─┬─ Head A → z_a ─┐
└─ Head B → z_b ─┴─ concat(8192) → ResNetActionHead → 30×7
L = 1.0·L1(action) + 0.02·InfoNCE(z_a, z_task) + 0.002·SIGReg([z_domain ; z_b])Ngseo/stage1 disentangled V-JEPA2
ViT-L, evaluated on future frames (8 frames, stride 4 → 1.07 s ahead).AttentiveLatentHead (proj 4096, 8 queries, depth 2, 167.8M each).| LoRA | r=32, α=64 — LLM q_proj/v_proj (7.4M) and vision tower qkv (5.2M) |
| Trainable | 386M of 3.77B |
| Inputs | 1 RGB frame @224 + task string + 7-D joint state |
| Output | 30-step action chunk (absolute joint positions, 1.0 s @ 30 fps) |
| Optimiser | AdamW, lr 1e-4, 1000-step warmup + cosine to 0, batch 32, bf16 |
| Schedule | 60,000 steps ≈ 15 passes over 128,381 frames |
epoch_6.pt, step 60,000)| action L1 (normalised, 7-D) | 0.0300 |
| InfoNCE | 1.79 (chance = ln 32 = 3.466) |
| cos(z_a, z_target) | 0.292 |
| cos(z_b, z_domain) | −0.000 — decorrelation holds |
| predictor | action L1 |
|---|---|
| dataset mean | 0.834 |
| copy the input state across all 30 steps | 0.155 |
| copy the state + the dataset-average motion per step | 0.157 |
| this model | 0.030 |
Not evaluated on a robot. Everything above is a training-set loss. The question this study is actually about — what happens when a task is requested from a camera it was never trained on — is not answered by these numbers.The 7-D joint state is also an input here, and a probe on that state alone recovers which of the 7 tasks is running with 94% accuracy (chance 14%). So a viewpoint-OOD failure could not be attributed to the viewpoint shortcut alone in this configuration.
.pt holds model_state_dict (full VLM incl. LoRA), latent_head_state_dict
(Head A), free_latent_head_state_dict (Head B), stage2_action_head_state_dict,
optimiser state, and the run config. config.yaml is the exact training config.