Physical AI 101 - 전체 목차4편

Physical AI 101 - 4편 모델의 내부 구조 — System 1/2 · action chunk · flow matching · 모방학습의 한계

부품 세 개

앞에서는 VLA 를 "카메라 + 언어 → 행동" 으로만 봤습니다. 이 편에서는 그 내부 구조를 설명합니다. 대부분의 최신 VLA 는 세 부품의 조립입니다.

VLA 는 세 부품의 조립. 입력과 출력 사이의 점선 상자가 신경망 하나이고, 그 안에 VLM, action head, adapter 가 있습니다.

  1. VLM(Vision-Language Model) — 보고 알아듣는 부분. 인터넷 규모로 사전학습한 언어·비전 모델입니다.
  2. action head — 행동을 생성하는 부분. 요즘은 대개 Diffusion Transformer(DiT) 나 action expert 라 불리는 작은 transformer 입니다.
  3. embodiment adapter — 로봇 몸에 맞추는 부분. 작은 MLP 입니다.

모델마다 이 셋을 어떻게 잇는지가 다를 뿐입니다.

System 2 와 System 1 — 이해와 행동의 분리

최신 VLA 는 느리게 이해하는 부분과 빠르게 행동하는 부분, 두 시스템으로 나뉩니다. System 2 = VLM 은 카메라 영상과 "빨간 컵을 왼쪽에 놓아라" 는 말을 이해하는 부분입니다. 느리게, 낮은 빈도로 돕니다. System 1 = action head 는 그 이해를 받아 실제 관절 명령을 빠르게 생성하는 부분입니다. 사람이 "무엇을 할지 판단" 과 "손을 정확히 움직이기" 를 나눠 처리하는 것과 같습니다.

GR00T N1 의 이중 시스템 구조. 이미지 관측과 언어 지시를 토큰으로 바꿔 VLM(System 2)이 처리하고, 그 출력과 로봇 상태·행동 인코딩을 Diffusion Transformer(System 1)가 받아 행동을 생성합니다.

출처: NVIDIA Isaac GR00T N1, arXiv:2503.14734 Fig. 2 · CC BY 4.0

GR00T 의 조립법 — 공유 부분과 로봇별 adapter

GR00T 의 구조는 모든 로봇이 공유하는 부분(VLM + DiT)로봇마다 다른 작은 adapter(MLP) 의 조합입니다. MLP 는 로봇마다 다른 관절 값을 모델 내부의 공통 표현(256차원 latent)으로 바꾸는 일만 합니다. 그래서 새 로봇을 붙일 때 무거운 공유 부분은 그대로 두고 MLP 만 새로 학습하면 됩니다. 수 시간, 약 10달러 수준입니다. 로봇마다 다른 관절 언어를 공통 언어로 옮기는 통역사와 같습니다.

GR00T 의 구조. 파란 점선 상자(VLM + DiT)는 모든 로봇이 공유하는 부분이라 얼려 두고, 주황 점선 상자의 MLP 둘만 로봇마다 새로 학습합니다.

파란 상자는 모든 로봇이 공유하는 부분이고 얼려 둡니다. 주황 상자 둘만 로봇마다 새로 학습합니다.

다양한 embodiment 의 서로 다른 상태·행동 차원을 처리하기 위해 embodiment 별 MLP 인코더·디코더를 갖춘 GR00T N1 구조

출처: NVIDIA Isaac GR00T N1, arXiv:2503.14734 Fig. 3 · CC BY 4.0

