검색
← 모듈 로드맵

시뮬레이션에서 현실로, 그리고 VLA: 로봇 기반 모델을 읽는 지도

강의 · 준전문가 · KAITABASE 정리

원제 · Sim-to-Real and Vision-Language-Action Models: A Map (Peng 외 Dynamics Randomization 등 참고)

현실 격차 · 무작위화 · 특권 학습과 VLA 행동 표현 다섯 가지를 한 지도로 정리하는 수업

먼저 알아야 할 것

모방 학습 · 행동 복제강화학습의 정책 · 보상시각-언어 모델확산 모델 개념PID · 저수준 제어

다루는 내용

시뮬레이션과 현실의 차이를 메우는 도메인 무작위화 · 시스템 식별 · 특권 학습을 비교하고, 열린 고리 정책의 한계를 장난감 숫자로 보입니다. RT-2 · OpenVLA의 256칸 행동 토큰화를 손계산하고, 이산 토큰 · 행동 묶음 · 확산 · 흐름 매칭 · 이중 시스템을 제어 주파수와 함께 비교합니다. 로봇 데이터 출처와 성공률 읽는 법도 정리합니다.

해설

시뮬레이션에서 현실로, 그리고 VLA: 로봇 기반 모델을 읽는 지도

로봇 학습 논문은 크게 두 갈래로 읽힙니다. 하나는 시뮬레이션에서 배운 정책을 실제 로봇으로 옮기는(sim2real) 갈래, 다른 하나는 웹 지식을 가진 시각-언어 모델에 행동 출력을 붙인 VLA(시각-언어-행동) 모델 갈래입니다. 이 수업은 현실 격차를 메우는 세 가지 방법, 행동을 표현하는 다섯 가지 방식(이산 토큰 · 행동 묶음 · 확산 · 흐름 매칭 · 이중 시스템), 로봇 데이터의 출처와 평가 방법을 정리해, 이 트랙의 논문들을 한 장의 지도 위에 놓고 읽을 수 있게 합니다.

항목내용
참고 출처Peng 외, Sim-to-Real Transfer of Robotic Control with Dynamics Randomization(ICRA 2018) · 이 트랙의 논문 해설(도메인 무작위화 · Dactyl · 사족 보행 · RT-2 · Open X-Embodiment · OpenVLA · π0 · GR00T N1 등)과 각 원 논문
트랙 · 수준피지컬 AI · 중급
이 수업이 다루는 범위현실 격차, 도메인 무작위화(시각 · 동역학), 시스템 식별, 특권 학습, VLA 구조, 행동 토큰화 · 행동 묶음 · 확산 · 흐름 매칭 비교, 제어 주파수, 데이터 피라미드, 평가 읽는 법

들어가기 전에

한눈에 보기

  • 시뮬레이터와 현실이 어긋나는 '현실 격차'가 어디서 생기는지, 이를 메우는 세 방법(무작위화 · 시스템 식별 · 특권 학습)을 구분합니다.
  • 고정된 열린 고리 정책은 물리 값이 바뀌면 왜 실패하고, 무작위화 + 되먹임 정책이 왜 강한지 작은 숫자로 확인합니다.
  • RT-2 · OpenVLA의 256칸 행동 토큰화를 직접 계산하고, 양자화 오차를 구합니다.
  • 행동 표현 다섯 가지의 장단점과 제어 주파수의 관계를 표로 비교합니다.
  • 로봇 논문의 성공률 숫자를 읽을 때 무엇을 확인해야 하는지 압니다.

1. 현실 격차: 시뮬레이터는 언제나 조금 틀린다

직관(해설용 비유). 운전 시뮬레이터로만 연습한 사람이 실제 도로에 나가면, 핸들의 묵직함 · 브레이크가 듣는 거리 · 햇빛 반사가 조금씩 달라 당황합니다. 로봇도 같습니다. 시뮬레이터의 마찰 · 질량 · 모터 지연 · 카메라 색감은 실제와 조금씩 다르고, 정책은 그 작은 차이를 "규칙"으로 외워 버리기 쉽습니다. 이 차이를 현실 격차(reality gap) 라 합니다.

