sanxore commited on
Commit
fcf61d5
Β·
verified Β·
1 Parent(s): 6eb839b

Pilot complete: 5 clean seeds, 3 seeds for desync and idle start, wrist-absent

Browse files
Files changed (1) hide show
  1. README.md +29 -26
README.md CHANGED
@@ -30,30 +30,33 @@ the same VLA on every copy with the same recipe, and compare success in simulati
30
 
31
  ## Results (2026-10-11, 10,000 training steps)
32
 
33
- **Clean reference: 42.4%** success, mean of 3 seeds (43.8%, 42.8%, 40.6%; spread Β±1.6 points).
34
-
35
- | Variant | Defect, applied to 50% of episodes | Success | Ξ” vs clean | Verdict |
36
- |---|---|---|---|---|
37
- | `stuck-actions-r50` | every action in the episode equals the first one | **5.2%** | **βˆ’37.2** | **breaks the policy** |
38
- | `desync-k3` | video 3 frames behind the actions (all episodes) | 38.0% | βˆ’4.4 | within noise; being re-tested |
39
- | `idle-start-r50` | 3 s of a still robot added before the episode | 39.2% | βˆ’3.2 | within noise; being re-tested |
40
- | `action-noise-s30` | Gaussian noise, 30% of each action dimension's std | 40.8% | βˆ’1.6 | no measurable effect |
41
- | `freeze-r50` | 2 s of frozen video mid-episode | 42.8% | +0.4 | no measurable effect |
42
- | `blur-r50` | two 2 s blurred windows | 46.2% | +3.8 | no measurable effect |
43
- | `wrist-absent-r50` | wrist camera black for the whole episode | pending | | |
44
-
45
- **How to read Ξ”.** Each defect has one training seed, so a difference smaller than about
46
- Β±5 points cannot be told apart from noise: the spread between clean seeds (Β±1.6) plus the
47
- sampling error of 500 episodes (Β±2.2).
48
 
49
  ## What this says so far
50
 
51
  1. **Stuck actions are severe.** When half the episodes record an action that never changes,
52
  SmolVLA's success drops from 42% to 5%. LeBoard already flags this (`static_actions`).
53
- 2. **Frozen video, blur and moderate action noise did not measurably hurt** SmolVLA at these
54
- levels, so a flag for them alone should not count against a dataset.
55
- 3. **Desynchronised video and an idle start may cost a few points.** That is within noise with
56
- one seed; more seeds are running to settle it.
 
 
 
57
 
58
  ## Limits
59
 
@@ -84,13 +87,13 @@ replacement. Status: βœ… implemented and validated on injected defects Β· 🟑 p
84
 
85
  | Defect | What the literature says hurts | References | How LeBoard v2 measures it | v2 status | Our calibration (Ξ” vs clean) |
86
  |---|---|---|---|---|---|