위 그림은 GR00T N1 논문의 원본 구조도로, 앞의 단순화한 도식과 같은 구조를 조금 더 자세히 보여줍니다.

  • 눈송이 표시(Eagle-2 VLM) — 사전학습된 채 얼려 둔 공유 부분입니다. 카메라 이미지는 Vision Encoder 로, 지시문은 Text Tokenizer 로 토큰이 되어 VLM 에 들어갑니다. 위 도식의 파란 VLM 상자입니다.
  • 가운데 DiT Blocks — 행동을 만드는 System 1 입니다. 블록 안의 Cross-Attention 이 VLM 의 출력 토큰을 참고하는 자리이고, Self-Attention 이 행동 토큰끼리 서로 맞추는 자리입니다. 이 블록을 N 번 쌓았습니다.
  • 초록 상자 셋(State Encoder · Action Encoder · Action Decoder) — 로봇마다 다른 embodiment-specific 모듈, 즉 adapter MLP 입니다. 위 도식에서는 State Encoder 와 Action Decoder 둘만 그렸지만, 원본에는 잡음 섞인 행동을 DiT 입력으로 바꾸는 Action Encoder 도 있습니다.
  • 왼쪽 아래 Noised Action 과 아래쪽 K iterations 화살표 — 앞의 DiT 용어 상자에서 설명한 잡음 제거 반복입니다. 무작위 숫자로 채운 행동 묶음(a_t … a_t+H−1)이 들어가서 Action Decoder 로 나오고, 그 결과를 다시 입력으로 넣기를 K 번 반복해 실제 관절 명령(Motor Action)이 됩니다. 이 K 는 고정값이 아니라 추론 때 정하는 설정값입니다. 공개 코드에서는 num_inference_timesteps 이고 N1.6 은 10, N1.7 은 4 를 기본으로 씁니다. 학습 때는 잡음 정도를 연속으로 바꿔 가며 "고칠 방향" 을 배우기 때문에, 추론에서 몇 번에 나눠 갈지는 나중에 골라도 됩니다. K 를 줄이면 빨라지고 품질이 조금 떨어지며, 1 로 두면 뒤에서 볼 애니메이션처럼 평균으로 무너집니다.

freeze / unfreeze — 무엇을 바꾸고 싶은가

"무엇을 바꾸고 싶은가" 에 따라 어느 부품을 학습(unfreeze)하고 어느 부품을 고정(freeze)할지가 달라집니다.

바꾸려는 것MLP (adapter)DiT (action head)VLM (이해)비용 감각
기존 로봇 + 기존 동작 그대로유지유지유지학습 불필요
새 로봇, 기존 동작학습freezefreeze수 시간, 약 10달러
새 동작 (사전학습에 없던 동사)학습학습freeze반나절
특수 카메라 (적외선 등)학습학습LoRA수 일, 비쌈

MLP 는 로봇이 바뀔 때, DiT 는 동작 자체가 새로울 때 손댑니다. 접기·붓기·쌓기 같은 흔한 동작은 이미 사전학습에 있어 MLP 만으로 되지만, 용접·저글링처럼 없던 동작은 DiT 까지 열어야 합니다.

새 로봇에는 반드시 어댑터가 필요합니다. 공개 모델은 사전 등록된 몇 개 embodiment 의 MLP 만 내장합니다. 그 외 로봇은 MLP 가 없어 그대로 올리면 의미 없는 출력이 나옵니다. 시연 100개와 adapter 학습이 최소 조건입니다.

한 번에 여러 스텝 — action chunk

action head 가 한 번에 뱉는 것은 한 스텝이 아니라 미래 여러 스텝의 묶음 입니다. 이것이 action chunk 이고, GR00T N1.6 은 16 스텝, N1.7 은 40 스텝입니다.

실효 제어 주기 = 추론 Hz × 한 번에 실행하는 스텝 수 입니다. 아래 그림처럼 어떤 모델이 소형 보드에서 초당 10회밖에 추론하지 못해도, 추론마다 16 스텝을 예측하고 그중 앞 8 스텝을 실행하면 로봇은 80 Hz 로 부드럽게 움직입니다. 나머지 8 스텝은 여유분이고, 로봇이 앞 8 스텝을 실행하는 동안 다음 chunk 를 미리 계산합니다. 내비게이션이 "앞으로 1 km 경로" 를 한 번에 주는 것과 같습니다.

action chunk 의 시간 구조. 추론 한 번이 16 step 을 예측하고, 로봇이 앞부분을 실행하는 동안 다음 추론이 새 묶음을 준비합니다.

chunk 는 저장 포맷이 아니라 정책의 일부입니다. 데이터 수집 편의로 16 스텝 chunk 를 1 스텝으로 쪼개 실행하면 정책이 무너집니다. 한 실측에서 20 스텝 실행은 10회 중 3회 성공, 1 스텝 실행은 48회 중 0회 성공이었습니다.

행동을 만드는 방법 — 회귀 · token · diffusion · flow matching

policy 의 출력은 언제나 숫자 묶음(위의 실수 112개)입니다. 이 숫자를 신경망이 어떤 방식으로 뽑아내느냐 가 action head 의 전부이고, token · diffusion · flow matching 은 그 뽑는 방식의 이름입니다.

