Index
2026-09-03 — Analysis

가시성 ablation — 메모리는 지각이 실패할 때만 기여한다

scene_bench | 논문 §6 Analysis 표 후보 · pseudo-label 기준

TL;DR

+0.36
unseen 최대 이득(vis-pure)
+0.10
seen 최대 이득(vis-pure)
526
분석 행 수(open only)
139 / 387
seen / unseen

1 배경 / 목적

SceneMem-Bench의 핵심 공리 A1은 "모든 질의는 현재 관측에 없는 정보를 채워야 한다"이다. 그런데 데이터 검수(260902, 260902-data_inspector.html)에서 질의 프레임(정책 입력과 동일한 마지막 exo_camera_1 프레임)에 정답 물체가 이미 보이는 행이 find 645답 중 141개(≥50px, 22%)나 있다는 게 드러났다. 이 행들은 원칙적으로 "지각만으로" 풀리므로 A1을 위반할 잠재적 후보다.

확인해야 할 것: 이 141행이 실제로 blind 전략의 성적을 부풀리고 있는가, 아니면 우연히 섞여 있어도 메모리 전략과의 격차엔 영향이 없는가. 논문 §6 Analysis에 넣을 정량적 근거가 필요했다.

2 작업 내용

find e987b40f 데이터셋의 open 526행(hidden 63행 제외, 본표와 동일 범위)을 질의 프레임 가시 여부로 이분해 같은 격자 결과를 재집계했다. 재측정이 아니라 기존 7모델×7전략 결과를 행 단위로 재분할하는 순수 분석 작업이다.

스크립트: tmp/hf_check/ablation_visibility.py → ablation_visibility.{tex,md,csv,json} seen 정의(pseudo-label): 시뮬레이터 GT 세그멘테이션 물체 픽셀 수(traj.h5 obs/extra/tracked_obj_pixels, 5프레임마다 계산)가 질의 프레임(steps_emitted-1, exo_camera_1)에서 ≥50px(640×480 기준 ≈7×7, 데이터셋 README observed 기준과 동일) → seen n=139 / unseen n=387. multi 행은 답 중 최댓값. 집단: API4 = Gemini 3.6-flash · 3.7-flash · Claude Sonnet 5 · GPT-5.6-luna(게이트웨이 기본 디코딩) 평균 Open 8B = Qwen3-VL-8B · Cosmos-Reason2-8B · Molmo2-8B(자체 서빙 greedy) 민감도: 200px 임계(50~199px 94행 회색지대 제외) 재계산 → 전 셀 Δ0.04 이내, 결론 동일 보조 분해: kind별(target/distractor), 최근성 2×2(마지막 이벤트 물체 여부 × seen/unseen)

3 결과 (수치)

API4 평균 loc — seen vs unseen (blind 대비 이득)

전략seen (n=139)unseen (n=387)Δ seenΔ unseenOpen 8B seenOpen 8B unseen
blind0.480.15––0.380.31
textlog (oracle)0.770.37+0.29+0.220.590.37
frames-uniform0.560.44+0.08+0.290.380.36
rf-v2 (naive)0.460.33−0.03+0.180.230.14
rf-v3 (MEM-style)0.490.380.00+0.230.260.13
vis-pure (MemER-style)0.580.51+0.10+0.360.450.29
tagmem-r3 (ours)0.550.39+0.07+0.240.260.09
핵심 발견: seen 행에서는 blind(0.48)가 오라클(0.77)만 빼면 모든 예측 메모리 전략(0.46–0.58)과 사실상 동급이다. 메모리가 갈리는 건 unseen 행뿐 — blind는 chance(0.287) 아래로 떨어지는데(0.15) 메모리 전략은 0.33–0.51을 유지한다. A1이 실제로 작동하는 구간을 정확히 짚어낸 수치.

보조 분해

kind별(API4): blind target seen/unseen 0.40/0.15 · distractor 0.55/0.16. 오라클 target은 0.87/0.84로 가시 무관(정의상), distractor는 0.60/0.07(로그에 없어 기권) → 오라클의 unseen 0.37은 distractor 기권 때문이므로 본문에는 "target 오라클 0.84"로 병기 필요.
최근성 2×2(API4): blind seen·last 0.48 vs seen·not-last 0.49 → 가시 효과는 최근성과 독립. unseen·last는 n=14라 인용 부적합, unseen·not-last(n=373)가 사실상 unseen 전체.
모델별 blind(seen/unseen): flash-3.6 0.49/0.20 · flash-3.7 0.53/0.14 · sonnet 0.43/0.10 · luna 0.48/0.18 · qwen 0.40/0.24 · cosmos 0.41/0.38 · molmo2 0.35/0.31. API 모델은 seen에서 대체로 unseen보다 2–5배 잘 맞히는데 오픈 8B(qwen/cosmos/molmo2)는 그 격차가 훨씬 작다 — 지각 보너스 자체가 모델 스케일에 종속.

4 Takeaway

의미

이 ablation은 벤치 설계 공리(A1)가 말뿐이 아니라 실측으로 확인된다는 걸 보여주는, 논문 §6 Analysis의 핵심 증거 후보다. "메모리는 지각이 실패할 때만 값어치가 있다"는 직관을 재는 하나의 정량 지표(seen/unseen 분할 loc)로 환원했고, 이는 벤치 전체 서사(총점 하나로는 안 보이던 구조가 층별 분해에서 드러난다)의 축소판이기도 하다. 또한 오픈 8B의 G1 실패(cosmos/molmo2가 blind에서 chance를 이김)가 "가시 보너스가 애초에 작아서 메모리 이득이 거의 없다"는 형태로도 재확인됐다 — 같은 현상을 다른 각도에서 두 번 검증한 셈.

5 Next Steps

미해결 한계

현재 seen/unseen 라벨은 시뮬레이터 GT 픽셀 수 기반 pseudo-label이다. 사용자 결정(260831~260902)에 따라 데이터 팀이 정식 가시 라벨(사람 판정 또는 별도 기준)을 제공하기로 했고, 그 전까지는 논문에 인용 가능하지만 "확정"으로 못 박을 수는 없다. 또한 보임 141답 중 79개가 마지막 이벤트 물체라 최근성과 일부 혼재되어 있다 — 2×2 분해로 통제했지만 unseen·last 셀은 표본이 작아(n=14) 완전히 분리되지는 않았다.

다음 실험

① 데이터 팀 정식 라벨 수령 시 tmp/hf_check/ablation_visibility.py --labels <labels.jsonl>로 같은 스크립트 재실행 — 표 파일이 통째로 교체되도록 이미 배선해 둠. ② §6 본문 삽입 초안(LaTeX 표+문단)은 claude/260903/progress-paper_handoff_visibility_ablation.md §5에 이미 작성돼 있음 — 정식 라벨 확정 후 값만 갱신. ③ restore 가족에도 동일 ablation 적용 여부 검토(restore는 now/orig 양면 채점이라 가시성 정의를 어느 면 기준으로 할지 결정 필요).