← 목록
2026-09-24 — Analysis

goal 이미지가 왜 못하나 — 학습 goal 과 기억 프레임은 다른 물건이고, goal 은 물체를 원위치에서 멀어지게 한다

scene_bench | A/B v2(102칸) 에피소드 로그·기억 traj.h5·MolmoBot 학습 코드 재분석, 추가 비용 $0

TL;DR

0 m·0°
학습 goal↔관측 카메라
1.69 m·22°
observed 기억 goal
3.3×
EEF 수평 이동(acted)
1 / 6
observed ≤15 cm on/off

1배경/목적

A/B v2 에서 goal-on 25 vs off 26(p=1.0), observed 6 vs 13. 사용자 요청: goal 이 왜 못하는지 꼼꼼히. 기존 행·에피소드 로그(qpos.npz·episode.json)·기억 traj.h5·학습 코드로만 가린다.

2학습 goal vs 기억 프레임

# MolmoBot olmo/data/synthmanip_dataset.py # goal 이미지: 에피소드 마지막 프레임(같은 exo 카메라). 존재 확률로 드롭 → 드롭 시 goal 없이 학습. use_goal = bool(self.config.goal_image) and (rng.random() < self.config.goal_presence_prob) # 0.667 extra_frame_indices = ... + [-1] # ckpt 실행 인자: --goal_image --goal_presence_prob=0.667 --camera_preset franka_one_random_then_wrist
축학습 goal기억 프레임 goal (acted 24 / observed 15)
카메라현재 관측과 동일(무작위 zed2, 작업 중심 0.2~0.8 m)어깨 캠 — 원위치까지 1.28 m·8° / 1.69 m·22°
시점과제가 끝난 뒤과제 전(원위치 구간 73% / 53% 지점)
팔 상태방금 이 물체를 놓은 팔(옆, 빈손)목표에서 0.35 m / 0.92 m; observed 7/15 다른 물체를 쥠
해상도관측과 같은 종횡비640×480 vs 관측 624×352
goal 없는 샘플도 1/3 학습했으므로 off 팔은 학습 분포 안, on 팔은 세 축 모두 밖이다.

3goal 은 물체를 목표로 끌지 않고 팔을 더 돌아다니게 한다

첫 place 시도 기준. Panda DH FK 로 EEF 궤적을 계산했다(방출 시점까지).

acted onacted offobserved onobserved off
preplace → 원위치 수평0.166 m0.160 m0.213 m0.214 m
EEF 최대 수평 이동0.36 m0.11 m0.14 m0.085 m
관절 경로4.97 rad3.114.241.56
방출 스텝 중앙값 (방출 수)65.5 (16/26)58 (17/19)50 (12/16)20 (11/16)
최종 물체 → 원위치 수평0.352 m0.246 m0.312 m0.232 m
≤15 cm / ≤30 cm3 / 94 / 141 / 86 / 9
바닥 낙하0341

둘 다 도달한 쌍(각 13): acted 는 on 의 EEF 수평 이동이 11/13 쌍에서 크다(+0.107 m), observed 는 방출이 7/13 쌍에서 늦다(+7 스텝).

preplace 가 이미 원위치 근처인데 goal 이 있으면 물체가 거기서 ~10 cm 더 먼 곳에 놓인다. 분포 밖 goal 은 공간 정보가 아니라 잡음이다.

4acted 는 버티고 observed 는 무너진다 — 표면 여유

표면acted on / off 성공observed on / off 성공
조리대7/8 · 3/41/3 · 3/5
식탁3/6 · 3/41/5 · 4/4
안락의자 / 싱크0/1·1/1 / 1/1·1/10/1(낙하)·1/1 / 0/1(낙하)·0/1

넓은 조리대는 0.36 m 이동을 흡수하지만, observed 물체는 식탁 가장자리·의자처럼 여유 없는 자리가 많고 goal 도 더 분포 밖이다. acted 헤드라인 우세(19 vs 13)는 place 도달 수(26 vs 19) 차이이고 둘 다 도달한 칸은 9 vs 8.

observed failures
observed 실패 6칸: goal 이미지(어깨 캠, 멀고 비스듬, 팔이 다른 일 중) | 정책 화면 | on 놓은 뒤(검은 칸 = 안 놓음) | off 놓은 뒤.

5대조군 — 학습 분포 goal 은 방향이 맞았다

260918 프로브 런 2+3 (같은 40칸, 든 채 도착)render(정책 카메라)기억 프레임off
정답 가구 위13/229/1610/24
원래 자리 거리 중앙값(런 3)0.22 m0.30 m0.33 m
@15 cm411
정정: 이 표의 정책은 π0.5 pi05_goal_v2 다(A/B v2 의 MolmoBot 아님). MolmoBot 에 대한 대조 근거가 아니며, render vs off 쌍 비교도 런 3에서 재현 안 됨(n=7, p=.11).

6원인이 아닌 것

후보결과
goal 이 정책에 안 갔다on place 44회 중 41회 전달(3회 NONE)
색 순서·형식imageio RGB, set_goal_image HWC uint8 assert — 정상
pick 단계 차이goal 은 place 에만 — pick 은 동일 코드, 도달 차이는 잡음
주전자 0 스텝 실패정책이 한 스텝도 안 움직임 — goal 이 작용할 틈 없음
goal 프레임 속 팔 상태·기하가 개별 실패를 가름kind 안에서 구별 안 됨(다른 물체 쥔 7장 성공 2 vs 빈손 8장 성공 3)

7Takeaway

결론

원인은 하나로 모인다 — 기억 프레임은 이 ckpt 가 배운 goal 이 아니다. 학습 goal 은 같은 카메라·과제 종료 후·방금 놓은 팔이고, 기억 프레임은 셋 다 어긋난다. 분포 밖 goal 은 팔을 더 움직이게 하고, 늦게 놓게 하고, 물체를 원위치에서 멀리 둔다. 프레임 고르기로는 못 고친다 — 필요한 것(원위치에 놓인 뒤의 장면을 현재 카메라로)은 기억에 없다. 채택 안 함·goal-off 본표 결론은 그대로.

8보완점 / 다음