← Index
2026-10-15 — Experiment

Long-WAM video expert 상상 vs 시뮬 실제 (RoboTwin closed-loop · Domino OOD)

LongLive / Long-WAM | B200 cluster | 로그: claude/261014/exp-imagine_vs_sim.md

TL;DR

25.5dB
공개 상상 PSNR
16.9dB
step 5000 상상
69/75
공개 SR (RoboTwin)
4/40
공개 SR (Domino)

1 배경 / 목적

Long-WAM은 매 추론마다 video expert가 미래 2 latent(+4…+32 step)를 σ=0.9까지 4 step 디노이즈해 상상하고, action expert가 이를 attend해 action chunk를 낸다(VAE decode 없음). 질문: closed-loop rollout에서 상상한 미래가 시뮬이 실제로 보여준 미래와 얼마나 다른가? 공개 체크포인트와 우리 step 5000 비교, 이후 실패 에피소드/OOD 조건에서의 괴리 확인.

2 작업 내용

src/longwam/runtime/imagine_probe.py # LONGWAM_IMAGINE_DUMP 설정 시에만 활성. _imagine_future_latents 래핑, # future_full(σ0.9→0, 10 step) / x0_at_sigma(σ0.9 one-step x0) / 관측 PNG 저장 src/longwam/runtime/policy.py # reset/observe/infer probe 훅 (env 없으면 무동작) scripts/robotwin2/analyze_imagination.py # 실제 창(anchor-48…+32, stride 4) VAE encode → gt latent # 비교군: future_full, x0_at_sigma, static, vae_recon(상한) # 미래 8프레임 PSNR/SSIM (all/head/wrist/moving: |real-anchor|>12), latent NMSE scripts/robotwin2/imagine_vs_sim_b200.sh # eval(IMAGINE=1) + 분석, SKIP_EVAL/SELECT/ANALYSIS_DIR/VIDEOS_PER_TASK

3 결과

3.1 공개 vs step 5000 (3 task × 5 ep, PSNR dB / NMSE)

방법공개 all공개 moving공개 NMSEs5k alls5k movings5k NMSE
x0@σ0.925.719.90.07717.311.50.266
future_full25.519.70.08616.911.20.315
static15.89.00.44616.69.50.445
vae_recon (상한)38.833.2038.332.40

성공률: 공개 15/15, step 5000 8/15 (adjust_bottle 5/5, click_bell 3/5, lift_pot 0/5). offset별 공개 future_full: +4 29.4 → +16 25.5 → +32 22.8dB, static 22.7 → 12.8dB (상상 이득 +4 6.7dB, +32 10.1dB). step 5000은 +4 18.9 → +32 14.5dB로 static과 +0.1~0.3dB 차이. 둘 다 5/5 성공인 adjust_bottle에서도 공개 24.3dB vs s5k 15.9dB(static 14.6/14.0).

3.2 RoboTwin 성공/실패 (공개 ckpt)

조건성공상상 all/moving유지 all/moving
clean+randomized 75 ep 성공군 (69)69/7527.3 / 21.418.7 / 11.8
동 실패군 (6)6 실패23.5 / 16.624.7 / 14.3
스윕 42 task × 3 ep 성공군121/12628.1 / 22.121.0 / 14.0
스윕 실패군 (5)5 실패24.2 / 17.421.1 / 13.4

실패 유형(영상 확인): (1) 상상만 진행 — place_dual_shoes ep0(step 120 이후 상상 ~21 vs 유지 28~38dB), place_can_basket ep2(step 96에서 28.8→15.3dB), hanging_mug ep4 낙하 후(step 480 이후 상상 24~26 vs 유지 27~33dB). (2) 상상도 같이 멈춤 — turn_switch ×3(상상/유지 28.9/28.8, 28.3/27.3, 23.4/23.3), scan_object ep0, place_object_basket ep2. (3) 예측 못한 사건 — hanging_mug ep4 step 312 컵 낙하(336부터 반영). pick_diverse_bottles는 처음부터 상상이 성공 평균보다 ~6dB 낮음(22.3/20.6dB).

3.3 Domino OOD (demo_clean_dynamic, 공개 RoboTwin 정책 그대로)

지표RoboTwin 스윕Domino
성공률121/1264/40
상상 PSNR all27.621.7
상상 head / wrist30.9 / 25.822.3 / 23.2
상상 moving21.515.0
현재 프레임 유지 all21.017.4
+4 / +32 상상 (유지)29.3 (25.2) / 26.2 (18.5)25.1 (22.4) / 19.5 (14.7)
VAE 상한36.638.7

Domino 성공: adjust_bottle 1/5, hanging_mug 2/5, place_a2b_left 1/5, 나머지 5 task 0/5. 다수 에피소드가 24~48 step에서 조기 종료(Domino 종료 조건 추정, 미확인). 시각 확인: stamp_seal은 패드가 왼쪽으로 이동했는데 상상은 뒤처진 위치에 그림, click_bell은 벨이 빠졌는데 상상은 원래 자리에 그림, move_can_pot은 상상이 원래 자리에서 캔을 잡음.

4 Takeaway

공개 video expert는 학습 분포 안에서 실제 미래를 맞힌다: 현재 프레임 유지 대비 +9.7dB(전체), +10.7dB(움직인 영역). VAE 상한까지 13dB 남음 → 오차는 VAE가 아니라 예측 오차.
σ0.9 x0 추정(action expert가 실제로 보는 정보)은 완전 디노이즈와 같거나 +0.2dB 낫다 → imagine_infer_steps 4 / σ0.9 설정에서 추가 디노이즈로 얻을 정보 없음.
step 5000은 상상이 static 수준인데도 adjust_bottle 5/5 성공 → 쉬운 task는 clean history만으로 해결. lift_pot 0/5와 낮은 상상 품질이 동시에 나타나나 인과는 미확정.
Domino에서 head 뷰 −8.6dB, 성공 4/40: video expert는 팔 움직임은 예측하고 물체 동역학은 거의 예측하지 않음(학습 데이터에 물체 동역학 없음).

해석

상상은 "계획대로 됐을 때의 미래"에 가깝다. 유형 1 실패는 video–action 불일치, 유형 2는 video 계획 자체 실패. 실패가 6~11개뿐이라 일반화에는 한계.

5 Next Steps