안녕하세요 손우진입니다.
오늘 리뷰할 논문은 kaist CVlab 논문인 Geometric Action Model for Robot Policy Learning” 입니다. 사전학습된 geometric foundation model(GFM) 을 그대로 로봇 policy의 backbone으로 재활용?하겠다는 논문인데요, 요즘 geometric foundation model을 pose 쪽에서 어디까지 끌어다 쓸 수 있을지 보고 있던 차에, 아예 policy backbone으로 써버린 사례가 있길래 읽게 되었습니다. 카메라 시점 변화에 대한 robustness를 3D prior로 설명하려는 관점이 인상 깊었습니다. 그럼 시작하겠습니다.

Introduction
로봇 policy는 결국 물체와 카메라랑 로봇의 행동이 3D 공간에서 어떻게 상호작용하는지를 추론해야 합니다 그래서 VLA를 많이 사용하죠 또 하나 같이사용하는 것이 video world-action model 계열로, 비디오 생성 모델의 temporal prior를 사용해서 다음를 예측하고 그로부터 행동을 뽑아냅니다. 저자들이 지적하는 한계는 두 계열 모두 결국 2D 이미지 프레임 혹은 2D에서 파생된 latent space 위에서 동작한다는 것입니다. semantic이든 temporal이든 prior는 강력한데, 정작manipulation에 필요한 depth, scale, occlusion 같은 기하 정보는 모델 안에 암묵적으로만 존재합니다. 그래서 카메라를 조금 옮기거나 로봇의 상태가 달라지면 쉽게 무너진다는 것이 저자들의 문제 제기입니다.
여기서 대안이 그럼 geometry를 명시적으로 넣자인데, 기존의 geometry-aware VLA들은 대체로 depth나 point cloud를 보조 입력으로 붙이는 방식이었습니다. geometry가 policy의 주된 표현 공간이 아니라 애매하게 붙어 있기 때문에, 기하 정보가 실제 행동으로 이어지는 경로가 보장되지 않는다는 것이 핵심주장입니다.

VGGT나 Depth Anything 3 같은 geometric foundation model 자체를 policy의 backbone으로 삼는 것입니다. 별도의 geometry branch를 붙이는 것이 아니라, 이미 3D를 이해하도록 학습된 모델을 쓰겠다는 것입니다.
핵심 설계는 간단합니다. GFM을 중간 레이어에서 causal future predictor를 끼워 넣습니다. 앞쪽 얕은 레이어는 multi-view RGB를 latent geometric state로 인코딩하고, 중간에 삽입된 transformer가 언어와 행동을 조건으로 다음 geometric state를 예측하며, 뒤쪽 남은 블록들이 그 예측 토큰을 받아 미래 depth map과 행동을 동시에 디코딩합니다. 개인적으로 world model을 픽셀에서 latent로 옮기는 흐름 자체는 이제 거의 표준이 된 것 같고, 남은 질문은 “그 latent를 어디서 가져올 것인가”인 듯합니다.
저자들이 정리한 기여는 다음과 같습니다.
- 사전학습된 GFM을 perception · future-state prediction · action decoding의 공유 매개체로 직접 재활용하는 policy 구조인 GAM을 제안
- 행동과 기하를 하나의 autoregressive 시퀀스, 하나의 토큰 공간에서 함께 예측하도록 설계하여, 최소한의 구조 변경만으로 GFM에 language-conditioned temporal world modeling 능력을 부여
- foundation-model 규모의 기존 baseline 대비 정확도·robustness·속도·모델 크기 전반에서 우위를 보이며, 특히 카메라 perturbation 조건에서 약 9.7%p의 향상을 보고
Method