회귀 — mode averaging 문제

가장 단순한 방법은 신경망이 숫자 112개를 바로 출력하고 정답과의 거리(MSE)를 줄이는 것입니다. 이것이 회귀(regression) 이고, 신경망 학습의 가장 기본적인 방식입니다. 그런데 이 방법에는 한 가지 문제가 있고, 나머지 세 방법은 모두 그 문제를 피하려고 나왔습니다.

컵 앞에 장애물이 있습니다. 시연 데이터의 절반은 왼쪽으로 돌아갔고 절반은 오른쪽으로 돌아갔습니다. MSE 로 학습한 신경망은 둘의 평균 인 "정면 직진" 을 내놓고 장애물을 들이받습니다. 데이터에 없는 행동이 나옵니다. 이것이 mode averaging 입니다.

mode averaging. 왼쪽 우회와 오른쪽 우회 시연을 MSE 로 회귀하면 그 평균인 정면 직진이 나와 장애물을 들이받습니다.

그래서 필요한 것은 점이 아니라 분포 를 배우고, 거기서 하나를 뽑는(sampling) 능력입니다. 세 방법은 전부 "분포에서 샘플링" 을 서로 다른 방식으로 구현한 것입니다.

방법 1 — token: 칸 고르기

실수를 정수 칸(bin)으로 잘라 그중 하나를 고르는 분류 문제로 바꿉니다. 관절 각도 범위를 256칸으로 나누면 각 각도는 0~255 중 하나의 번호가 됩니다. 언어 모델이 어휘에서 다음 단어를 고르듯, 256개 중 하나를 고릅니다.

고르는 방식이 두 단계입니다. 먼저 신경망이 256칸 각각에 확률을 매깁니다. 예를 들어 136번 칸 20%, 137번 칸 55%, 138번 칸 18% 처럼요. 그다음 그 확률대로 무작위로 하나를 고릅니다. 이것을 샘플링 이라 하고, 그래서 같은 입력에도 결과가 조금씩 달라질 수 있습니다. 항상 확률이 가장 높은 칸만 고르지 않는 이유는 봉우리가 둘일 때(왼쪽 우회 45%, 오른쪽 우회 45%) 둘 다 나올 수 있어야 하기 때문입니다. 언어 모델이 같은 질문에 매번 조금 다른 답을 내는 것과 같은 원리입니다.

  • 학습 — 정답 칸 번호를 맞히는 분류 문제. 언어 모델 학습과 똑같습니다.
  • 추론 — 관절 1 칸 뽑기 → 관절 2 칸 뽑기 → … 정해진 차례로 한 칸씩. 앞에서 뽑은 칸이 뒤 칸의 확률에 조건으로 들어가므로, 관절 1 을 왼쪽 우회 쪽으로 뽑았으면 관절 2 도 그쪽으로 몰립니다. 112개면 112번 순차 호출입니다.
  • 비유 — 숫자 128.4 를 "일-이-팔" 세 글자로 받아쓰는 것. 소수점은 버려집니다.
  • 장점 — VLM 을 손대지 않고 그대로 씁니다. 언어 토큰과 행동 토큰이 같은 어휘장입니다.
  • 단점 — 양자화 오차, 순차 생성이라 느림(OpenVLA 약 6 Hz), 부드러움 보장 없음.
  • 대표 — RT-2, OpenVLA, π0-FAST

방법 2 — diffusion: 잡음 정제

정답 행동에 잡음을 조금씩 섞어 완전한 잡음으로 만드는 과정을 거꾸로 배웁니다. 추론 때는 잡음 112개에서 시작해 "여기서 잡음이 얼마나 섞였나" 를 예측해 빼기를 반복하면 행동이 드러납니다.

