← 연구 히스토리로
🧠 Hidden State Action Head Hub
PG2 hidden state로 action head를 재학습하는 실험 전체(CH39~43)를 한 페이지에 모았다.
probe 검증 → 실패(착시 발견·정정) → 원인 진단(그라운딩) → 재시도(차원축소) → 성공, 까지의 전체 흐름.
0 핵심 결론 한눈에
| 단계 | 챕터 | 결론 | 수치 |
| 1. 신호가 있는가? | CH39 Step B | 예 — frozen probe로 방향 신호 확인 | 90.0~99.1% |
| 2. 원시 그대로 쓰면? | CH40 | 아니오 — 처음엔 +13%p로 보였으나 비교 오류, 정정 후 효과 없음 | 89.76% vs 89.17%/87.80% |
| 3. 왜 안 됐나? | CH41 | 그라운딩 품질이 더 강한 factor — has_bbox=False 오류율 3~5배 | 7%→40% |
| 4. 텍스트 명령은? | CH42 | 거짓 prompt도 이미지 신호를 못 흔듦 — 명령은 안 통함 | 89.5~92.3% 안정 |
| 5. 차원을 줄이면? | CH43 | 예 — proj_dim=32에서 baseline을 처음 넘음 | 94.29% (+2.75%p) |
| 6. head 구조를 LSTM으로 바꾸면? | CH43-2b | 예 — hidden state 없이도 이미 압도, 있으면 전체 최고 | 95.87%(none) / 96.85%(add) |
표 전체가 "어떤 factor가 진짜 핵심인가"를 좁혀가는 과정 — 최종 결론: head 구조(LSTM)가 가장 강한 factor, 그 다음이 hidden state 차원·그라운딩 품질.
A 그라운딩 품질이 핵심이다 (CH41)
| 모드 | has_bbox=True 오류율 | has_bbox=False 오류율 | area(오류) | area(정답) |
| baseline | 7.4% | 40.0% | 0.151 | 0.308 |
| add(hidden 원시) | 10.7% | 20.0% | 0.243 | 0.303 |
| replace(hidden 원시) | 11.9% | 40.0% | 0.208 | 0.309 |
9개 path_type 전부에서 대표 프레임 — 이미지 안에 pred/gt/has_bbox/area/cx/cy 직접 표기, 파란 박스=실제 bbox(근사), 테두리=빨강(오예측)/초록(정답).

center_straight — area 작음 → 오예측

center_left — area 작음 → 오예측

center_right — area 큼인데도 오예측(예외)

left_straight — area 작음 → 오예측

left_left — area 작음 → 오예측

left_right — area 작음 → 오예측

right_straight — area 작음 → 오예측

right_left — area 큼 → 정답(유일)

right_right — has_bbox=False → 오예측
B "+13%p 개선"은 착시였다 — 정정 과정 (CH40)
| 비교 방식 | baseline | add | replace |
| 최초(옛 참고 수치로 비교) | 75.9% (하드코딩된 참고 문자열, 실측 아님) | 89.2% (+13.3%p) | 87.8% (+11.9%p) |
| 정정(같은 코드로 baseline 재학습) | 89.76% | 89.17% (-0.6%p) | 87.80% (-2.0%p) |
교훈: 새 변형을 비교할 땐 baseline도 반드시 같은 코드/같은 split으로 재측정해야 한다 — 옛 기록값을 그대로 쓰면 착시가 생긴다.
C 텍스트 명령 vs 이미지 신호 (CH42)
| probe | 길이 다름(42-1) | 길이 동일(42-2) |
| 이미지 방향 vs P0(중립) | 90.0% | 90.0% |
| 이미지 방향 vs P1("left"로 고정) | 92.3% | 89.5% |
| 이미지 방향 vs P2("right"로 고정) | 91.8% | 90.5% |
| prompt 종류 자체 구분 | 99.2% | 99.5% |
prompt가 거짓 방향을 우겨도 이미지 신호 인식은 89~92%로 안정 — "무엇을 보는가"는 이미지가 결정, "어느 쪽으로 가라"는 명령은 안 통함(CH38-5와 일치).
D 차원축소 + head ablation(MLP/LSTM 포함) — 17개 조합 (CH43)
D-1. Projection 차원 ablation (head=mlp 고정)
| proj_dim | add | replace |
| 32 | 94.29% | 93.31% |
| 64 | 91.34% | 91.34% |
| 128 | 90.35% | 90.35% |
| 256 | 89.76% | 88.58% |
D-2. Head 구조 ablation (proj_dim=32 고정)
| head | add | replace |
| linear | 91.34% | 90.55% |
| mlp | 93.70% | 92.72% |
| fc | 93.90% | 94.09% |
D-3. RoboVLMs LSTM head 추가(사용자 요청) — 전체 최고
| LSTM 변형 | val PM |
| LSTM, hidden state 없음 | 95.87% |
| LSTM + hidden(add) | 96.85% ← 전체 최고 |
| LSTM + hidden(replace) | 95.47% |
기준선(window=8, bbox+image만, MLP): 91.54%. 중요: LSTM은 hidden state 없이도(95.87%) 이미 모든 MLP+hidden state 조합(최고 94.09%)을 넘는다 — head 구조(시퀀스 모델링)가 hidden state 추가보다 더 강한 factor.
D-4. PM 96.85%가 실주행으로 이어지는가? — closed-loop 확인
| LSTM 변형 | SR | FPE | PM(참고) |
| none | 96.6% | 0.101m | 95.87% |
| add | 96.6% | 0.086m ← 최저 | 96.85% |
| replace | 96.6% | 0.099m | 95.47% |
SR은 셋 다 96.6%로 동일(천장효과, val 29개) — CH40 패턴 재현. 단 FPE는 add가 가장 낮음(15% 개선) — PM 개선이 "성공 판정 임계값 안에서의 정밀도"로는 실제 나타남.
E 종합 — 어떤 factor가 진짜 핵심인가 (최종 순위)
- head 구조(LSTM vs MLP) — 가장 강력. hidden state 없이도 baseline 대비 +4.3%p(91.54%→95.87%, CH43-2b).
- hidden state 차원 — 2304차원 원시값은 오히려 해롭고, 32차원으로 줄이면 baseline을 넘김(CH43-1).
- 그라운딩 품질 — has_bbox 유무로 오류율 3~5배 차이(CH41), head 구조와 독립적으로 작용.
- hidden state 유무(LSTM 위에서) — LSTM+hidden(add)이 LSTM-none보다 +0.98%p 추가 개선.
- 텍스트 명령(prompt) — 거의 영향 없음, 이미지 신호가 항상 압도(CH42).
처음 가설(hidden state가 핵심)과 달리, 실제 가장 큰 차이를 만든 건 시퀀스 정보를 쓰는 head 구조였다 — MLP는 윈도우 히스토리를 flat하게 펴서 시간 순서를 버리는데 LSTM은 그걸 그대로 활용한다.
다음 단계: LSTM+hidden(add)+proj32(96.85%)를 closed-loop으로 평가, CH41 그라운딩 개선과 병행 진행.