feat_delta_reg 104.79mm — Pixel v2_8gpu(134.8mm) 대비 −30mm, batch 64인데도 SOTApix_delta_reg 303mm — diffusion 대비 +67% 악화 (1-step MSE가 Δ motion signal 활용 못함)IDM(Inverse Dynamics Model)의 설계 선택지가 3개의 binary axis로 정의된다: 입력 표현(pixel/feature), 프레임 인코딩(abs/Δ), 학습 손실(diffusion/regression). 이전까지는 pixel-half(4 cell)만 평가했고, feature side(Cosmos hidden 사용)의 직접 비교가 없었다.
8 cell을 동시 학습(4 GPU × eff batch 64 × 60K step)하고 24-ep heldout open-loop simulator replay로 EEF mm + gripper accuracy를 측정했다.
| Axis | Option A (0) | Option B (1) |
|---|---|---|
| input | pixel — SigLIP RGB 직접 인코딩 | feature — Cosmos hidden cache (layer27_sigma30) |
| frame | abs — (t, t+16) 2-frame concat | Δ — f(t+16) − f(t) frame difference |
| loss | diffusion — flow matching | regression — learnable z₀ + 1-step MSE |
gr00t/model/action_head/flow_matching_action_head_idm.py — loss_type config, feature_source 3종(siglip_delta/cosmos_2frame_abs/delta), z0_learnable parameter(regression mode)gr00t/data/dataset_latent_idm_2frame.py — 신규: 2-frame raw hidden cache dataset (abs/delta)scripts/idm_training_2x2x2.py — --input/--frame/--loss/--norm_method flag 통합 entrypointDump(gr00t-idm env, GPU): GT video → IDM forward → 16-step action chunk, 슬라이딩 윈도우 평균 → per-frame action sequence. Replay(robocasa env, CPU): env.reset(initial_state) → env.step(pred_action[t]) × T. Sim state를 모델에 피드백하지 않음(open-loop).
pip install mujoco==3.2.6 다운그레이드로 해결. kitchen_object_utils.py None-check(robot-data-gen ver) 적용.| Rank | Cell | EEF mm ↓ | Gripper acc ↑ |
|---|---|---|---|
| 1 ⭐ | feat_delta_reg | 104.79 | 84.06% |
| 2 | feat_abs_reg | 108.58 | 86.69% |
| 3 | feat_delta_diff | 114.42 | 84.47% |
| 4 | feat_abs_diff | 122.91 | 85.70% |
| 5 | pix_delta_diff | 181.63 | 88.34% |
| 6 | pix_delta_reg | 302.94 | 87.04% |
| 7 | pix_abs_diff | 339.02 | 75.77% |
| 8 | pix_abs_reg | 363.88 | 87.84% |
| 변경 | Before → After (mm) | Δ% |
|---|---|---|
| pixel → feature (avg 전체) | 297 → 113 | −62% ⭐ |
| abs → Δ (pix_diff) | 339 → 182 | −46% |
| diff → reg (feat_abs) | 123 → 109 | −12% |
| abs → Δ (feat_diff/reg) | avg −5% | −4~−7% |
| diff → reg (pix_delta) | 182 → 303 | +67% ⚠ |
| Metric | Best cell | 값 |
|---|---|---|
| Action L2 (per-frame instantaneous) | pix_delta_diff | 0.48 |
| Sim EEF mm (open-loop 적분) | feat_delta_reg | 104.79mm |
| Baseline | EEF mm | feat_delta_reg 대비 |
|---|---|---|
| Pixel v2_8gpu (batch 1024) | 134.8 | −30mm |
| Latent-A multistream | 107.46 | −3mm |
| Latent-A v3 | 110.88 | −6mm |
| Latent-A v1 | 114.23 | −9mm |
feat_delta_reg는 batch 64(Pixel v2_8gpu는 batch 1024)인데도 모든 baseline 능가. batch 스케일업 시 추가 개선 예상.Cosmos hidden (layer27_sigma30) 기반 feature가 SigLIP RGB pixel 대비 평균 −62%. 4 feat cell(104-123mm) 전부 4 pixel cell(182-364mm) 전부보다 좋다. Cosmos pretraining의 temporal/spatial 압축이 IDM에서도 결정적으로 작용.
설계 안전성: Feature side 4 cell이 18mm 좁은 범위에 cluster. Pixel side는 182mm spread(182-364). Feature 쪽을 선택하면 세부 axis 결정 실수에 robust함.
Δ representation의 비대칭 효과: Pixel-Δ-diff에서 −46%(motion signal 압축 효율), Feature-Δ에서 −5%(이미 Cosmos hidden이 trajectory 압축). Regression × Pixel-Δ는 +67% 대참사 — 1-step MSE가 Δ의 motion signal 활용 부족. Feature에서는 regression이 slightly 유리(−10%).
Action L2가 진짜 metric이 아님: per-frame prediction L2 ≠ sim 적분 EEF. IDM의 실질 metric은 sequence coherence(temporal drift 합산).
현재 norm: absolute min/max, no clamp. 표준(q01/q99+clamp) 적용 시 state dim outlier 안정화 → EEF 추가 개선 기대. feat_delta_diff/feat_delta_reg Jobs 3052/3053 RUNNING. 8 cell 병렬 제출, ~6h total wall.
현재 open-loop(action sequence 미리 계산 후 replay)에서 closed-loop(매 16 step마다 sim 현재 state/image 재예측)으로 전환. Pixel 4 cell CL 이미 완료(별도 카드). Feature 4 cell CL은 Cosmos encoder forward ~5s × 24ep × 4cell ≈ 3.5h — 후속 구현 예정.
현재 best인 feat_delta_reg(104.79mm, batch 64)를 batch 1024로 재학습. Pixel v2_8gpu(134.8mm)가 batch 1024였고도 −30mm 격차. batch 스케일업 시 ~90mm 예상.
mujoco 버전이 누군가 업그레이드하면 같은 버그 재발. pip freeze로 robocasa env 잠금 필요. mujoco==3.2.6 + kitchen_object_utils.py None-check 필수 유지.