diffusion 이라는 이름은 물리학의 확산에서 왔습니다. 잉크 한 방울이 물에 퍼져 결국 균일한 잡음이 되는 과정을 거꾸로 돌리면 잡음에서 잉크 방울을 복원할 수 있다는 발상이고, 이미지 생성(Stable Diffusion)에서 먼저 성공한 뒤 로봇 행동 생성에도 쓰이게 됐습니다.

  • 학습 — 잡음 섞인 행동 + 시각 → 섞인 잡음을 맞히기.
  • 추론 — 잡음 → 정제 반복(원 논문 100 스텝, 실기에서는 10 스텝). 매 스텝 112개를 한꺼번에 갱신합니다.
  • 비유 — 흐린 사진을 점점 선명하게 복원하기. 조각가가 돌덩이에서 형체를 깎아 내기.
  • 장점 — 연속값 그대로, 봉우리 여러 개도 잘 표현, chunk 전체가 한 덩어리라 부드럽습니다.
  • 단점 — 정제 스텝 수만큼 신경망을 반복 호출합니다.
  • 대표 — Diffusion Policy, Octo

방법 3 — flow matching: 속도장 따라 이동

diffusion 과 목적지는 같습니다. 무작위 숫자에서 출발해 여러 번 고쳐 진짜 행동에 도착합니다. 다른 점은 무엇을 배우느냐 입니다. diffusion 은 "지금 섞여 있는 잡음이 얼마인가" 를 배우고, flow matching 은 "지금 위치에서 어느 방향으로 얼마나 가야 하는가", 즉 속도 를 배웁니다.

행동 공간의 모든 지점에 "여기서는 이 방향으로 이만큼 가라" 는 속도가 하나씩 정해져 있고, 이 속도들의 모음을 속도장(velocity field) 이라 부릅니다. flow matching 은 이 속도장을 신경망에 배우게 하는 방법입니다. 지도 위 모든 지점에 화살표가 하나씩 그려진 것과 같습니다.

학습 과정. 시연에서 진짜 행동 하나(x₁)를 꺼내고, 무작위 숫자 하나(x₀)를 만들어 둘을 직선으로 잇습니다. 그 직선 위의 아무 지점 하나를 고르고(t 가 0 이면 잡음 쪽 끝, 1 이면 정답 쪽 끝, 0.3 이면 잡음에서 30% 간 지점), 신경망에게 "이 지점의 화살표는 정답 쪽을 가리켜야 한다" 고 가르칩니다. 직선이니 화살표 방향은 항상 x₁ − x₀ 로 같습니다. 이것을 수만 번 반복하면 신경망이 속도장 전체를 익힙니다.

추론 과정. 무작위 숫자에서 출발해, 그 자리의 화살표를 신경망에게 묻고, 그 방향으로 조금 이동합니다. 새 자리에서 다시 묻고 또 조금 이동합니다. 이것을 10번쯤 하면 정답 행동 근처에 도착합니다. 아래 애니메이션의 flow matching 패널에서 파란 선이 이 이동 경로입니다.

  • 학습 — t ∈ [0, 1] 하나 뽑고 x_t = (1−t)·x₀ + t·x₁ 에서 v = x₁ − x₀ 맞히기. 말로 풀면 "잡음과 정답 사이 t 지점에서, 화살표는 정답 방향".
  • 추론 — x ← x + v·Δt 를 10 스텝 정도(π0 기본 10). 말로 풀면 "현재 위치에 화살표 × 보폭을 더해 한 발 이동". 112개 숫자를 한꺼번에 움직입니다.
  • 장점 — 배울 것이 "직선 화살표" 하나라 수식이 단순하고, diffusion 처럼 잡음을 얼마나 섞을지 정하는 schedule 이 필요 없으며, 적은 스텝으로 실용 품질이 나옵니다.
  • 대표 — π0, SmolVLA, GR00T N1

Flow matching 의 확률 흐름 경로. 중앙의 잡음 분포에서 주변 데이터 클러스터로 향하는 궤적을 곧게 펴는 것이 목표입니다. 왼쪽은 기본 flow matching, 오른쪽은 직선화한 경로입니다.

출처: Khan, arXiv:2604.04491 Fig. 1 · CC BY 4.0

위 그림은 flow matching 이 잡음을 데이터로 옮기는 경로를 보여줍니다. 검은 점 무리 여섯 개가 데이터, 즉 정답 행동의 봉우리들이고, 가운데가 잡음의 시작점입니다. 선 하나가 잡음 점 하나가 속도장을 따라 데이터로 이동한 경로입니다. 왼쪽은 기본 flow matching, 오른쪽은 경로를 더 곧게 펴도록 학습을 바꾼 변형입니다. 이 시리즈에서 볼 것은 두 가지입니다. 경로가 평균으로 뭉치지 않고 여섯 봉우리로 갈라져 도착한다는 것, 그리고 경로가 대체로 직선에 가까워 적은 스텝으로도 도착한다는 것입니다. 아래 애니메이션의 flow matching 패널이 이것을 봉우리 두 개로 줄인 것입니다.