시뮬레이션을 쓰는 이유. 실제 로봇은 느리고, 고장 나고, 사람이 지켜봐야 합니다. 시뮬레이터는 수천 개 환경을 동시에, 밤새, 위험 없이 돌릴 수 있습니다. 강화학습처럼 시행착오가 아주 많이 필요한 방법에서는 거의 필수입니다.

메우는 세 방법.

방법핵심이 트랙의 예
도메인 무작위화시뮬레이터 값을 일부러 넓게 흔들어, 현실이 "변형 중 하나"가 되게 함도메인 무작위화(렌더링) · Dactyl(물리 · 겉모습)
시스템 식별실제 로봇을 재서 시뮬레이터 값을 현실에 맞춤(무작위화와 함께 쓰는 경우가 많음)
특권 학습(선생-학생)시뮬레이터의 정답 정보를 아는 선생 정책을 먼저 만들고, 실제 센서만 보는 학생이 따라 배움사족 보행

도메인 무작위화 논문(Tobin 외, 2017)은 사실적이지 않은 무작위 질감의 시뮬레이션 이미지만으로 실제 물체 위치를 약 1.5cm 정확도로 찾는 검출기를 학습했다고 보고합니다. Peng 외(2017년 arXiv, ICRA 2018)는 같은 생각을 동역학 에 적용해, 학습 중 시뮬레이터의 물리 값을 무작위로 바꾸면 정책이 다양한 동역학에 적응하는 법을 배워 실제 로봇 팔의 물체 밀기 과제로 실제 로봇 학습 없이 옮겨 갔다고 보고합니다.

2. 숫자로 보는 무작위화: 열린 고리 vs 되먹임

숫자로 해 보기(해설용 장난감 예). 책상 위 상자를 정확히 1 m(허용 오차 ±0.2 m) 밀어야 합니다. 상자가 밀리는 거리는 미는 힘 FF 를 마찰 계수 μ\mu 로 나눈 값 F/μF/\mu 라고 합시다.

  1. 시뮬레이터 하나만(μ=1.0\mu = 1.0) 보고 학습: 정책은 F=1.0F = 1.0 을 외웁니다. 실제 바닥이 μ=1.3\mu = 1.3 이면 상자는 1/1.3≈0.771/1.3 \approx 0.77 m만 가서 실패합니다.
  2. μ\mu 를 0.7~1.3 사이에서 무작위로 흔들어 학습, 하지만 정책은 힘 하나만 냄(열린 고리): 어떤 FF 를 골라도 모든 μ\mu 에서 성공할 수는 없습니다. 성공 조건 ∣F/μ−1∣≤0.2|F/\mu - 1| \le 0.2 를 만족하는 μ\mu 의 비율을 계산하면, F=1.0F = 1.0 일 때 약 69%, 가장 좋은 F≈1.04F \approx 1.04 에서도 약 72%입니다(파이썬 격자 계산).
  3. 무작위화 + 되먹임(관측을 보고 조금씩 미는 정책): 조금 밀고, 얼마나 갔는지 보고, 모자라면 더 밉니다. 이 정책은 범위 안의 어느 μ\mu 에서도 1 m 근처에서 멈출 수 있습니다.

왜 이렇게 하나. 무작위화는 "모든 경우에 통하는 하나의 동작"을 찾게 하는 것이 아니라, 관측을 보고 지금 환경이 어떤지 짐작해 고치는 능력 을 배우게 할 때 가장 강합니다. 그래서 Dactyl 같은 연구는 기억을 가진 정책(LSTM)을 쓰고, 사족 보행 연구는 학생 정책이 몸 감각 이력을 보고 지형을 짐작하게 합니다. 대가도 있습니다. 범위를 너무 넓히면 학습이 어려워지고, 지나치게 조심스러운 정책이 나올 수 있습니다.

3. VLA: 시각-언어 모델에 손을 붙이다

직관. 인터넷 그림 · 글로 학습한 시각-언어 모델(VLM)은 "딸기", "가장 작은 물체", "넘어지려는 가방" 같은 개념을 이미 압니다. VLA는 이 모델이 답을 글로 쓰는 대신 로봇 행동을 출력 하게 만든 것입니다. RT-2 논문이 이 이름(Vision-Language-Action)을 붙였습니다.