GAM은 크게 세 단계로 구성됩니다. 관측을 인코딩하는 shallow encoder, 미래 latent를 예측하는 causal future predictor, 그리고 예측된 토큰으로부터 geometry와 action을 함께 뽑아내는 deep decoder입니다. 세 단계 모두 동일한 GFM에서 나옵니다
Splitting the GFM
먼저 사전학습된 GFM을 중간의 특정 레이어에서 자릅니다. 앞쪽 절반은 multi-view RGB 관측을 받아 latent geometric feature를 뽑는 encoder가 되고, 뒤쪽 절반은 예측된 토큰을 받아 최종 출력을 만드는 decoder가 됩니다. 논문에서는 전체 27개 블록 중 12번째 레이어에서 자르는 것을 기본 설정으로 사용합니다. 여기서 중요한 것은 GFM의 가중치를 그대로 쓴다는 점입니다. 앞단은 scene의 기하가 어떻게 생겼는가를 이미 알고 있고 뒷단은 그 기하를 어떻게 depth로 풀어낼 것인가를 이미 알고 있으니, 사이에 시간 축을 하나 끼워 넣기만 하면 world model이 된다는 논리입니다. 사실 이 발상 자체가 이 논문의 가장 좋은 부분이라고 느꼈습니다. 구조를 새로 설계한 것이 아니라 이미 있는 모델을 반으로 갈라서 그 틈에 시간을 넣은 것뿐인데, 그것만으로 world model의 형태가 나옵니다.
Causal Future Predictor
split 지점에 삽입되는 transformer가 실제 world model 역할을 합니다. 입력은 네 가지입니다. encoder가 뽑은 GFM 토큰, proprioceptive state의 임베딩, 직전 행동의 임베딩, 그리고 사전학습된 text encoder에서 나온 언어 토큰입니다. 이들을 이어 붙여 block-causal self-attention으로 처리합니다. 출력은 두 종류가 동시에 나옵니다. 하나는 예측된 미래 geometry 토큰이고, 다른 하나는 action 토큰입니다. 별도 head로 분리되지 않고 같은 시퀀스 안에서 함께 굴러갑니다.
Propagation and Decoding
예측된 action 토큰은 view 개수만큼 복제되어 geometry 토큰과 이어 붙은 뒤 남은 GFM 블록을 함께 통과합니다. 이후 두 개의 head가 붙습니다. action head는 실행 가능한 action chunk를 회귀하고, depth head는 geometry 토큰으로부터 미래 depth map을 디코딩합니다.
여기서 action 토큰을 굳이 깊은 GFM 블록에 다시 통과시킨다는 설계가 predictor에서 바로 행동을 뽑아도 될 텐데 굳이 geometry 토큰과 섞어서 한 번 더 흘려보내는데, 저자들의 의도는 행동 표현이 기하 표현과 같은 공간에서 refine되도록 강제하려는 것으로? 의도하지 않았을까 생각이듭니다.
Training Objective

학습은 세 항의 가중합으로 이루어집니다. 첫째는 예측 행동과 expert action chunk 사이의 L1 회귀인 action loss, 둘째는 예측된 미래 토큰을 frozen GFM이 실제 미래 프레임에서 뽑은 토큰에 맞추는 future-feature loss, 셋째는 예측 토큰이 디코딩한 미래 depth와 GT depth 사이의 depth loss입니다. 세 번째 항은 원래 GFM이 학습 때 쓰던 objective를 그대로 재사용한 것입니다.
여기서 눈에 띄는 것은 두 번째 항의 target입니다. 예측된 latent를 맞출 기준으로 학습 중인 network를 쓰지 않고, 아예 얼려버린 GFM이 실제 미래 프레임에서 뽑은 토큰을 그대로 씁니다. 보통 이렇게 latent를 예측하는 구조에서는 target이 같이 움직이면 EMA같은 기법도 사용했겠지만, 여기서는 표현 공간이 이미 3D로 정렬되어 있으니 고정 target만으로 충분하다는 것입니다.
Experiments
실험은 시뮬레이션(LIBERO, LIBERO-Plus, RoboCasa-kitchen)과 실제 로봇 양쪽에서 수행됩니다. 비교 대상은 OpenVLA-OFT, 파이0.5, Cosmos Policy, Spatial Forcing 등 foundation-model 규모의 VLA와 WAM들입니다.