네 방식 비교 애니메이션

네 방식을 같은 조건에서 나란히 돌려 보면 차이가 한눈에 들어옵니다. 아래 애니메이션은 실수 112개 대신 행동을 2차원(x, y) 하나로 줄인 간단한 예제입니다. 회색 점이 시연 데이터, 가운데 원이 장애물입니다.

애니메이션 로딩 중...

한 줄 정리. token 은 "분류 문제로 바꾸기", diffusion 과 flow matching 은 "잡음을 행동으로 옮기기" 입니다. 뒤의 둘은 같은 계열이고, 앞의 하나만 계열이 다릅니다. 스텝을 1 로 줄이면 diffusion 과 flow 둘 다 평균으로 무너져 회귀와 같아집니다. 여러 번 나눠 가야 봉우리로 갈라집니다.

π0 가 이를 공개적으로 실증했습니다. PaliGemma 3B VLM 에 flow matching action expert 를 얹어 50 스텝 chunk 를 10번의 적분으로 뽑고 조작을 최대 50 Hz 로 구동합니다(arXiv:2410.24164). GR00T 와 π0 계열이 flow matching 을 택한 이유는, 큰 모델로도 제어 루프를 돌릴 만큼 빠르게 행동을 뽑아 주기 때문입니다.

행동 표현의 층위

지금까지 행동을 "관절 각도 숫자" 로만 봤습니다. 그런데 행동은 다른 형태로도 적을 수 있습니다. "컵을 왼쪽에 놓아라" 같은 문장도 행동이고, "잡을 지점은 여기" 같은 좌표도 행동입니다. 사람 말에 가까운 것부터 모터 명령에 가까운 것까지 한 줄로 세우면 아래 표가 됩니다.

층위무엇으로 행동을 나타내나trade-off
추상 — 언어·코드"컵을 왼쪽에 놓아라" 같은 자연어 하위 목표, 호출할 코드 이름읽기 쉽고 재사용 강함. 실제 관절까지는 하위 실행기가 또 필요
중간 — token·affordance·궤적행동을 이산 토큰으로 양자화, 잡을 지점, 목표 궤적언어 모델과 궁합 좋고 안정적. 양자화 손실
구체 — raw action매 스텝의 관절 각도·속도 같은 연속 실수 (chunk + flow matching 이 여기)가장 정밀하고 매끄러움. 연속값 예측이 어렵고 고빈도 생성 부담

최신 VLA 는 이 표의 두 층을 겹쳐 씁니다. 예를 들어 π0.5 는 먼저 추상 층에서 "다음 하위 작업: 접시를 집어라" 를 텍스트로 내고, 그 문장을 조건으로 구체 층에서 flow matching 이 raw action(관절 명령 50 스텝)을 냅니다. 상위는 언어로 계획하고, 하위는 flow matching 으로 연속 행동을 생성 하는 구조입니다.

분류 출처: action tokenization survey, arXiv:2507.01925

π 계열 — 또 다른 설계 철학

GR00T 가 "공유 부분 + 로봇별 MLP adapter" 로 명시적 분리를 택했다면, Physical Intelligence 의 π0 계열은 관절 상태를 VLM 에 직접 토큰으로 넣는 통합형입니다.

버전핵심 변화공개
π0 (2024)PaliGemma + flow matching 최초, 양팔 조작 특화공개
π0.5 (2025)웹 데이터 co-training → 열린 환경 일반화, 모바일 조작공개
π0.6 (2025)Gemma 3 4B backbone, knowledge insulation미공개
π*0.6 (2025)+ RECAP: 배포 후 경험으로 개선 (배치 offline RL)미공개
π0.7 (2026)멀티프레임 영상 기억 (카메라당 최대 6장)미공개

공개 여부는 작성 시점 기준이고 이후 바뀔 수 있습니다.