mermaid
flowchart LR
  I[카메라 영상] --> V[시각 인코더]
  L[언어 지시<br/>딸기를 맞는 그릇에] --> T[언어 모델 백본]
  V --> T
  S[관절 상태] -.-> H
  T --> H[행동 출력부<br/>토큰 · 확산 · 흐름 매칭]
  H --> A[행동 묶음<br/>손끝 변위 · 그리퍼]
  A --> C[저수준 제어기 · 모터]
  C --> I

3-1. 행동을 단어로: 256칸 토큰화

RT-2 논문은 행동 공간을 손끝의 6자유도 위치 · 회전 변위, 그리퍼 벌림 정도, 에피소드 종료 명령으로 두고, 종료를 뺀 연속 차원을 256칸으로 균일하게 나눠 행동 하나를 정수 8개 로 나타냅니다. OpenVLA는 각 차원을 따로 256칸으로 나누되, 최솟값 · 최댓값 대신 학습 데이터의 1% · 99% 분위수 사이를 나눠 이상치 영향을 줄입니다.

b=⌊a−aloahi−alo×256⌋,a^=alo+(b+12)ahi−alo256b = \left\lfloor \frac{a - a_{\text{lo}}}{a_{\text{hi}} - a_{\text{lo}}}\times 256 \right\rfloor,\qquad \hat a = a_{\text{lo}} + \left(b + \tfrac12\right)\frac{a_{\text{hi}} - a_{\text{lo}}}{256}
기호뜻
aa연속 행동 값(예: x 방향 손끝 변위)
alo,ahia_{\text{lo}}, a_{\text{hi}}나눌 구간의 아래 · 위 끝(RT-2는 최소 · 최대, OpenVLA는 1% · 99% 분위수)
bb칸 번호 0~255 → 토큰 하나
a^\hat a토큰을 다시 연속 값으로 바꾼 값(칸 가운데로 둔 해설용 복원)

숫자로 해 보기(해설용, 구간은 가정). x 변위 구간이 [−0.1,0.1][-0.1, 0.1] m라면 칸 너비는 0.2/256=0.000781250.2/256 = 0.00078125 m입니다. a=0.03a = 0.03 m는 ⌊0.13/0.2×256⌋=⌊166.4⌋=166\lfloor 0.13/0.2\times256\rfloor = \lfloor166.4\rfloor = 166 번 칸이고, 복원하면 −0.1+166.5×0.00078125≈0.03008-0.1 + 166.5\times0.00078125 \approx 0.03008 m입니다. 최대 양자화 오차는 칸 너비의 절반, 약 0.39 mm입니다.

왜 토큰인가 · 대가. 행동을 글자와 같은 토큰으로 만들면 VLM의 학습 방식(다음 토큰 예측 · 교차 엔트로피)을 그대로 쓰고, 웹 데이터와 로봇 데이터를 한 모델에 함께 학습시킬 수 있습니다. 대신 토큰을 하나씩 생성하므로 느립니다. OpenVLA(70억 파라미터)는 RTX 4090 한 장에서 bfloat16으로 약 6Hz로 돈다고 보고합니다.

3-2. 다섯 가지 행동 표현 비교

방식대표한 번에 내는 것장점약점
이산 토큰(자기회귀)RT-2 · OpenVLA한 걸음의 행동 토큰들VLM 학습법 그대로, 웹 지식 전이느림, 양자화 오차
행동 묶음 + CVAEACT여러 걸음의 연속 행동오차 누적 감소, 정밀 작업모델 규모 작음
확산확산 정책 · Octo잡음을 여러 번 걷어 낸 행동 묶음다봉 분포 표현, 안정적 학습잡음 제거 반복 비용
흐름 매칭π0속도장을 적분한 행동 묶음큰 VLM + 연속 고주파 행동구조가 복잡
이중 시스템GR00T N1느린 VLM(시스템 2) + 빠른 확산 트랜스포머(시스템 1)해석과 실행을 나눠 실시간성 확보두 모듈을 함께 맞춰야 함

숫자로 해 보기(논문 수치로 계산). π0 논문은 행동 묶음 길이 H=50H = 50, 최대 50Hz 제어, 추론 때 적분 10단계를 쓴다고 밝힙니다. 50Hz에서 50걸음이면 묶음 하나가 1초 분량이고, 1초에 묶음을 한 번만 새로 만든다면 그 사이에 행동 출력부를 10번 돌리면 됩니다. 반면 한 걸음마다 토큰 7개를 차례로 생성하는 방식으로 50Hz를 내려면 1초에 토큰 350개를 순서대로 뽑아야 합니다(해설용 단순 계산, 실제 시스템은 캐시 · 병렬화로 달라짐). 고주파 양팔 조작에서 행동 묶음이 주류가 된 이유가 여기에 있습니다.

