Synthetic Data
synthetic data가 AI와 machine learning을 구동하는 방식을 알아봅니다. Ultralytics YOLO26을 위한 고품질 데이터셋을 생성하여 모델 정확도를 향상하는 방법을 살펴봅니다.
합성 데이터는 실제 데이터의 통계적 속성, 패턴 및 구조적 특성을 모방하는 인공적으로 생성된 정보입니다. 빠르게 발전하는 인공지능 (AI) 및 머신 러닝 (ML) 분야에서 이러한 데이터는 실제 데이터를 수집하는 데 비용과 시간이 많이 들거나 개인정보 보호 규정의 제한을 받을 때 중요한 리소스로 활용됩니다. 실제 사건에서 수집한 유기적 데이터와 달리, 합성 데이터는 컴퓨터 시뮬레이션 및 고급 생성 모델과 같은 기술을 사용하여 알고리즘으로 생성됩니다. Gartner는 2030년까지 합성 데이터가 AI 모델에서 실제 데이터를 능가하여 지능형 시스템의 구축 및 배포 방식을 근본적으로 바꿀 것으로 예측합니다.
AI 개발에서 합성 데이터의 역할#
합성 데이터셋을 활용하는 주된 이유는 기존 데이터 수집 및 어노테이션에 내재된 한계를 극복하기 위해서입니다. 견고한 컴퓨터 비전 (CV) 모델을 학습하려면 다양한 시나리오를 포함하는 대규모 데이터셋이 필요한 경우가 많습니다. 희귀 질환 진단이나 위험한 엣지 케이스 교통사고처럼 실제 데이터가 부족한 경우, 합성 데이터가 그 격차를 메워 줍니다.
이 데이터를 생성하면 개발자가 필요할 때마다 정밀하게 라벨링된 학습 데이터를 만들 수 있습니다. 여기에는 객체 검출을 위한 정확한 바운딩 박스나 시맨틱 세그멘테이션을 위한 픽셀 단위의 정밀한 마스크가 포함되며, 수동 라벨링 과정에서 흔히 발생하는 인적 오류를 제거할 수 있습니다. 또한 엔지니어가 대표성이 부족한 그룹이나 환경 조건을 의도적으로 포함하도록 데이터셋의 균형을 조정할 수 있어 AI 편향을 해결하고 더 공정한 모델 성능을 보장할 수 있습니다.
실제 적용 사례#
합성 데이터는 데이터 개인정보 보호, 안전성 및 확장성이 무엇보다 중요한 산업을 혁신하고 있습니다.
- 자율주행 시뮬레이션: 자율주행 차량을 물리적 세계에서만 테스트하는 것은 위험하며 지리적 제약도 큽니다. 기업은 NVIDIA Omniverse와 같은 사실적인 시뮬레이터를 활용하여 인식 시스템을 학습시킵니다. 이러한 시뮬레이터는 수십억 마일에 해당하는 가상 주행 데이터를 생성하여, 실제 세계에서 일관되게 포착하기 어려운 위험한 날씨, 예측하기 어려운 보행자 행동 및 복잡한 도시 구조에 AI를 노출합니다.
- 헬스케어 및 의료 영상: HIPAA 및 GDPR과 같은 환자 개인정보 보호 법률은 의료 기록의 공유를 엄격하게 규제합니다. 합성 데이터를 사용하면 X선 또는 MRI 스캔과 같은 사실적인 의료 영상 분석 데이터셋을 만들 수 있으며, 개인정보를 직접 식별할 수 있는 정보 없이도 병리학적 특징을 유지할 수 있습니다. 이를 통해 연구자들은 환자의 기밀성을 침해하지 않고 협업하여 종양 검출 모델을 학습시킬 수 있습니다.
비전 AI를 위한 합성 데이터 생성#
고품질 합성 데이터를 생성하는 방법에는 시뮬레이션 엔진과 생성형 AI라는 두 가지 주요 접근 방식이 사용되는 경우가 많습니다. Unity Engine과 같은 시뮬레이션 엔진은 3D 그래픽을 사용하여 물리 기반 조명과 텍스처가 적용된 장면을 렌더링합니다. 또는 생성적 적대 신경망 (GANs) 및 확산 모델과 같은 생성 모델은 실제 데이터의 분포를 학습하여 새로운 사실적 예시를 합성합니다.
합성 데이터셋이 생성되면 고성능 모델을 학습하는 데 사용할 수 있습니다. 다음 Python 예제는 ultralytics 패키지를 사용하여 합성 데이터로 학습했을 가능성이 있는 모델을 로드하고 이미지에 대한 추론을 수행하는 방법을 보여 줍니다.
from ultralytics import YOLO
# Load the YOLO26 model (latest stable generation for superior accuracy)
model = YOLO("yolo26n.pt")
# Run inference on a source image (this could be a synthetic validation image)
results = model("https://ultralytics.com/images/bus.jpg")
# Display the detection results to verify model performance
results[0].show()합성 데이터와 데이터 증강 비교#
두 기술 모두 데이터셋을 확장하는 것을 목표로 하지만 작동 방식이 다르므로, 합성 데이터와 데이터 증강을 구분하는 것이 유용합니다.
- 데이터 증강은 뒤집기, 회전, 크롭 또는 색상 조정과 같은 변환을 기존 실제 이미지에 적용하여 약간씩 다른 변형을 만드는 방식입니다. 이 방법은 원본 데이터 소스에 의존합니다.
- 합성 데이터는 알고리즘 또는 시뮬레이션을 사용하여 완전히 새로운 데이터 인스턴스를 처음부터 생성하는 방식입니다. 모든 출력에 원본 이미지가 반드시 필요한 것은 아니므로, 카메라로 한 번도 포착되지 않은 시나리오를 생성할 수 있습니다.
Ultralytics Platform의 최신 워크플로는 두 접근 방식을 함께 사용하는 경우가 많습니다. 즉, 합성 데이터로 데이터셋의 부족한 부분을 보완하고 학습 중에 데이터 증강을 적용하여 YOLO26과 같은 모델의 견고성을 극대화합니다.