두 아이디어가 특히 배울 만합니다. knowledge insulation 은 VLM 과 action expert 사이의 gradient 를 끊어, VLM 은 이해에만, action expert 는 행동에만 집중하게 합니다. RECAP 은 RL with Experience and Corrections via Advantage-conditioned Policies 의 줄임말로, 배포된 로봇의 경험(experience)과 사람의 교정(corrections)을 모아 강화학습으로 정책을 개선하는 방법입니다. "배포된 로봇이 자기 경험으로 스스로 나아진다" 로 소개되는데, 이 문구 때문에 로봇이 돌아다니며 실시간으로 배운다고 오해하기 쉽습니다. 실제로는 실행 중 가중치는 읽기 전용이고, 로봇이 모은 경험을 별도 서버로 보내 일괄 재학습한 뒤 새 checkpoint 를 다시 배포하는 배치 사이클입니다. 데이터 수집 → 오프라인 재학습 → 재배포가 한 바퀴이고, 로봇이 현장에서 배우는 것처럼 보이는 것은 이 바퀴가 반복되기 때문입니다.

행동이 아니라 세계를 예측 — WFM 과 WAM

WFM(World Foundation Model) 은 로봇 행동 대신 물리 세계의 다음 장면을 생성합니다. NVIDIA Cosmos 가 대표이고, 내부는 VLA 와 닮았습니다. 언어 backbone 이 텍스트를 이해하고, DiT 비디오 엔진이 잡음에서 미래 영상을 denoise 로 생성합니다. "행동을 denoise" 하는 게 VLA 라면 "영상을 denoise" 하는 게 WFM 입니다.

WFM 은 물리 시뮬레이터가 아닙니다. 물리 시뮬레이터가 강체·접촉·마찰을 수치로 계산해 로봇의 몸을 굴린다면, WFM 은 시뮬레이터가 만든 회색 장면을 사실적으로 바꾸거나 조명·질감·시점을 다양화해 학습 데이터를 불립니다. 물리 시뮬레이터가 몸의 움직임을, WFM 이 눈에 보이는 장면을 맡는 분업입니다.

WAM(World Action Model) 은 여기서 더 나아가 미래 영상과 로봇 행동을 한 모델에서 동시에 예측합니다.

World Action Model. 미래 비디오 프레임과 행동을 하나의 정렬된 확산 과정으로 동시에 예측합니다.

출처: Ye et al., arXiv:2602.15922 Fig. 1 · CC BY 4.0

VLA 와의 결정적 차이는 backbone 입니다. VLA 는 언어 모델을, WAM 은 비디오 생성 모델 을 뼈대로 씁니다. 웹 규모 영상으로 사전학습한 비디오 모델은 "물체를 밀면 어떻게 움직이는가" 같은 세계 물리를 이미 알고 있고, 여기에 행동을 얹어 학습하면 그 물리 지식이 로봇 정책으로 전이됩니다.

구분VLA (GR00T, π 계열)WAM (DreamZero)
backbone언어·비전 모델비디오 확산 모델
사전학습 데이터정적 이미지-텍스트웹 규모 비디오
출력행동만미래 영상 + 행동
안 배운 동작약함, 시연 의존상대적으로 강함
추론 속도빠름느림 (14B 반복 denoising, 약 7 Hz)

"VLA 는 끝났다" 는 헤드라인. 2026년 NVIDIA 의 Jim Fan 이 키노트에서 "VLAs are dead, long live World Action Models" 라고 말해 화제가 됐습니다. 하지만 같은 시기에 NVIDIA 자신이 VLA 인 GR00T N1.7 을 출시했습니다. Physical Intelligence 의 π0.7 도 VLA 를 버리지 않고, 작은 world model 을 VLA 앞에 붙여 "다음에 어떤 장면이 되어야 하는지" 를 먼저 그려 보게 한 뒤 그 목표에 맞춰 행동을 내도록 했습니다. 즉 VLA 가 사라지는 것이 아니라, VLA 와 world model 과 강화학습 후학습을 한 시스템 안에서 같이 쓰는 방향 으로 가고 있습니다.

checkpoint 관리 — 가중치의 단계별 분기

VLA 가중치는 한 번에 만들어지지 않습니다. generalist 에서 출발해 단계적으로 특화하며, 각 단계의 checkpoint(가중치 스냅샷)를 보존해 다음 fine-tune 의 출발점으로 재사용합니다.

checkpoint 나무. generalist 에서 로봇별, 작업별로 가지를 치고, 특화 가중치에서 generalist 로는 되돌아갈 수 없습니다.