LIBERO-Plus에서 85.5%의 success rate를 기록하는데, 특히 camera perturbation 카테고리에서 baseline 대비 앞서는걸 볼수있습니다. 3D 표현을 명시적으로 쓰기 때문에 시점 변화에 덜 민감하다는 것이 저자들의 주장입니다. 실제 로봇 실험에서도 외부 카메라를 85cm 옮기고 45도 회전시킨 조건에서 성능 저하가 훨씬 적게 나타납니다.

또한,1.4B 파라미터로 7B급 OpenVLA-OFT나 3.3B의 π0.5보다 작으면서, 약 145hz의 latency를 보이고 Cosmos Policy 대비 약 55배 빠릅니다. 생성 과정을 거치지 않고 latent 공간에서만 예측하니 당연한 결과이긴 하지만, 제어 주기가 145hz까지 올라간다는 것은 데모용이 아니라 실제로 쓸 수 있다는 뜻이라 충분히 기여로 인정할 만하다고 봅니다.
다만 짚고 싶은 것은, 카메라 perturbation에 강한 것이 곧 world modeling이 잘 되었다는 증거는 아니지 않을까 생각이듭니다. GFM은 애초에 multi-view geometry로 사전학습된 모델이라 시점 변화에 강건한 것이 당연하고, 그렇다면 이 향상의 상당 부분은 causal future predictor가 아니라 backbone 선택 자체에서 왔을 가능성이 큽니다.
Ablation

ablation은 이 의심을 어느 정도 확인시켜 줍니다. 우선 split layer는 27개 블록 중 12번째 근처가 가장 좋고 맨 앞이나 맨 뒤에서 자르면 모두 나빠집니다. 예측 전에 어느 정도 기하 처리가 선행되어야 하고 예측 후에도 refine할 블록이 남아 있어야 한다는 분석인데, 뒤집어 보면 GFM의 어느 층에 어떤 정보가 담겨 있는지에 성능이 크게 좌우된다는 뜻이기도 합니다 또한 context horizon은 직전 한 스텝만 보는 설정이 네 스텝을 보는 것보다 오히려 robust하고, depth loss는 기하 사전학습이 충분한 경우 기여가 크게 줄어듭니다. world model을 표현하는 논문에서 시간 문맥을 늘리면 나빠지고 기하 supervision도 사전학습이 대신해준다면, 결국 필요한 기하 지식의 대부분은 사전학습이 제공하고 있다는 얘기가 되는데 흠…. 제가 생각하기에는 GAM의 진짜 기여는 world modeling이라기보다 좋은 기하 표현을 policy 학습에 손실 없이 꽂아 넣는 방법을 찾은 것이 아닌가 느꼈습니다.

제가 로봇쪽 이해도를 키워나가다보니 이해하기 어렵고 부족한 설명도 많았을건데 그건 댓글이나 대면으로 얘기했으면 합니다^^ 감사합니다.
우진님 좋은 리뷰 감사합니다.
GFM의 앞단과 뒷단 사이에 시간축을 넣는 방식으로 world model을 설계하였다는 점이 저도 흥미로운 것 같습니다. 그런데, GFM의 앞단과 뒷단 가중치를 고정하였을 때, 중간에 들어간 시간축이 원하는대로 시간축에 대한 정보를 모델링할 수 있는지 의문이 생깁니다. 시간축으로 동작 할 수 있음을 확인하는 실험이 있을까요? 아니면 World Model에 대한 벤치마크 성능을 통해 원하는 동작 가능함을 보인것이 전부인가요?
또한, 중간에 시간축을 모델링하지 않고 GFM을 그대로 사용하는 방식의 성능은 어떻게 나올 지 궁금합니다. 즉, 시간축을 고려하지 않고 단편적 예측을 이어붙인 방식에 대한 결과는 확인이 어려울까요?