합성 데이터는 실제 관측을 그대로 수집하는 대신 소프트웨어로 생성한 데이터입니다. 이 글은 그중 시뮬레이터가 렌더링한 센서 입력과 장면 라벨을 중심으로 보고, 행동 과제에서는 로봇 상태와 행동 궤적도 구분합니다. 실제 촬영만으로 만들기 어려운 장면을 반복해서 구성하고 자동 라벨을 얻을 수 있지만, 가상 성능만으로 실제 로봇 성능을 판단할 수는 없습니다. 일부 지각 작업은 합성 데이터만으로 학습할 수 있어도, 평가는 학습에 쓰지 않은 실제 데이터에서 따로 해야 합니다.
이 글은 일반적인 생성 이미지보다 피지컬 AI와 로봇 학습의 데이터 설계에 초점을 맞춥니다. 합성 데이터를 어디에 쓸지 결정하려면 Sim2Real, Domain randomization, 월드 모델과의 관계도 함께 봐야 합니다.
한 장면에서 입력과 정답을 함께 만든다
시뮬레이터가 렌더링한 RGB 이미지나 깊이 지도는 모델이 받아들이는 입력입니다. 바운딩 박스, 분할 마스크, 물체 자세, 깊이의 기준값은 그 입력에 대응하는 정답 라벨입니다. 둘은 같은 장면에서 나오지만 역할이 다릅니다. 이미지가 그럴듯해도 센서 표현이 현실과 다를 수 있고, 라벨이 시뮬레이터 안에서 정확해도 실제 카메라 영상의 경계와 가림을 제대로 반영하지 못할 수 있습니다.
NVIDIA Isaac Sim Replicator 문서는 장면 조건을 바꾸는 randomizer, RGB·깊이·분할·바운딩 박스 등을 내보내는 annotator, 결과를 저장하는 writer를 구분합니다. 이 구분을 먼저 해두면 모델 입력과 시뮬레이터가 알고 있는 정답을 같은 것으로 오해하지 않을 수 있습니다.