실무에서 지키는 규칙입니다.

  1. chain 은 단방향 — 한 번 특화된 가중치에서 generalist 를 되살리는 것은 사실상 불가능합니다. 새 작업을 배우며 이전 능력을 잊는 catastrophic forgetting 때문입니다. generalist checkpoint 는 반드시 따로 보존합니다.
  2. 학습은 이전 checkpoint 로 되돌아가는 반복 — 어떤 정책이 특정 동작에 과적합해 무너지면 그 방향으로 더 학습하지 말고 이전의 더 일반적인 checkpoint 로 되돌아가 다시 분기합니다.
  3. 공개 가중치가 chain 의 어느 단계인지 — generalist 면 새 로봇에 쓸 수 있지만, 데모용 specialist 면 그 환경 밖에서는 못 씁니다. OpenVLA · GR00T · π0 계열이 generalist checkpoint 를 공개하는 이유가 이것입니다.

모방학습의 한계 — loss 가 낮아도 성공률이 안 오르는 이유

behavior cloning 으로 VLA 를 학습하면 training loss 를 7배 낮춰도 실제 성공률은 전혀 오르지 않는 일이 흔합니다. 과적합이 아니라 covariate shift 때문입니다.

Behavior cloning 의 분포 이동과 오차 누적. 전문가 행동은 학습 분포 D 안에 머물지만, BC 로 학습한 정책은 오차가 누적되며 D 밖 상태로 표류합니다.

출처: Mehta et al. (Stable-BC), arXiv:2408.06246 · CC BY 4.0

BC 는 "전문가가 있던 상태 → 전문가 행동" 쌍만 배웁니다. 실행 중 정책이 스스로 조금 어긋나면 시연에 없던 새 상태에 진입하는데, 그 상태에서 어떻게 회복하는지는 데이터에 없습니다. 회복 신호가 없으니 오차가 누적되고 무너집니다.

쉽게 말하면 로봇이 시연을 완벽히 외웠다고 해도, 실제로 움직이면 시연과 아주 조금은 다르게 움직입니다. 그 조금의 차이 때문에 로봇은 시연에 한 번도 없던 자세에 놓이게 됩니다. 시연에는 그 자세에서 어떻게 해야 하는지가 없으니 다음 행동도 조금 어긋나고, 그다음은 더 어긋납니다. 이렇게 작은 오차가 쌓여 결국 실패합니다. loss 는 시연을 얼마나 잘 외웠는지만 재기 때문에 이 문제를 못 잡습니다. validation loss 도 같은 시연에서 뽑은 것이라 마찬가지입니다.

처방은 "더 좋은 validation set" 이 아니라 정책이 실제로 방문하는 분포를 학습에 넣는 것 입니다.

세 가지는 경쟁 기법이 아니라 같은 문제를 점점 더 강하게 푸는 한 흐름입니다. 그래서 DAgger 와 RL 은 선택 사항이 아니라 covariate shift 때문에 꼭 필요한 단계이고, SFT 다음에 RFT 가 옵니다. 진단 규칙 하나. loss 가 거의 0 인데 성공률이 평탄하면 더 학습할 것이 아니라 접근 자체를 의심하고, 평가는 loss 가 아니라 rollout 성공률로만 합니다.

요약

  • VLA 는 VLM(System 2) + action head(System 1) + embodiment adapter 세 부품의 조립이고, 새 로봇에는 어댑터만, 새 동작에는 action head 까지 학습합니다.
  • action head 는 숫자 묶음을 뽑는 방식입니다. 회귀는 평균의 함정에 빠지고, token 은 분류로 바꾸고, diffusion 과 flow matching 은 잡음을 행동으로 옮깁니다. chunk 는 정책의 일부입니다.
  • WFM 은 세계를, WAM 은 세계와 행동을 함께 예측합니다. "VLA 는 끝났다" 가 아니라 VLA + world model + RL 후학습으로 수렴하는 중입니다.
  • 모방학습의 한계은 covariate shift 이고, 처방은 DAgger 와 RL 입니다. 평가는 rollout 성공률로 합니다.

다음 편에서는 로봇 자체를 다룰 때 만나는 용어에 대한 이야기입니다.

다음 편 → 5편 로봇을 다루는 언어와 아직 안 풀린 문제