들어가며
로봇에게 강화학습을 시키려면 수십만에서 수백만 번의 시행착오가 필요합니다. 이만큼의 경험을 현실의 로봇으로 쌓으려면 시간과 마모, 그리고 안전 문제가 감당하기 어려운 수준으로 커집니다. 그래서 많은 연구가 시뮬레이션 안에서 대량의 경험을 빠르고 안전하게 쌓은 뒤, 학습된 정책을 현실 로봇으로 옮기는 전략을 택합니다. 이것이 sim-to-real 전이입니다.
그런데 여기에 근본적인 난제가 있습니다. 시뮬레이션은 아무리 정교해도 현실의 완벽한 복제가 아닙니다. 마찰, 접촉, 센서 잡음, 액추에이터 지연 같은 요소들이 조금씩 다릅니다. 이 미세한 차이들이 쌓여, 시뮬레이션에서 완벽하게 작동하던 정책이 현실에서는 형편없이 실패하는 일이 흔합니다. 이 간극을 현실 격차(reality gap)라고 부릅니다.
이 글에서는 현실 격차가 왜 생기는지, 그리고 이를 좁히기 위한 대표적 기법들을 살펴봅니다. 도메인 랜덤화, 도메인 적응, 시스템 식별, 디지털 트윈, 그리고 촉각처럼 재현이 특히 어려운 물리까지 다룹니다. 정확성을 위해 특정 물리엔진이나 시스템의 세부 사양은 확실한 것만 언급하고, 불확실한 부분은 일반화하여 서술합니다.
현실 격차란 무엇인가
현실 격차는 시뮬레이션과 현실 사이의 모든 불일치를 통칭합니다. 이 격차는 여러 원인에서 비롯됩니다.
현실 격차(Reality Gap)의 원인
─────────────────────────────
┌─────────────────────┐ ┌─────────────────────┐
│ 시뮬레이션 │ │ 현실 │
│ │ │ │
│ - 근사된 물리 │ ≠ │ - 실제 물리 │
│ - 이상적 마찰 모델 │ ──격차─▶│ - 복잡한 마찰·마모 │
│ - 완벽한 센서 │ │ - 잡음 있는 센서 │
│ - 즉각적 액추에이터 │ │ - 지연·백래시 │
│ - 단순화된 접촉 │ │ - 변형·미끄러짐 │
└─────────────────────┘ └─────────────────────┘
정책이 시뮬레이션의 "빈틈"을 악용하도록 학습되면
현실에서 그 빈틈이 사라져 정책이 무너진다.
현실 격차의 원인을 몇 가지로 정리하면 다음과 같습니다.
- 동역학 불일치: 시뮬레이터가 사용하는 물리 근사가 실제 물체의 질량, 관성, 마찰과 미묘하게 다릅니다.
- 접촉과 마찰: 물체가 서로 닿는 순간의 힘, 미끄러짐, 변형은 물리엔진이 가장 정확히 재현하기 어려운 부분입니다.
- 센서 차이: 시뮬레이션의 카메라 이미지나 깊이 센서 값은 실제 센서의 잡음, 렌즈 왜곡, 조명 변화를 완벽히 담지 못합니다.
- 액추에이터 차이: 실제 모터에는 지연, 백래시(기어 유격), 토크 한계, 마모가 있지만 시뮬레이션은 이를 이상화하기 쉽습니다.
도메인 랜덤화
현실 격차를 좁히는 가장 널리 알려진 기법은 도메인 랜덤화(Domain Randomization)입니다. 발상은 역설적입니다. 시뮬레이션을 현실에 더 가깝게 만드는 대신, 시뮬레이션의 여러 파라미터를 매 에피소드마다 무작위로 크게 흔드는 것입니다.
핵심 직관은 이렇습니다. 마찰, 질량, 조명, 색, 센서 잡음 같은 요소를 폭넓게 변주하며 학습하면, 정책은 어느 한 설정에 과적합되지 않고 "이 정도 범위의 변동은 흔한 일"이라고 배웁니다. 그렇게 훈련된 정책에게는 현실 세계가 그저 또 하나의 무작위 변형처럼 보입니다.
도메인 랜덤화의 직관
───────────────────
[ 단일 시뮬레이션 ]
● ← 하나의 좁은 설정에만 최적화 → 현실(○)에서 실패
현실 ○ (학습 분포 밖)
[ 도메인 랜덤화 ]
● ● ● ● ● ● ● ● ● ← 넓은 범위의 변형에 두루 강건
현실 ○ (학습 분포 안에 현실이 포함됨)
랜덤화 대상은 크게 두 부류로 나뉩니다.
- 시각적 랜덤화: 텍스처, 색, 조명, 카메라 위치, 배경 등을 흔들어 시각 정책을 강건하게 만듭니다.
- 동역학 랜덤화: 질량, 마찰 계수, 액추에이터 지연, 관절 감쇠 등 물리 파라미터를 흔들어 제어 정책을 강건하게 만듭니다.
동역학 랜덤화 설정 예시 (개념적 구성)
domain_randomization:
friction:
distribution: uniform
low: 0.5
high: 1.5
mass_scale:
distribution: uniform
low: 0.8
high: 1.2
actuator_delay_ms:
distribution: uniform
low: 0
high: 20
observation_noise_std: 0.02
gravity_scale:
low: 0.98
high: 1.02
도메인 랜덤화의 한계도 분명합니다. 랜덤화 범위를 너무 넓게 잡으면 과제 자체가 너무 어려워져 정책이 아무것도 배우지 못합니다. 반대로 너무 좁으면 현실을 포괄하지 못합니다. 이 범위를 적절히 잡는 것 자체가 상당한 튜닝 노력을 요구합니다.
시스템 식별
시스템 식별(System Identification)은 도메인 랜덤화와 상보적인 접근입니다. 무작위로 흔드는 대신, 실제 로봇으로부터 측정한 데이터로 시뮬레이터의 파라미터를 실제에 최대한 가깝게 보정합니다.
예를 들어 실제 로봇 팔을 여러 궤적으로 움직여 관절의 응답을 측정하고, 그 측정값과 시뮬레이션 결과가 일치하도록 마찰 계수, 관성, 지연 같은 파라미터를 최적화합니다. 이렇게 보정된 시뮬레이터는 현실을 더 잘 닮게 되어 격차가 줄어듭니다.
시스템 식별 루프
─────────────────
실제 로봇 ──▶ 측정 데이터 수집
│
▼
시뮬레이션 결과와 비교
│
▼
오차를 줄이도록 시뮬 파라미터 조정
│
└────▶ (반복하여 시뮬을 현실에 근접)
실무에서는 도메인 랜덤화와 시스템 식별을 함께 씁니다. 시스템 식별로 시뮬레이터를 현실 근처로 맞추고, 그 주변을 도메인 랜덤화로 넓게 흔들어 남은 격차를 강건성으로 흡수하는 식입니다.
관측 히스토리와 암묵적 적응
도메인 랜덤화로 학습한 정책이 현실에 잘 전이되는 한 가지 흥미로운 메커니즘은, 정책이 과거 관측의 흐름으로부터 현재 환경의 특성을 암묵적으로 추정하는 것입니다.
한 순간의 관측만 보면 지금 마찰이 큰지 작은지 알 수 없습니다. 그러나 최근 몇 스텝 동안 로봇이 어떤 명령을 주었을 때 실제로 어떻게 움직였는지를 보면, 환경의 물리적 특성을 어느 정도 유추할 수 있습니다. 즉, 정책이 관측 히스토리를 입력으로 받으면 "지금 이 환경이 어떤 종류인지"를 스스로 알아채고 그에 맞게 행동을 조절할 여지가 생깁니다.
관측 히스토리로 환경을 암묵 추정
──────────────────────────────────
한 프레임: 관측 o_t ──▶ 환경 특성 알 수 없음
히스토리: o_(t-k) ... o_t ──▶ "명령 대비 반응"에서
(과거의 흐름) 마찰·질량 등을 암묵 추정
──▶ 그에 맞춰 행동 조절
이 관점에서 보면 폭넓은 도메인 랜덤화는 단순히 정책을 둔감하게 만드는 것이 아니라, 다양한 환경을 구별하고 각각에 적응하는 능력을 학습시키는 것으로 이해할 수 있습니다. 그래서 순환 신경망처럼 시간 정보를 다루는 구조가 이런 암묵적 적응에 유리합니다.
도메인 적응
도메인 적응(Domain Adaptation)은 정책이나 인식 모델을 시뮬레이션 도메인에서 현실 도메인으로 이식하는 데 초점을 둡니다. 대표적으로 시각 인식에서, 시뮬레이션 이미지와 현실 이미지의 특징 분포가 정렬되도록 학습하여, 시뮬레이션에서 배운 표현이 현실 이미지에서도 통하게 만듭니다.
접근 방식은 다양합니다. 시뮬레이션 이미지를 현실처럼 보이게 변환하는 방법, 두 도메인이 구분되지 않도록 특징 공간을 정렬하는 방법, 소량의 현실 데이터로 마지막 단계를 미세 조정하는 방법 등이 있습니다. 핵심 목표는 동일합니다. 시뮬레이션에서 학습한 지식을 현실로 옮기되, 현실 데이터의 필요량을 최소화하는 것입니다.
디지털 트윈과 물리엔진
sim-to-real의 토대는 결국 시뮬레이터의 품질입니다. 최근에는 실제 로봇과 작업 환경을 가상 공간에 정밀하게 복제한 디지털 트윈(Digital Twin) 개념이 자주 등장합니다. 실제 셀의 기하, 물체, 조명을 최대한 반영한 가상 환경에서 정책을 학습하면 현실 격차를 줄일 수 있다는 발상입니다.
물리엔진 측면에서는 GPU를 활용해 수천 개의 환경을 동시에 병렬 시뮬레이션하는 도구들이 로봇 강화학습을 크게 가속했습니다. NVIDIA의 Isaac 계열 시뮬레이션 도구가 대표적으로 거론되며, 이 밖에도 여러 물리엔진이 로봇 연구에 쓰입니다. 다만 각 도구의 정확한 기능과 성능은 버전에 따라 다를 수 있으므로, 세부 사항은 공식 문서를 확인하는 것이 안전합니다.
GPU 병렬 시뮬레이션의 이점
──────────────────────────
단일 환경: [env] ──▶ 느린 데이터 수집
병렬 환경: [env][env][env] ... [env] (수천 개 동시)
│ │ │ │
└────┴────┴────────┘
▼
대량 경험을 짧은 시간에 수집
──▶ 강화학습이 현실적으로 가능
재현이 어려운 물리 — 촉각과 마찰
sim-to-real에서 특히 까다로운 영역은 접촉이 많은 조작(contact-rich manipulation)입니다. 물체를 집고, 끼우고, 문지르는 동작은 미세한 마찰과 접촉 힘에 크게 의존하는데, 이 부분이 바로 물리엔진이 가장 정확히 재현하기 어려운 지점입니다.
- 마찰: 정지 마찰과 운동 마찰의 전환, 표면 상태에 따른 변화는 단순한 계수 하나로 담기 어렵습니다.
- 변형: 부드러운 물체나 천처럼 형태가 변하는 대상은 강체 가정으로는 표현되지 않습니다.
- 촉각 센서: 손끝의 압력 분포나 미끄러짐을 감지하는 촉각 센서는 시뮬레이션에서 재현하기가 특히 어렵습니다.
이런 이유로 촉각이 중요한 정밀 조립 같은 과제는 순수 시뮬레이션 학습만으로는 한계가 크고, 현실 데이터나 현실에서의 미세 조정이 더 많이 필요한 경향이 있습니다.
zero-shot 전이의 가능성과 한계
이상적인 목표는 zero-shot 전이입니다. 즉, 현실에서 추가 학습이나 조정을 전혀 하지 않고도 시뮬레이션에서 배운 정책이 그대로 현실에서 작동하는 것입니다. 도메인 랜덤화를 폭넓게 적용한 이동 로봇의 보행 같은 일부 과제에서는 인상적인 zero-shot 결과가 보고되기도 했습니다.
그러나 모든 과제가 그렇지는 않습니다. 접촉이 많은 정밀 조작처럼 현실 격차가 큰 과제에서는 여전히 현실에서의 미세 조정(few-shot fine-tuning)이 필요한 경우가 많습니다. 그래서 실무에서는 다음과 같은 스펙트럼으로 이해하는 것이 현실적입니다.
전이의 스펙트럼
───────────────
zero-shot few-shot full real training
(현실 조정 없음) (소량 현실 데이터) (현실에서 대량 학습)
│ │ │
격차가 작은 과제 중간 격차 과제 격차가 매우 큰 과제
(예: 특정 보행) (많은 조작 과제) (극한 정밀·유연물체)
관측 격차와 동역학 격차
현실 격차를 다룰 때는 그것을 두 종류로 나누어 생각하면 도움이 됩니다. 관측 격차와 동역학 격차입니다.
관측 격차는 로봇이 세계를 보는 방식의 차이입니다. 시뮬레이션의 카메라 이미지가 현실의 이미지와 다르게 생겼거나, 깊이 센서의 잡음 특성이 다른 경우입니다. 동역학 격차는 세계가 실제로 어떻게 움직이는가의 차이입니다. 같은 힘을 주었을 때 물체가 시뮬과 현실에서 다르게 반응하는 경우입니다.
두 종류의 격차
──────────────
관측 격차 동역학 격차
┌──────────────┐ ┌──────────────┐
│ 세계를 보는 │ │ 세계가 움직이는 │
│ 방식의 차이 │ │ 방식의 차이 │
│ │ │ │
│ 예: 이미지 질감│ │ 예: 마찰·관성 │
│ 센서 잡음 │ │ 지연·접촉 │
└──────┬───────┘ └──────┬───────┘
│ │
▼ ▼
주로 시각 랜덤화· 주로 동역학 랜덤화·
도메인 적응으로 대응 시스템 식별로 대응
이 구분이 유용한 이유는, 어떤 격차가 문제인지에 따라 처방이 달라지기 때문입니다. 시각 인식이 흔들린다면 시각 랜덤화나 도메인 적응이 필요하고, 제어가 흔들린다면 동역학 랜덤화나 시스템 식별에 집중해야 합니다. 두 격차를 뭉뚱그리면 엉뚱한 곳에 노력을 쏟기 쉽습니다.
특권 정보와 교사-학생 학습
sim-to-real에서 자주 쓰이는 강력한 기법이 특권 정보(privileged information)를 활용한 교사-학생(teacher-student) 학습입니다.
발상은 이렇습니다. 시뮬레이션 안에서는 현실에서 얻을 수 없는 완벽한 정보에 접근할 수 있습니다. 물체의 정확한 질량, 지형의 정확한 높이, 마찰 계수 같은 값들입니다. 이런 특권 정보를 그대로 받는 교사 정책은 아주 쉽게, 아주 잘 학습됩니다. 문제는 현실의 로봇에게는 이런 정보가 없다는 것입니다.
그래서 두 단계로 나눕니다. 먼저 특권 정보를 가진 교사 정책을 시뮬레이션에서 학습합니다. 그런 다음 현실에서 실제로 얻을 수 있는 관측(카메라, 관절 센서 등)만으로 교사의 행동을 흉내 내는 학생 정책을 학습합니다. 학생은 특권 정보 없이도 교사와 비슷하게 행동하는 법을 배우고, 이 학생 정책을 현실에 배포합니다.
교사-학생 학습 (특권 정보 활용)
────────────────────────────────
[교사] 특권 정보(완벽한 물리값) ──▶ 쉽게 좋은 정책 학습
│
│ 교사의 행동을 목표로
▼
[학생] 현실에서 얻는 관측만 사용 ──▶ 교사를 모방하도록 학습
│
▼
현실 배포: 학생 정책 (특권 정보 불필요)
이 방식은 특히 다리형 보행처럼 지형 정보가 중요한 과제에서 효과적입니다. 시뮬에서는 지형 높이를 정확히 알지만 현실에서는 알 수 없으므로, 학생이 과거 관측의 흐름으로부터 지형을 암묵적으로 추정하도록 학습시키는 것입니다.
사례로 보는 격차의 크기
앞서 언급한 전이 스펙트럼을 조금 더 구체적으로 살펴봅니다. 어떤 과제가 어느 위치에 놓이는지는 대체로 두 요인으로 결정됩니다. 접촉의 복잡도와 정밀도 요구입니다.
- 접촉이 적고 여유가 큰 과제: 넓은 공간에서의 이동이나 큰 물체를 대충 밀기 같은 과제는 현실 격차가 상대적으로 작아, 폭넓은 도메인 랜덤화만으로 좋은 전이가 가능한 경우가 많습니다.
- 접촉이 많지만 여유가 있는 과제: 물체를 집어 옮기는 일반적 조작은 중간 정도의 격차를 가지며, 랜덤화에 더해 소량의 현실 데이터 미세 조정이 도움이 됩니다.
- 접촉이 많고 정밀도가 극한인 과제: 부품을 미세한 유격으로 끼우거나 천을 다루는 작업은 격차가 매우 커서, 현실 데이터의 비중을 크게 늘려야 합니다.
과제 위치를 정하는 두 축
────────────────────────
정밀도
요구
높음 ┤ 정밀 조립 극한 유연물체
│ (많은 현실데이터) (거의 현실 학습)
│
│ 대충 밀기 일반 조작
낮음 ┤ (zero-shot 근접) (few-shot)
└────────────────────────────▶
낮음 접촉 복잡도 높음
이 지도는 절대적이지 않으며 과제마다 예외가 있습니다. 그러나 "내 과제가 얼마나 어려운 전이인가"를 가늠하는 대략의 직관을 줍니다.
실무 워크플로
sim-to-real을 실제로 적용할 때의 대략적인 흐름은 다음과 같습니다.
sim-to-real 실무 파이프라인
────────────────────────────
[1] 디지털 트윈/환경 모델링
│
▼
[2] 시스템 식별로 시뮬 파라미터 보정
│
▼
[3] 도메인 랜덤화 범위 설정 후 시뮬 학습
│
▼
[4] 현실에서 소규모 평가
│
├── 성능 충분 ──▶ 배포
│
└── 격차 발견 ──▶ 랜덤화 범위·식별 재조정 (다시 [2]/[3])
액추에이터와 지연 모델링
현실 격차 중에서 의외로 큰 비중을 차지하는 것이 액추에이터의 비이상성입니다. 시뮬레이션은 흔히 "명령한 토크가 즉시 그대로 나온다"고 가정하지만, 실제 모터는 그렇지 않습니다.
- 지연(Latency): 명령을 내리고 실제 힘이 나오기까지 시간이 걸립니다. 제어 주기가 빠를수록 이 지연의 상대적 영향이 커집니다.
- 백래시(Backlash): 기어에 유격이 있어, 방향을 바꿀 때 잠깐 힘이 전달되지 않는 구간이 생깁니다.
- 토크 한계와 포화: 모터가 낼 수 있는 힘에는 상한이 있고, 그 근처에서는 명령대로 반응하지 않습니다.
- 마찰과 마모: 관절의 마찰은 시간이 지나며 변하고, 개별 로봇마다 미묘하게 다릅니다.
이상적 vs 실제 액추에이터
──────────────────────────
이상적: 명령 토크 ──즉시──▶ 출력 토크 (완벽 일치)
실제: 명령 토크 ──지연──▶ ──백래시──▶ ──포화──▶ 출력 토크
(시간) (유격) (상한) (불완전)
▶ 정책이 이상적 가정에 의존하면 현실에서 진동하거나 실패한다.
이런 비이상성을 시뮬레이션에 반영하거나, 액추에이터의 응답 자체를 데이터로 학습한 별도의 모델로 대체하는 방법이 사용됩니다. 특히 지연을 랜덤화 대상에 포함시키는 것은 제어 정책의 강건성에 큰 도움이 됩니다.
Real-to-Sim — 반대 방향의 다리
지금까지는 시뮬레이션에서 현실로 가는 방향을 다뤘지만, 반대 방향의 흐름도 중요합니다. 현실을 관측하여 시뮬레이션을 구축하거나 개선하는 real-to-sim입니다.
현실의 장면을 3D 스캔이나 재구성 기법으로 가상 환경으로 옮기면, 실제 작업 공간과 똑같이 생긴 시뮬레이션을 얻을 수 있습니다. 이렇게 만든 시뮬레이션에서 학습한 정책은 바로 그 공간으로 다시 전이하기가 쉬워집니다. real-to-sim과 sim-to-real을 순환적으로 반복하면, 시뮬과 현실이 서로를 개선하는 선순환이 만들어집니다.
real-to-sim ↔ sim-to-real 순환
────────────────────────────────
현실 관측 ──(real-to-sim)──▶ 정밀한 시뮬 구축
▲ │
│ ▼
│ 시뮬에서 정책 학습
│ │
└──(sim-to-real)◀── 현실에서 검증·데이터 수집
사례로 보는 sim-to-real
구체적 감을 위해 두 가지 유형의 과제를 대비해 봅니다. 실제 시스템의 세부 수치는 구현마다 다르므로, 여기서는 일반적 경향만 서술합니다.
첫째, 사족·이족 로봇의 보행입니다. 이 과제는 도메인 랜덤화와 특권 정보 기반 교사-학생 학습을 결합해, 비교적 성공적인 sim-to-real 사례가 여럿 보고되어 왔습니다. 다양한 지형과 외란에 강건한 정책을 시뮬에서 학습한 뒤 현실 보행에 적용하는 접근입니다.
둘째, 손끝의 정밀 조작입니다. 여러 손가락으로 물체를 회전시키거나 재배치하는 과제는 광범위한 도메인 랜덤화를 통해 인상적인 결과가 보고된 바 있습니다. 다만 이런 과제는 접촉이 매우 복잡하여, 랜덤화 범위 설정과 학습에 상당한 공학적 노력이 필요합니다.
두 사례의 공통 교훈은, 성공적인 sim-to-real이 하나의 마법 같은 기법이 아니라, 여러 기법(랜덤화, 식별, 교사-학생, 신중한 평가)의 조합과 반복적 튜닝의 산물이라는 점입니다.
현실 배포 시 안전 장치
시뮬레이션에서 아무리 잘 검증했더라도, 학습된 정책을 처음 현실 로봇에 올릴 때는 예상치 못한 행동이 나올 수 있습니다. 그래서 실제 배포 단계에서는 여러 겹의 안전 장치를 두는 것이 표준적입니다.
- 토크·속도 제한: 정책이 아무리 큰 명령을 내려도 하드웨어 수준에서 안전 한계를 넘지 못하게 막습니다.
- 작업 공간 경계: 로봇 팔이 지정된 안전 영역을 벗어나면 즉시 정지시킵니다.
- 비상 정지: 사람이 언제든 개입해 로봇을 멈출 수 있는 물리적·소프트웨어적 스위치를 둡니다.
- 점진적 배포: 처음에는 낮은 속도와 좁은 범위로 시작해, 신뢰가 쌓이면 점차 조건을 넓힙니다.
현실 배포의 안전 계층
─────────────────────
정책 출력
│
▼
[토크·속도 제한] ──▶ 하드웨어 한계 초과 차단
│
▼
[작업 공간 경계] ──▶ 안전 영역 이탈 시 정지
│
▼
[비상 정지 대기] ──▶ 사람이 언제든 개입
│
▼
실제 로봇 동작 (안전 범위 내)
이런 장치들은 sim-to-real의 성능 자체를 높이지는 않지만, 격차로 인한 예상치 못한 실패가 사고로 이어지지 않도록 막는 마지막 방어선입니다. 특히 사람 곁에서 작동하는 로봇에서는 필수적입니다.
격차를 정량화하기
sim-to-real 연구와 실무에서는 "격차가 얼마나 큰가"를 가늠하는 것이 중요합니다. 이를 위해 흔히 시뮬레이션과 현실에서 같은 정책을 실행하고, 그 성능이나 궤적이 얼마나 벌어지는지를 비교합니다.
- 성능 격차: 시뮬에서의 성공률과 현실에서의 성공률의 차이. 이 차이가 크면 전이가 실패한 것입니다.
- 궤적 격차: 같은 명령에 대해 시뮬과 현실의 로봇 상태가 시간에 따라 얼마나 다르게 흘러가는가.
시뮬-현실 궤적 격차
────────────────────
시뮬: s0 ─▶ s1 ─▶ s2 ─▶ s3 ─▶ ...
현실: s0 ─▶ s1'─▶ s2'─▶ s3'─▶ ...
↑ ↑ ↑
점점 벌어지는 격차
▶ 초반에 이미 크게 벌어진다면 동역학 격차,
특정 상황에서만 벌어진다면 그 상황의 물리를 의심한다.
이런 정량화는 어디를 고쳐야 할지 알려 줍니다. 궤적이 처음부터 벌어지면 기본 동역학 보정이 필요하고, 특정 순간(예: 접촉이 일어날 때)에만 벌어지면 그 물리의 재현을 개선해야 합니다.
함정과 주의점
- 과도한 랜덤화: 랜덤화 범위를 무작정 넓히면 학습이 아예 수렴하지 않거나, 지나치게 보수적인 정책이 됩니다.
- 시뮬 빈틈 악용: 정책은 시뮬레이터의 물리적 오류를 악용해 비현실적인 방법으로 보상을 얻을 수 있습니다. 시뮬에서만 통하는 이런 전략은 현실에서 무너집니다.
- 평가 편향: 시뮬레이션 성능이 좋다고 현실 성능을 낙관해서는 안 됩니다. 반드시 현실에서 충분히 검증해야 합니다.
- 센서 정렬: 시뮬과 현실의 센서 좌표계, 지연, 스케일이 어긋나면 정책이 즉시 실패합니다. 이 정렬은 종종 간과되지만 매우 중요합니다.
마치며
sim-to-real 전이는 로봇 학습을 현실적으로 만드는 핵심 다리입니다. 도메인 랜덤화는 강건성으로 격차를 흡수하고, 시스템 식별과 디지털 트윈은 시뮬레이터를 현실에 가깝게 당기며, 도메인 적응은 학습된 지식을 현실로 이식합니다. 이 기법들은 서로 배타적이지 않고, 실무에서는 함께 조합되어 쓰입니다.
다만 촉각과 정밀 접촉처럼 물리 재현이 어려운 영역에서는 여전히 현실 데이터가 필요하며, zero-shot 전이는 만능이 아닙니다. sim-to-real은 완성된 해법이라기보다, 현실 격차를 조금씩 좁혀 가는 지속적인 공학 과정에 가깝습니다.
참고 자료
- NVIDIA Isaac / 로보틱스: https://developer.nvidia.com/isaac
- NVIDIA Isaac Lab 문서: https://isaac-sim.github.io/IsaacLab/
- OpenAI Spinning Up (강화학습 입문): https://spinningup.openai.com/
- Domain Randomization 논문 (Tobin et al., arXiv): https://arxiv.org/abs/1703.06907
- Sim-to-Real via Domain Randomization 관련 (OpenAI Dactyl, arXiv): https://arxiv.org/abs/1808.00177
- Open X-Embodiment 논문 (arXiv): https://arxiv.org/abs/2310.08864
- MuJoCo 물리엔진: https://mujoco.org/
- Gymnasium (강화학습 환경): https://gymnasium.farama.org/
현재 단락 (1/240)
로봇에게 강화학습을 시키려면 수십만에서 수백만 번의 시행착오가 필요합니다. 이만큼의 경험을 현실의 로봇으로 쌓으려면 시간과 마모, 그리고 안전 문제가 감당하기 어려운 수준으로 커집...