4. 데이터: 로봇에는 인터넷이 없다

언어 모델은 웹 글을 쓰면 되지만, 로봇 행동 데이터는 누군가 로봇을 움직여 모아야 합니다. 그래서 출처를 섞습니다.

  • 여러 연구실 데이터 합치기: Open X-Embodiment는 21개 기관이 모은 22종 로봇의 데이터를 표준 형식으로 합쳐 527개 기술(160,266개 작업)을 담았다고 초록에서 밝힙니다. OpenVLA는 이 데이터에서 고른 97만 개 에피소드로 학습했습니다.
  • 원격조종 시연: ALOHA처럼 값싼 장치로 사람이 직접 시연합니다. 품질은 가장 좋지만 양이 적습니다.
  • 시뮬레이션 · 생성 영상 · 사람 영상: GR00T N1은 실제 로봇 궤적, 사람 영상, 합성 데이터를 섞어 학습하며, 양은 많고 정확도는 낮은 데이터부터 적고 정확한 데이터까지를 '데이터 피라미드'로 설명합니다. Cosmos 같은 월드 모델은 이런 합성 데이터를 만드는 도구로도 쓰입니다.

왜 섞나. 실제 로봇 데이터만으로는 다양성이 모자라고, 사람 영상 · 합성 데이터만으로는 정확한 행동 라벨이 없습니다. 많고 흐린 데이터로 넓은 상식을, 적고 정확한 데이터로 정밀한 동작을 배우게 나누는 것입니다.

5. 로봇 논문의 숫자 읽는 법

로봇 논문의 "성공률 ○○%"는 언어 모델 벤치마크보다 조건에 훨씬 민감합니다. 읽을 때 확인할 것은 다음과 같습니다.

  1. 시도 횟수: 과제마다 10~20번 시도한 성공률이면, 한두 번 차이로 10%p가 움직입니다. 예를 들어 20번 중 성공 14번(70%)과 16번(80%)은 큰 차이처럼 보이지만 운의 범위일 수 있습니다.
  2. 일반화 축: 본 물체 · 본 배경인지, 처음 보는 물체 · 지시 · 배경인지 나눠 보았는지.
  3. 로봇과 제어 주파수: 같은 모델도 로봇 · 카메라 · 제어 주파수가 바뀌면 성능이 달라집니다. OpenVLA 논문의 양자화 실험은, 추론이 느려져 학습 때의 제어 주파수와 어긋나면 성능이 떨어질 수 있음을 보여 줍니다.
  4. 미세조정 여부: 제로샷인지, 그 로봇 데이터로 미세조정했는지.
  5. 시뮬레이션 벤치마크 vs 실제 로봇: 시뮬레이션 점수 차이가 실제 로봇에서 그대로 재현되지 않을 수 있습니다.

연습 문제

  1. 3-1절 구간 [−0.1,0.1][-0.1, 0.1] 에서 a=−0.05a = -0.05 의 칸 번호와 복원값은?
    • 풀이: ⌊0.05/0.2×256⌋=⌊64⌋=64\lfloor 0.05/0.2\times256\rfloor = \lfloor 64 \rfloor = 64, 복원 −0.1+64.5×0.00078125≈−0.04961-0.1 + 64.5\times0.00078125 \approx -0.04961 m 입니다.
  2. 같은 구간을 256칸 대신 64칸으로 나누면 최대 양자화 오차는?
    • 풀이: 칸 너비 0.2/64=0.0031250.2/64 = 0.003125 m, 절반은 약 1.56 mm로 4배 커집니다.
  3. 2절 예에서 실제 μ=0.7\mu = 0.7 이고 정책이 F=1.04F = 1.04 를 쓰면 성공하나요?
    • 풀이: 1.04/0.7≈1.491.04/0.7 \approx 1.49 m로 허용 범위(0.8~1.2 m)를 넘어 실패합니다. 열린 고리 정책은 범위의 한쪽 끝을 포기해야 합니다.
  4. 제어 주파수 50Hz, 행동 묶음 H=100H = 100 이면 묶음 하나는 몇 초 분량인가요?
    • 풀이: 100/50=2100/50 = 2 초입니다.

