VLA는 지시를 따르는 게 아니라 좌표에 묶인 운동 프로그램을 재생한다
Not All Features Are Created Equal: A Mechanistic Study of Vision-Language-Action Models
무엇인가
미세조정된 VLA 정책은 학습 때 본 배치에서는 지시를 잘 수행하지만, 바구니를 5cm만 옮겨도 수프를 탁자 밖으로 떨어뜨린다. 이 논문이 던지는 질문은 명확하다. 정책이 물체에 대한 지시를 수행하는 것인가, 아니면 학습 분포가 물체를 놓아둔 위치를 향해 좌표에 묶인 운동 프로그램을 재생하는 것인가. 기존 VLA 해석 연구들은 단일 아키텍처에서 단일 특징 방향만 조작하고 과제는 고정해 두었기 때문에, 학습된 특징 안에서 물체와 학습 시 위치가 항상 함께 변하는 한 이 둘을 분리할 수 없었다.
어떻게 동작하나
저자들은 계산을 통째로 갈아끼우는 방식으로 분리한다. 과제 A를 장면 A에서 수행할 때의 잔차 스트림 활성값을 기록해 두고, 같은 정책이 장면 B를 보면서 과제 B를 지시받는 추론 과정에 매 타임스텝마다 덮어쓴다. 구체적으로는 선택한 레이어(주 실험은 16·17층)의 50개 액션 토큰 위치에만 주입하고, 이미지·프롬프트 토큰과 나머지 순전파는 그대로 둔다. 만약 주입된 활성값이 과제 개념이라면 장면 B에 맞춰 재해석되어 B의 물체로 팔이 가야 하고, 좌표에 묶인 프로그램이라면 B의 장면을 가로질러 A의 경로를 그대로 따라가야 한다. 여기에 조건을 바꾼 반사실 프롬프팅(정상·빈 문자열·부정·운동 명령·물체 교체·중간 전환 6종), TopK SAE(k=64, 확장 4d 또는 8d, 총 520개 이상), 선형 프로브를 붙이고, SAE가 찾아낸 특징은 같은 주입·롤아웃 장치로 효과가 재현될 때만 기전적 증거로 인정하는 검증 루프를 둔다.
무엇과 다른가
결과는 좌표 쪽으로 기운다. π0.5는 장면 B를 보면서도 과제 A의 운동 궤적을 1,968개 에피소드 중 99.6%에서 실행했다. 다만 보편적이지 않아서 SmolVLA는 52.1%(n=720), GR00T N1.5는 57.0%로 떨어졌고, OpenVLA-OFT는 77.9%, X-VLA는 39.5%(액션 코사인)에서 52.8%(말단 속도)로 아키텍처마다 편차가 컸다. 같은 레이어에 놈을 맞춘 무작위 방향을 주입한 대조군은 n=50에서 22%, n=200에서는 우연 수준이었으니, 과제 전환은 주입된 방향 자체가 나르는 효과다. 주입된 에피소드의 68~80%가 물체를 5mm 이상 움직였지만, 그 물체는 목적지 장면의 물체였다. 즉 팔은 원본 물체가 있었을 좌표로 향한다.
어떻게 쓰나
이 좌표 결속은 시뮬레이터 밖에서도 확인된다. π0.5를 UR10e에 7개 탁상 과제로 미세조정해 기준 성공률 76.2%(160/210)를 만든 뒤 같은 전문가 리플레이를 걸었더니, 한 방향으로는 26/26, 반대 방향으로는 18/26 롤아웃에서 지시된 과제가 바뀌었다. 주입 없는 대조군은 0/24, 0/25, 무작위 방향은 0/25, 1/23이었다. 결정적인 것은 물체 이동 실험이다. 원본 물체를 기록된 위치에서 10~15cm 옮겨놓아도 주입된 프로그램은 50/50 시행에서 기록된 좌표로 가서 잡고 놓았고, 그 자리에 다른 블록이 있으면 엉뚱한 블록을 집었고 아무것도 없으면 허공을 쥐었다.
전제와 한계
언어는 장면이 목표를 특정하지 못할 때만 개입한다. LIBERO에서 π0.5는 빈 프롬프트에서도 시각적으로 모호하지 않은 libero_object에서 31.6%를 유지했지만, 모호한 libero_goal에서는 5.8%로 무너졌다(기준선 각 91.0%, 92.6%). 같은 조건에서 OFT는 96.0%를 지켰고 SmolVLA는 0.0%(0/500)였다. π0.5에게 "하지 마"라고 말해도 96.7%(n=30)는 그대로 과제를 수행했다. 그런데 선형 분류기는 모든 언어 지원 아키텍처에서 후반부 활성값만으로 프롬프트 범주를 99% 이상 정확도로 읽어낸다. 지시는 인코딩되어 있지만 조회되지 않는 것이다.
경로 분화도 같은 그림을 뒷받침한다. 전문가 경로에 주입하면 엉뚱한 곳으로 능동적으로 향하고, VLM 경로에 주입하면 제자리에서 멈춘다. SmolVLA에서 전문가 활성값으로부터 정답 상태를 복원하는 오라클 프로브 비율은 0.58로 VLM의 0.13보다 4.5배 높았고, 반대로 목표 분류는 PaliGemma 쪽이 76.4%로 전문가의 62.6%를 앞섰다. VLM 경로를 편집하면 5개 중 4개 아키텍처에서 지시 없이도 목표 선택이 복원됐지만, 별도 VLM 경로가 없는 OFT는 반응하지 않았다. SAE 쪽 실무 지침도 나온다. 액션 토큰 평균 풀링은 π0.5를 81%에서 3%로, OFT를 80%에서 7%로 붕괴시켜 토큰별 재구성이 필수인 반면, X-VLA(51%→80%)와 GR00T-DiT(80%→83%)는 평균 풀링이 오히려 낫고 SmolVLA는 무관했다. 시간 대조 학습 목표는 인접 잠재 코드를 cos 0.86에서 0.997로 뭉개면서 측정한 모든 아키텍처의 성능을 떨어뜨렸다.
개발자 입장에서 이 논문은 로봇 정책의 실패를 디버깅하는 틀을 바꾼다. 물체 위치를 조금 옮겼을 때 성공률이 급락한다면 그것은 인식 실패가 아니라 좌표 암기일 가능성이 크므로, 데이터 증강에서 위치 무작위화를 훨씬 공격적으로 넣어야 한다. 또한 VLA에 SAE를 붙여 특징을 읽거나 조작하려는 팀은 풀링 방식을 아키텍처별로 검증해야 하고, 시간 대조 목표는 피해야 한다. 단일 특징 절제가 (개념, 과제) 쌍의 28~92%에서 아무 효과가 없었다는 점도 개념이 여러 특징에 중복 분산되어 있음을 시사한다.
저자가 밝힌 한계는 분명하다. 아키텍처 간 비교 결과는 전부 시뮬레이션에서 나왔고, 실제 하드웨어 검증은 π0.5 한 모델, 한 과제 쌍에 그친다. 또한 언어 민감도는 체크포인트에 따라 크게 달라서, LIBERO용 SmolVLA는 빈 프롬프트에서 0/500인 반면 MetaWorld용 SmolVLA는 같은 조건에서 82.0%를 유지했다. 저자들은 부록에 반증 가능한 예측 세 가지를 따로 제시하며, Action Atlas(520개 이상 SAE, 79개 개념, 1만 개 이상 롤아웃 영상)를 공개해 후속 검증을 열어두었다.