행동 학습에는 장면 이미지보다 더 많은 기록이 필요하다
물체 검출 모델은 이미지와 물체 라벨로 학습할 수 있습니다. 반면 로봇 팔의 행동을 학습할 때는 관측과 명령, 그 뒤의 결과가 어떻게 연결되는지 알아야 합니다. 과제와 학습 방식에 따라 관절 상태, 좌표계, 시간 순서, 접촉 등을 궤적에 기록하며, 모든 정책이 이 항목을 전부 입력으로 요구하는 것은 아닙니다. 한 프레임의 바운딩 박스는 물체가 어디 있는지는 알려주지만, 어떤 접근 방향으로 움직였고 집은 뒤 어떻게 되었는지는 알려주지 않습니다.
| 데이터 층 | 예시 | 학습 전에 확인할 점 |
|---|---|---|
| 렌더링 입력 | RGB, 깊이, 포인트클라우드 | 실제 센서의 반사, 가림, 노이즈와 얼마나 다른가 |
| 시뮬레이터 정답 | 마스크, 바운딩 박스, 자세, 접촉 | 라벨 정의가 실제 작업의 판정 기준과 같은가 |
| 행동 궤적 | 관측, 상태, 명령, 결과의 시간 순서 | 좌표계와 제어 주기, 행동과 결과가 맞춰졌는가 |
따라서 “합성 데이터로 학습했다”는 설명만으로는 부족합니다. 지각 모델을 위한 프레임 데이터인지, 접촉을 포함한 정책 궤적인지, 아니면 실패 분석용 이벤트 기록인지부터 구분해야 합니다. 로봇 행동 데이터에서 다루는 행동 표현과 시간 정렬이 빠지면, 많은 가상 장면이 있어도 행동의 결과를 학습하기 어렵습니다.
가상의 bin picking 실험을 어떻게 설계할까
다음은 결과 보고가 아니라 설계 방법을 보여주기 위한 가상 예시입니다. 상자 안에서 부품을 찾는 지각 모델을 만든다고 하겠습니다. 먼저 실제 작업에서 나타나는 부품 모양, 포장재, 가림, 카메라 위치와 조명 조건을 정리합니다. 시뮬레이터에서는 그 범위 안에서 장면을 바꾸고, 렌더링 이미지와 각 부품의 마스크·자세를 함께 내보냅니다. Bin picking AI의 집기 단계까지 다룬다면 그리퍼 접근 자세, 접촉, 실행 명령과 결과도 별도의 궤적으로 기록해야 합니다.
이때 무조건 더 많이 흔드는 것이 목표는 아닙니다. 현실에 없는 재질 조합이나 불가능한 물체 배치를 대량으로 만들면 데이터 수는 늘어도 작업과의 관련성은 떨어질 수 있습니다. Tobin 등의 2017년 연구는 무작위화한 시뮬레이션 이미지로 물체 검출기를 학습해 실제 이미지에서 평가한 범위를 보여줍니다. 이 결과는 특정 검출 실험의 근거이지, 모든 로봇 작업이나 행동 정책이 같은 방식으로 전이된다는 보장은 아닙니다.
훈련용 장면과 실제 평가 장면을 먼저 갈라 둔다
실험을 시작하기 전에 학습에 쓰지 않을 실제 평가 세트를 고정해야 합니다. 이렇게 학습에서 떼어 둔 자료를 held-out 세트라고 부릅니다. 합성 장면을 만들거나 모델 설정을 고칠 때마다 최종 평가 장면의 결과를 보고 다시 조정하면, 평가 세트가 사실상 학습 과정에 들어옵니다. 최종 비교용 실제 장면은 따로 보관하고, 개발 중에는 별도의 검증 세트를 사용해야 합니다.
연속 촬영한 프레임을 무작위로 나누는 것도 피해야 합니다. 같은 상자, 같은 부품 배치, 같은 조명이 이어지는 인접 프레임이 학습 세트와 평가 세트에 함께 들어가면 모델이 처음 보는 상황을 잘 처리한 것처럼 보일 수 있습니다. 촬영 세션, 상자 구성, 부품 묶음 또는 작업 시나리오를 하나의 그룹으로 두고 그룹 전체를 한쪽에만 배정하는 편이 낫습니다. scikit-learn의 grouped data 교차검증 설명은 서로 연관된 샘플의 그룹이 학습과 테스트에 겹치지 않게 나누는 원리를 보여줍니다. 로봇 데이터에서는 프레임 번호가 아니라 실제 누출 경로가 되는 시나리오 단위로 그룹을 정의해야 합니다.
합성 전용·실제 전용·혼합 학습을 같은 조건에서 비교한다
합성 데이터와 실제 데이터를 반드시 섞어야 한다는 고정 규칙은 없습니다. 어떤 지각 작업은 합성 데이터만으로 모델을 학습한 뒤 실제 데이터에서는 평가만 하는 설계가 가능합니다. 반대로 센서 표현이나 접촉 동역학의 차이가 큰 작업은 실제 학습 데이터가 필요할 수 있습니다. 혼합 비율은 주장으로 정할 일이 아니라 비교 실험으로 정할 항목입니다.
데이터 구성의 효과를 보려면 모델 구조, 초기화 방식, 입력 처리, 학습 절차, 모델 선택 규칙과 학습 예산을 세 조건에서 같게 유지해야 합니다. 예산이 다르면 학습량과 계산량을 밝혀도 데이터 혼합만의 효과가 분리되지는 않습니다. 이때는 데이터와 예산이 함께 달라진 결과로 보고하거나, 예산을 맞춘 비교를 추가해야 합니다.
| 비교 모델 | 학습 데이터 | 평가 |
|---|---|---|
| 합성 전용 | 고정된 합성 세트 | 동일한 held-out 실제 세트와 작업 지표 |
| 실제 전용 | 고정된 실제 학습 세트 | 동일한 held-out 실제 세트와 작업 지표 |
| 혼합 | 명시한 합성·실제 구성 | 동일한 held-out 실제 세트와 작업 지표 |
표의 held-out 실제 세트는 모델 선택을 끝낸 뒤 비교에 쓰는 최종 테스트입니다. 반복 조정용 개발 검증 세트와 구분합니다. 결과는 전체 평균 하나로 끝내지 말고 가림, 반사 표면, 낯선 부품처럼 실제 작업에서 중요한 시나리오별로 확인하는 편이 좋습니다. 이는 합성 데이터가 실제보다 항상 낫다거나 비용을 줄인다는 주장을 위한 실험이 아니라, 어느 데이터 구성이 해당 작업에 기여했는지 확인하는 절차입니다.
자동 라벨도 별도로 검사해야 한다
시뮬레이터는 장면의 물체와 위치를 알고 있으므로 사람이 모든 마스크를 그리지 않아도 라벨을 내보낼 수 있습니다. 그러나 자동 생성은 오류 없음과 같은 뜻이 아닙니다. 내보내기 설정이 잘못되거나, 가림 처리와 클래스 정의가 실제 평가 기준과 다르거나, 행동과 결과의 시간이 어긋날 수 있습니다.
- 렌더링 입력과 라벨이 같은 장면·같은 시점에 대응하는지 확인합니다.
- 바운딩 박스와 분할 마스크의 가림 규칙을 실제 평가 규칙과 맞춥니다.
- 행동 명령, 로봇 상태, 접촉과 결과의 시간 기준을 기록합니다.
- 생성기 버전, 장면 자산, 무작위화 범위와 seed를 데이터 버전에 남깁니다.
현실 차이는 센서와 동역학에서 드러난다
가상 카메라가 반사, 렌즈 왜곡, 흔들림이나 깊이 누락을 충분히 표현하지 못하면 지각 모델이 실제 영상에서 흔들릴 수 있습니다. 로봇 센서 종류와 역할을 기준으로 어떤 오차가 입력에 영향을 주는지 먼저 정리해야 합니다. 행동 정책에서는 질량, 마찰, 백래시, 지연과 접촉 모델의 차이가 궤적 자체를 바꿀 수 있습니다.
그래서 Sim2Real 실패 이유를 데이터 생성 단계로 되돌려야 합니다. 개발용 실제 검증 세트에서 특정 포장재나 가림 조건에 실패했다면, 그 실패를 재현할 수 있는지 확인하고 관련 장면을 보강합니다. 반면 최종 테스트 세트는 이 조정 과정에서 계속 열어보지 않고 손대지 않은 상태로 둡니다. 최종 테스트 결과를 보고 생성기나 모델을 다시 조정했다면 그 세트는 개발 자료로 전환하고, 새로운 독립 실제 표본으로 다시 최종 평가해야 합니다. 재현하지 못한 실패도 남겨야 합니다. 시뮬레이터에 빠진 센서 효과나 작업 조건을 알려주는 단서이기 때문입니다.
판단 기준은 실제 작업에서 나온다
도구를 골랐다는 사실만으로 데이터 설계가 끝나지는 않습니다. 학습할 로봇 작업, 렌더링 입력, 정답 라벨, 과제에 필요한 행동 궤적, 시나리오 그룹, 실제 평가 세트를 먼저 정의해야 생성 파이프라인의 설정도 판단할 수 있습니다. 합성 데이터의 쓸모는 생성량이나 화면의 사실감보다, 누출 없이 나눈 실제 평가에서 합성 전용·실제 전용·혼합 조건 중 어느 구성이 같은 기준에서 나았는지로 판단해야 합니다.
이어 읽을 글
- Sim2Real 뜻: 가상 학습과 실제 적용 사이의 차이를 이해할 때
- Domain randomization: 어떤 조건을 왜 흔드는지 설계할 때
- 월드 모델 뜻: 상태와 행동 이후의 변화를 예측하는 관점이 필요할 때
- Bin picking AI: 지각 라벨과 실제 집기 조건이 만나는 예시를 볼 때
사실 확인일: 2026년 9월 8일. 이 글은 합성 데이터의 설계와 평가 방법을 설명하며, 특정 데이터 구성의 성능·안전성·비용 절감 효과를 보장하지 않습니다.