스스로 점검

  1. 도메인 무작위화와 시스템 식별은 어떻게 다른가요?
    • 답: 무작위화는 시뮬레이터 값을 넓게 흔들어 정책이 다양한 경우에 강해지게 하고, 시스템 식별은 실제 로봇을 재서 시뮬레이터 값을 현실에 맞춥니다. 함께 쓰기도 합니다.
  2. OpenVLA가 1% · 99% 분위수로 구간을 정하는 이유는?
    • 답: 드문 이상치 때문에 구간이 넓어지면 자주 쓰는 작은 움직임이 몇 칸에만 몰려 정밀도가 떨어지기 때문입니다.
  3. 행동 묶음이 고주파 제어에 유리한 이유는?
    • 답: 모델을 한 번 돌려 여러 걸음의 행동을 얻으므로, 큰 모델을 매 걸음 돌리지 않고도 높은 주파수로 명령을 낼 수 있기 때문입니다.

용어 정리

용어쉬운 뜻
현실 격차(reality gap)시뮬레이터와 실제 세계의 차이 때문에 정책 성능이 떨어지는 문제
sim2real시뮬레이션에서 학습한 것을 실제 로봇으로 옮기는 일
도메인 무작위화시뮬레이터의 겉모습 · 물리 값을 일부러 넓게 흔들어 학습하는 방법
동역학 무작위화마찰 · 질량 · 지연 같은 물리 값을 무작위로 바꾸는 무작위화
시스템 식별실제 시스템을 측정해 모델 값을 맞추는 일
특권 학습정답 정보를 아는 선생 정책을 학생 정책이 따라 배우는 2단계 학습
VLA시각 · 언어 입력을 받아 로봇 행동을 내는 모델
행동 토큰화연속 행동을 칸 번호(토큰)로 바꾸는 것
양자화 오차칸으로 나누면서 생기는 값의 오차(최대 칸 너비의 절반)
행동 묶음(action chunk)한 번에 예측하는 여러 걸음의 행동
제어 주파수1초에 행동 명령을 내는 횟수(Hz)
데이터 피라미드많고 흐린 데이터부터 적고 정확한 데이터까지 층으로 섞는 데이터 구성

더 깊이 보려면

다음에 볼 것

라이선스

본문은 KAITABASE 자체 해설입니다. 논문 수치는 각 원 논문(arXiv)에서 확인한 것만 옮겼고, 문장은 옮기지 않았습니다. 상자 밀기 · 행동 구간 숫자는 이 수업을 위해 만든 해설용 예이며, 파이썬으로 다시 계산했습니다.

출처

  • Xue Bin Peng · Marcin Andrychowicz · Wojciech Zaremba · Pieter Abbeel, Sim-to-Real Transfer of Robotic Control with Dynamics Randomization (arXiv 2017, ICRA 2018): arxiv.org/abs/1710.06537
  • Tobin 외, Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World (2017): arxiv.org/abs/1703.06907
  • Brohan 외, RT-2: Vision-Language-Action Models Transfer Web Knowledge to Robotic Control (2023): arxiv.org/abs/2307.15818
  • Kim 외, OpenVLA: An Open-Source Vision-Language-Action Model (2024): arxiv.org/abs/2406.09246
  • Black 외, π0: A Vision-Language-Action Flow Model for General Robot Control (2024): arxiv.org/abs/2410.24164
  • Open X-Embodiment Collaboration, Open X-Embodiment: Robotic Learning Datasets and RT-X Models (2023): arxiv.org/abs/2310.08864
  • NVIDIA, GR00T N1: An Open Foundation Model for Generalist Humanoid Robots (2025): arxiv.org/abs/2503.14734

AI 원리부터 이해하기 · 피지컬 AI 모듈

피지컬 AI 모듈 학습

이 글은 피지컬 AI 모듈의 학습 자료입니다. 전체 26개 자료 중 5번째입니다.

AI 기초 과정은 현재 진도 저장을 지원하지 않습니다.

출처·원문

원문 보기

요약만

본문 자체 작성 · 참고 자료 arXiv 논문(논문별 상이)