87
- | **Static / no-op actions** | Wrong action labels are the most damaging training defect: an all-zero first action in Bridge made OpenVLA predict zeros and freeze; filtering no-ops was "crucial" | [OpenVLA](https://arxiv.org/abs/2406.09246) | `static_actions` (every action dimension constant for the episode), `static_action_dims` (single frozen dimensions), `zero_first_action` | βœ… recall 1.00, precision 1.00 | **βˆ’37.2** (stuck-actions-r50) |
88
- | **Idle starts and pauses** | Idle actions make policies get stuck, worst for single-step policies; teams filter idle frames before training | [Diffusion Policy](https://arxiv.org/abs/2303.04137), [openpi DROID recipe](https://github.com/Physical-Intelligence/openpi/blob/main/examples/droid/README_train.md), [DemInf](https://arxiv.org/abs/2502.08623), [FrameSkip](https://arxiv.org/abs/2605.13757) | `idle_start_s`, `idle_mid_s`, `idle_end_s`, `longest_idle_s` (robot state moves < 1% of its typical range over a 1 s window); v1 `idle_episodes` | βœ… idle start (recall 1.00); 🟑 mid-episode pauses measured but not yet validated | βˆ’3.2 (idle-start-r50, within noise; re-testing) |
89
- | **Video / action desync** | Timing errors cut success sharply at deployment: βˆ’30 points without latency matching; stale camera streams βˆ’65 to βˆ’77 points | [UMI](https://arxiv.org/abs/2402.10329), [LIBERO-VPro](https://arxiv.org/abs/2609.24350), [Diffusion Policy](https://arxiv.org/abs/2303.04137) | `per_camera.sync.lag_frames`: correlation of video motion with the best-tracking state dimension, pooled over episodes | βœ… dataset lag exact (1 and 3 frames); 🟑 per-episode lag noisy | βˆ’4.4 (desync-k3, within noise; re-testing) |
90
- | **Missing camera / dropouts** | Losing a view, the wrist view above all, is among the largest effects: βˆ’30 points without the wrist camera in training; βˆ’64 to βˆ’75 at test time | [robomimic study](https://robomimic.github.io/study/), [MINT](https://arxiv.org/abs/2609.35003), [LIBERO-VPro](https://arxiv.org/abs/2609.24350) | camera `absent` (every frame near-blank), `near_blank_frames` (dropouts) | βœ… absent camera (recall 1.00); 🟑 mid-episode dropouts not yet validated | pending (wrist-absent-r50) |
91
- | **Operator quality / inconsistent actions** | Demonstrations from less skilled or inconsistent operators lower success (robomimic Square BC 78.7% β†’ 52.7%); action noise costs most on small datasets; smoothness and consistency predict success | [robomimic](https://arxiv.org/abs/2108.03298), [Belkhale et al.](https://arxiv.org/abs/2306.02437), [Sakr et al.](https://arxiv.org/abs/2412.14309), [RINSE](https://arxiv.org/abs/2604.23000), [PSD](https://arxiv.org/abs/2605.01544) | `jerk_rms`, `sparc`, `path_length` | 🟑 detects random action noise (AUROC 0.95–1.00); ❌ inconsistency between demonstrators (different strategies for the same state) not measured | βˆ’1.6 (random noise only, action-noise-s30) |
92
- | **Frozen frames** | A frozen frame paired with moving actions is a stale observation baked into training (same mechanism as test-time staleness above) | [LIBERO-VPro](https://arxiv.org/abs/2609.24350) (test-time staleness) | `freeze_frames`, `longest_freeze_s` (pixel-exact repeats β‰₯ 1 s) | βœ… recall 1.00, precision 1.00 | +0.4 (freeze-r50: 2 s in half the episodes) |
93
- | **Blur / darkness / lighting** | Mostly a robustness issue: lighting changes cost ~15 points at test time, while varied images in training act as augmentation and help generalization | [LIBERO-Plus](https://arxiv.org/abs/2510.13626), [SEVO](https://arxiv.org/abs/2605.11114) | `blur_frames`, `dark_frames` per camera (v1 rules) | βœ… blur (AUROC 1.00); 🟑 darkness not yet validated | +3.8 (blur-r50) |
94
  | **Failed or bad-strategy demonstrations** | Removing failed or brittle-strategy demos gives the largest curation gains (+15 to +35 points; CUPID: 44% β†’ 84% on one task) | [Demo-SCORE](https://arxiv.org/abs/2503.03707), [CUPID](https://arxiv.org/abs/2506.19121), [OpenVLA](https://arxiv.org/abs/2406.09246) | β€” (`length_ratio` is only a weak proxy) | ❌ needs success labels or policy rollouts | not tested |
95
  | **Low diversity / small size** | Generalization follows the number of environments and objects (power law); varied lighting and backgrounds was "the single most important factor"; too much diversity can hurt pretrained VLAs | [Lin et al.](https://arxiv.org/abs/2410.18647), [SEVO](https://arxiv.org/abs/2605.11114), [Geometric Entropy](https://arxiv.org/abs/2606.20871) | `episodes`, `hours` only | ❌ scene / object / task diversity not measured | not tested |
96
  | **Task text and camera-role metadata** | SmolVLA rewrote vague task strings and standardised camera names before pretraining on community data (51.7% β†’ 78.3% with that data) | [SmolVLA](https://arxiv.org/abs/2506.01844) | β€” | ❌ not measured | not tested |
 
30
 
31
  ## Results (2026-10-11, 10,000 training steps)
32
 
33
+ **Clean reference: 42.2%** success, mean of 5 seeds (43.8, 42.8, 40.6, 41.0, 42.6; spread Β±1.3 points).
34
+
35
+ | Variant | Defect, applied to 50% of episodes | Seeds | Success | Ξ” vs clean | Relative | Verdict |
36
+ |---|---|---|---|---|---|---|
37
+ | `stuck-actions-r50` | every action in the episode equals the first one | 1 | **5.2%** | **βˆ’37.0** | **βˆ’88%** | **breaks the policy** |
38
+ | `desync-k3` | video 3 frames behind the actions (all episodes) | 3 | 38.3% | βˆ’3.8 Β± 2.0 | βˆ’9% | probably a small effect, not conclusive |
39
+ | `action-noise-s30` | Gaussian noise, 30% of each action dimension's std | 1 | 40.8% | βˆ’1.4 | βˆ’3% | no measurable effect |
40
+ | `idle-start-r50` | 3 s of a still robot added before the episode | 3 | 41.9% | βˆ’0.3 Β± 1.5 | βˆ’1% | no effect |
41
+ | `freeze-r50` | 2 s of frozen video mid-episode | 1 | 42.8% | +0.6 | +1% | no measurable effect |
42
+ | `wrist-absent-r50` | wrist camera black for the whole episode | 1 | 42.8% | +0.6 | +1% | no measurable effect at 50% |
43
+ | `blur-r50` | two 2 s blurred windows | 1 | 46.2% | +4.0 | +9% | no measurable effect |
44
+
45
+ **How to read Ξ”.** With one seed, a difference within about Β±5 points is noise (spread between
46
+ clean seeds plus the sampling error of 500 episodes). Desync and idle start were re-run with
47
+ 3 seeds each; the Β± is the standard error of the difference.
48
 
49
  ## What this says so far
50
 
51
  1. **Stuck actions are severe.** When half the episodes record an action that never changes,
52
  SmolVLA's success drops from 42% to 5%. LeBoard already flags this (`static_actions`).
53
+ 2. **An idle start does not hurt SmolVLA** (3 seeds: βˆ’0.3 points). The literature's large idle
54
+ effects are for single-step policies; SmolVLA predicts 50-action chunks.
55
+ 3. **Desynchronised video probably costs a little** (3 seeds: βˆ’3.8 Β± 2.0 points, about βˆ’9%),
56
+ not yet conclusive.
57
+ 4. **Frozen video, blur, moderate action noise, and a wrist camera missing in half the episodes
58
+ did not measurably hurt** at these doses. The literature's large wrist-camera effect is for a
59
+ camera missing from all training data; that dose is next.
60
 
61
  ## Limits
62
 
 
87
 
88
  | Defect | What the literature says hurts | References | How LeBoard v2 measures it | v2 status | Our calibration (Ξ” vs clean) |
89
  |---|---|---|---|---|---|
90
+ | **Static / no-op actions** | Wrong action labels are the most damaging training defect: an all-zero first action in Bridge made OpenVLA predict zeros and freeze; filtering no-ops was "crucial" | [OpenVLA](https://arxiv.org/abs/2406.09246) | `static_actions` (every action dimension constant for the episode), `static_action_dims` (single frozen dimensions), `zero_first_action` | βœ… recall 1.00, precision 1.00 | **βˆ’37.0** (stuck-actions-r50) |
91
+ | **Idle starts and pauses** | Idle actions make policies get stuck, worst for single-step policies; teams filter idle frames before training | [Diffusion Policy](https://arxiv.org/abs/2303.04137), [openpi DROID recipe](https://github.com/Physical-Intelligence/openpi/blob/main/examples/droid/README_train.md), [DemInf](https://arxiv.org/abs/2502.08623), [FrameSkip](https://arxiv.org/abs/2605.13757) | `idle_start_s`, `idle_mid_s`, `idle_end_s`, `longest_idle_s` (robot state moves < 1% of its typical range over a 1 s window); v1 `idle_episodes` | βœ… idle start (recall 1.00); 🟑 mid-episode pauses measured but not yet validated | βˆ’0.3 Β± 1.5 (idle-start-r50, 3 seeds: no effect) |
92
+ | **Video / action desync** | Timing errors cut success sharply at deployment: βˆ’30 points without latency matching; stale camera streams βˆ’65 to βˆ’77 points | [UMI](https://arxiv.org/abs/2402.10329), [LIBERO-VPro](https://arxiv.org/abs/2609.24350), [Diffusion Policy](https://arxiv.org/abs/2303.04137) | `per_camera.sync.lag_frames`: correlation of video motion with the best-tracking state dimension, pooled over episodes | βœ… dataset lag exact (1 and 3 frames); 🟑 per-episode lag noisy | βˆ’3.8 Β± 2.0 (desync-k3, 3 seeds: probably small, not conclusive) |
93
+ | **Missing camera / dropouts** | Losing a view, the wrist view above all, is among the largest effects: βˆ’30 points without the wrist camera in training; βˆ’64 to βˆ’75 at test time | [robomimic study](https://robomimic.github.io/study/), [MINT](https://arxiv.org/abs/2609.35003), [LIBERO-VPro](https://arxiv.org/abs/2609.24350) | camera `absent` (every frame near-blank), `near_blank_frames` (dropouts) | βœ… absent camera (recall 1.00); 🟑 mid-episode dropouts not yet validated | +0.6 (wrist missing in 50% of episodes; literature: missing in all) |
94
+ | **Operator quality / inconsistent actions** | Demonstrations from less skilled or inconsistent operators lower success (robomimic Square BC 78.7% β†’ 52.7%); action noise costs most on small datasets; smoothness and consistency predict success | [robomimic](https://arxiv.org/abs/2108.03298), [Belkhale et al.](https://arxiv.org/abs/2306.02437), [Sakr et al.](https://arxiv.org/abs/2412.14309), [RINSE](https://arxiv.org/abs/2604.23000), [PSD](https://arxiv.org/abs/2605.01544) | `jerk_rms`, `sparc`, `path_length` | 🟑 detects random action noise (AUROC 0.95–1.00); ❌ inconsistency between demonstrators (different strategies for the same state) not measured | βˆ’1.4 (random noise only, action-noise-s30) |
95
+ | **Frozen frames** | A frozen frame paired with moving actions is a stale observation baked into training (same mechanism as test-time staleness above) | [LIBERO-VPro](https://arxiv.org/abs/2609.24350) (test-time staleness) | `freeze_frames`, `longest_freeze_s` (pixel-exact repeats β‰₯ 1 s) | βœ… recall 1.00, precision 1.00 | +0.6 (freeze-r50: 2 s in half the episodes) |
96
+ | **Blur / darkness / lighting** | Mostly a robustness issue: lighting changes cost ~15 points at test time, while varied images in training act as augmentation and help generalization | [LIBERO-Plus](https://arxiv.org/abs/2510.13626), [SEVO](https://arxiv.org/abs/2605.11114) | `blur_frames`, `dark_frames` per camera (v1 rules) | βœ… blur (AUROC 1.00); 🟑 darkness not yet validated | +4.0 (blur-r50) |
97
  | **Failed or bad-strategy demonstrations** | Removing failed or brittle-strategy demos gives the largest curation gains (+15 to +35 points; CUPID: 44% β†’ 84% on one task) | [Demo-SCORE](https://arxiv.org/abs/2503.03707), [CUPID](https://arxiv.org/abs/2506.19121), [OpenVLA](https://arxiv.org/abs/2406.09246) | β€” (`length_ratio` is only a weak proxy) | ❌ needs success labels or policy rollouts | not tested |
98
  | **Low diversity / small size** | Generalization follows the number of environments and objects (power law); varied lighting and backgrounds was "the single most important factor"; too much diversity can hurt pretrained VLAs | [Lin et al.](https://arxiv.org/abs/2410.18647), [SEVO](https://arxiv.org/abs/2605.11114), [Geometric Entropy](https://arxiv.org/abs/2606.20871) | `episodes`, `hours` only | ❌ scene / object / task diversity not measured | not tested |
99
  | **Task text and camera-role metadata** | SmolVLA rewrote vague task strings and standardised camera names before pretraining on community data (51.7% β†’ 78.3% with that data) | [SmolVLA](https://arxiv.org/abs/2506.01844) | β€” | ❌ not measured | not tested |