기초 지식
Sim-to-Real(Sim2Real)
01정의
Sim-to-real은 시행착오가 싸고 빠르고 안전한 물리 시뮬레이터에서 제어 policy를 학습한 뒤 실물 로봇에 배치하는 기술이자 핵심 난제입니다.
02현실 격차
시뮬레이션 물리·센서 잡음·재료는 현실과 완전히 같지 않아, 완벽히 작동한 policy도 실제 마찰·조명·무게에서 실패할 수 있습니다.
학습 환경
시행착오는 싸고 빠르고 안전하지만 물리·센서잡음·재료는 현실의 근사치입니다.
배치 환경
실제 마찰·조명·물체무게는 policy가 정확히 같은 형태로 경험하지 못했습니다.
03격차를 줄이는 두 방법
현실 격차를 줄이는 대표적인 방법은 두 가지이며 서로 보완적입니다. Domain randomization은 하나의 고정된 환경이 아니라 물리 조건을 다양하게 바꾼 여러 시뮬레이션에서 정책을 학습합니다. 특정 시뮬레이터의 세부 특성에 과적합되지 않고 변화에 견디게 만드는 방식입니다. System identification은 반대 방향에서 접근합니다. 시뮬레이터를 무작위로 바꾸는 대신 마찰, 질량, 모터 응답 같은 매개변수를 실제 측정값에 맞춰 정밀하게 보정합니다. 처음부터 하나의 더 정확한 시뮬레이션을 현실에 가깝게 만드는 것입니다. 실제 Sim2Real 파이프라인은 둘 가운데 하나만 고르기보다 두 방법을 함께 사용하는 경우가 많습니다.
도메인 랜덤화
매 학습에서 texture·조명·물리 파라미터를 바꿔 단일 설정이 아닌 변화에 강하게 합니다.
시스템 식별
실제 측정에 맞춰 시뮬레이터 파라미터를 보정해 처음부터 더 정확한 기준을 만듭니다.
04사례: OpenAI Dactyl
OpenAI Dactyl은 학습이 진행될수록 무작위화 난도를 자동 높이는 ADR로 시뮬레이션에서만 학습했습니다. 실물 한 손으로 Rubik’s Cube를 풀고 학습에 없던 봉제 giraffe 방해에도 작동했습니다.
05자주 묻는 질문
시뮬레이터가 더 정확하면 reality gap이 사라지나요?
완전히는 아닙니다. 현실 물리·잡음·재료를 완벽히 맞출 수 없습니다. System identification은 fidelity를 높이고 domain randomization은 정확도만 좇는 대신 남은 변화에 강하게 합니다.
Domain randomization에서 무엇을 바꾸나요?
texture·조명 같은 시각 속성과 마찰·질량·물체크기 같은 물리 속성을 매 학습마다 바꿉니다.
둘 중 하나를 골라야 하나요?
배타적이지 않습니다. System identification으로 합리적 기준을 만든 뒤 domain randomization을 더해 남은 보정오차에도 견디게 합니다.
06출처
04. 사례: OpenAI Dactyl