합성 데이터란? 정의, 사용사례, 만드는 법

2023/09/12

정의

인공지능(AI) 모델을 개발할 때 충분한 데이터를 수집하는 것은 결코 쉬운 일이 아닙니다. 대규모 데이터를 찾았지만 그중 사용할 수 있는 데이터가 거의 없거나 초기 단계에서 데이터 수집이 어렵고 비용이 많이 드는 경우가 많습니다. 이때, 수집된 불완전한 데이터는 AI 모델 생성에 안 좋은 영향을 끼칩니다. 하지만 대규모 회사에서도 이 부분에서 많은 실수를 만들어내곤 하죠. 예를 들어, 2018년에는 한 연구자가 안면 인식 소프트웨어의 인종별 얼굴 인식률을 비교했습니다. 그 결과, 백인 남성을 제외한 다른 인종의 얼굴 인식 오류율이 백인 남성에 비해 34% 더 높게 나타났습니다. 이 안면 인식 모델을 훈련하는 데 사용된 데이터에는 모집단의 전체 하위 집합에 대한 표현이 빠졌습니다. 그렇다면 이런 상황에서 기업은 어떻게 대체해야 할까요? 해답은 합성 데이터입니다. 합성 데이터는 실제 사건에 의해 생성된 데이터가 아닌 컴퓨터 프로그램을 통해 인위적으로 생성된 데이터입니다. 기업은 합성 데이터를 통해 모든 잠재적 사용과 예외 사례를 포함하고, 데이터 수집 비용을 절감하거나 개인 정보를 보호하고 학습 데이터를 강화할 수 있습니다. 특히 최근에는 컴퓨팅 성능과 클라우드와 같은 데이터 스토리지 옵션이 향상되면서 합성 데이터에 대한 접근성이 그 어느 때보다 높아졌습니다. 합성 데이터는 모든 최종 사용자에게 더 잘 작동하는 AI 솔루션의 개발을 발전시킨다는 점에서 긍정적인 효과를 보여줍니다.

https://youtu.be/XsM5pO6DQF4


합성 데이터를 사용해야 하는 이유

1. AI 모델의 견고성 향상

합성 데이터를 사용하면 데이터를 수집하지 않고도 다양한 데이터에 액세스할 수 있습니다. 같은 사람의 다양한 헤어스타일, 수염, 악세서리, 머리 자세 등은 물론 피부색, 인종적 특징, 뼈 구조, 주근깨 등의 변형을 통해 모델을 훈련하여 다양한 얼굴을 만들 수 있습니다. 결과적으로 다양한 데이터는 AI 모델의 견고성을 향상합니다.

2. 빠른 데이터 획득 속도

합성 데이터는 짧은 시간 내에 대량으로 생성될 수 있습니다. 실제 데이터를 찾기 힘들 때, 합성 데이터는 유용하게 사용됩니다. 예를 들어, 자율주행차에 대한 데이터를 수집할 때 도로 상황에 대한 충분한 실제 데이터는 수집하기 어렵습니다. 또한 데이터 사이언티스트는 생성된 합성 데이터에 자동으로 라벨링 하는 알고리즘을 설정하여 시간이 많이 소요되는 데이터 어노테이션 프로세스를 단축할 수 있습니다.

3. 데이터 범주 확장

머신러닝 알고리즘은 균형 잡힌 데이터셋을 선호합니다. 얼굴 인식을 예로 들어 보겠습니다. 한 회사에서 데이터 공백을 메우기 위해 어두운 피부의 얼굴에 대한 합성 데이터를 만들었습니다. 이 회사는 합성 데이터를 통해 AI 모델의 정확도를 향상했을 뿐만 아니라 결과적으로 더 윤리적인 모델을 더 만들 수 있었습니다. 합성 데이터는 데이터의 가용성이 낮거나 전혀 존재하지 않는 극단적인 사례를 포함한 모든 사용 사례를 포괄하는 데 도움이 됩니다.

4. 데이터 보호

기업은 업계와 데이터 유형에 따라 민감한 데이터에 대한 보안 문제에 직면할 수 있습니다. 예를 들어 의료 분야에서 환자 데이터는 높은 수준의 보안이 필요한 개인 건강 정보(PHI)가 포함됩니다. 이때, 합성 데이터는 실제 개인에 대한 정보를 참조하지 않기 때문에 개인 정보 보호 문제를 완화합니다. 만약 특정 데이터 개인 정보 보호 요구 사항을 충족해야 하는 경우라면 합성 데이터를 대안으로 사용할 수 있습니다.


사용 사례

1. 자동차

자율주행차를 개발하는 조직은 성능을 테스트하기 위해 시뮬레이션에 의존하는 경우가 많습니다. 실제 도로 데이터는 다양한 날씨를 포함한 특정 조건에서는 획득하기 어렵거나 위험할 수 있기 때문이죠. 일반적으로 실제 자동차를 사용한 테스트에 의존하기에는 모든 운전 상황을 설명하기에 변수가 너무 많습니다. 이때, 합성 데이터는 수동 데이터 수집보다 빠르고 안전한 대안이 될 수 있습니다.

2. 의료

의료 산업은 데이터 보안이 강조되는 산업으로 합성 데이터 채택에 가장 적합합니다. 합성 데이터를 활용하면 가능한 많은 환자 유형의 데이터를 수집할 수 있고 이를 활용하여 궁극적으로 환자의 상태를 빠르고 정확하게 진단하는 데 도움이 됩니다. 이에 대한 흥미로운 예는 구글의 흑색종 감지 모델입니다. 이 모델은 피부색이 어두운 사람의 합성 데이터를 사용하여 AI 모델이 모든 피부 유형에 대해 작동할 수 있도록 기능을 향상했습니다.

3. 보안

합성 데이터는 기업의 보안을 강화합니다. 얼굴 인식을 다시 예로 들어보겠습니다. 인공적으로 생성된 이미지나 동영상을 가리키는 “딥페이크”라는 용어를 들어보신 적 있나요? 기업은 자체 보안 시스템과 얼굴 인식 플랫폼을 테스트하기 위해 딥 페이크를 사용할 수 있습니다. 또한 동영상 감독은 합성 데이터를 활용하여 빠른 속도와 낮은 비용으로 모델을 훈련할 수 있습니다.

4. 데이터 이동성(data portability)

학습 데이터를 다른 사람과 공유할 수 있는 안전한 방법이 필요합니다. 이때, 합성 데이터는 데이터셋을 다른 사람에게 공유하기 전에 개인 식별 정보(PII)를 숨김으로써 보안을 강화할 수 있습니다. 이를 개인 정보 보호 합성 데이터라고 하며 개인 식별 정보가 포함될 수 있는 과학 연구 데이터셋, 의료 데이터, 사회학적 데이터 영역을 공유하는 데 유용합니다.


합성 데이터 만드는 방법

머신러닝 기술을 통해 프로그래밍 방식으로 합성 데이터를 생성할 수 있습니다. 일반적으로 데이터를 생성하기 위해서는 샘플 데이터셋을 사용합니다. 따라서 합성 데이터는 샘플 데이터의 통계적 속성을 유지해야 하죠. 합성 데이터 자체는 이진형, 숫자형 또는 범주형일 수 있습니다. 무작위로 생성되고 임의의 길이로 생성되어야 하며 필요한 사용 사례를 포괄할 수 있을 만큼 견고해야 합니다. 이제 합성 데이터를 생성하는 데 사용되는 여러 가지 기술에 대해 자세히 알아보겠습니다.

1. Drawing Numbers from a Distribution

실제 데이터는 없지만 데이터셋 분포가 어떤 모양인지 이해하는 경우 분포 별로 합성 데이터를 생성할 수 있습니다. 이 기술에서는 모든 분포(정규, 지수 등)의 무작위 샘플을 생성하여 가짜 데이터를 생성합니다.

2. Fit Real Data to a Distribution

실제 데이터가 있다면 몬테카를로(Monte Carlo) 방법을 사용하여 해당 데이터에 가장 적합한 분포를 찾고 이를 사용하여 합성 데이터를 생성할 수 있습니다.

3. 딥러닝

딥러닝 모델로도 합성 데이터를 생성할 수 있습니다.

  • Variational Autoencoder 모델: 비지도 모델은 초기 데이터셋을 압축하여 디코더로 보낸 후 디코더에서 해당 초기 데이터셋의 표현을 출력합니다.
  • GAN(Generative Adversarial Network) 모델: GAN 모델은 두 개의 네트워크로 구성됩니다. 생성기는 샘플 데이터셋을 가져와 합성 데이터를 출력하고 판별자는 합성 데이터를 실제 데이터셋과 비교하고 반복적으로 미세 조정합니다.

실제 데이터의 양과 합성 데이터의 용도에 따라 위 세 가지 방법을 조합하여 사용하는 것이 가장 효과적입니다.


합성 데이터의 미래

1619807998120-768x432.jpeg

지난 10년 동안 합성 데이터의 사용은 매우 증가했습니다. 합성 데이터는 기업의 시간과 비용을 절약하는 데 도움이 되지만 아직 어려운 부분도 존재합니다. 합성 데이터 이상치가 부족합니다. 이상치는 실제 데이터에서 자연스럽게 발생하며 일부 모델의 정확도에 매우 중요한 역할을 합니다. 또한 데이터 품질은 생성에 사용된 입력 데이터에 따라 달라지는 경우가 많습니다. 입력 데이터에 존재하는 편향은 합성 데이터에 쉽게 퍼질 수 있으므로 고품질 데이터를 입력 데이터로 사용하는 것이 매우 중요합니다. 마지막으로 추가적인 출력 제어가 필요합니다. 즉, 합성 데이터를 인간이 어노테이션한 실제 데이터와 비교하여 불일치가 발생하지 않는지 확인해야 합니다. 이러한 한계에도 불구하고 합성 데이터는 여전히 우리에게 기회 영역입니다. 실제 데이터에 접근할 수 없는 경우에도 혁신적인 AI 솔루션을 생산할 수 있기 때문이죠. 가장 중요한 것은 최종 사용자의 다양성을 포용하는 제품을 만드는 데 도움이 된다는 것입니다.


합성 데이터 사용 시 주의사항

합성 데이터는 데이터 수집 및 어노테이션을 대체하는 것이 아니라 데이터 증강을 위한 기술이라는 점을 잊지 마세요. 대부분은 실제 데이터 없이도 잘 작동하는 모델을 만들 수 있지만 예상치 못한 변수가 발생하는 때도 있습니다. 예를 들어, 얼굴 인식 사례를 살펴보면, 조명의 각도나 흔하지 않은 얼굴의 특징, 성형 수술 등과 같은 변수는 합성 데이터가 미쳐 다 고려하지 못한 사례로 발생할 수 있습니다. 그 외에도 합성 데이터를 생성하고 사용할 때 주의해야 할 사항은 다음과 같습니다.

1. 모델의 요구 사항을 이해하고 필요한 합성 데이터 정의하세요.

합성 데이터 생성을 시작하기 전, 모델에 필요한 것이 무엇인지 파악하고 생성해야 하는 합성 데이터 유형에 대한 기능적 요구 사항 세트를 생성해야 합니다. 이미 가지고 있는 데이터와 유사한 합성 데이터를 구축하는 것은 모델에 쓸모가 없습니다. 대신, 다양성(예: 얼굴 인식 사용 사례에 대해 서로 다른 얼굴 특징을 가진 얼굴)과 변형(예: 같은 사람이 지닌 약간의 차이)을 개선하기 위해 데이터를 보강할 수 있습니다. 극단적인 사례를 고려하여 합성 데이터 생성을 위해 우선순위를 정할 수 있습니다. 또 다른 접근 방식은 실제 학습, 검증 및 테스트 세트 예측에 대한 거짓양성 및 거짓음성에서 합성 데이터의 요구 사항을 도출하여 발생을 줄이는 것입니다.

2. 합성 데이터가 할 수 있는 것과 할 수 없는 것이 무엇인지 구분하세요.

데이터 증대는 모델의 정확도를 높일 수 있지만 모델을 완벽하게 만들 수는 없습니다. 합성 데이터는 우리가 알고 있는 실제 데이터와 가까우므로 현실 세계에서 발생하는 데이터를 마법처럼 효과적으로 이해하거나 훈련을 통해 얻을 수 있는 예측이나 결과를 생성할 수는 없습니다. 또한 데이터의 출처와 조건을 고려하세요. 예를 들어, ThisPersonDoesNotExist.com에서 생성된 얼굴은 프로필 얼굴 사진에서 만들어집니다. 이는 하늘이 흐리거나 방이 어두울 때 모델이 실내 이미지를 인식하는 데 도움이 되지 않습니다.

3. 다양한 합성 데이터 도구에 대해 알아보세요.

일반적인 합성 데이터는 현실 세계의 일부 데이터를 부분적으로 복제하여 다른 실제 데이터에 겹쳐 놓거나 Unity 또는 3D 환경을 통해 사실적인 데이터를 생성했습니다. 하지만 이 영역은 GAN 및 VAE 기술의 변화로 인해 빠르게 발전하고 있습니다. 완전히 새로운 데이터를 생성하는 대신 몇 가지 새로운 아티팩트(artifact)를 합성하여 실제 데이터의 변형을 만들어 냅니다. 예를 들어, 실제 사람의 얼굴에 주근깨를 추가하거나 그림자 각도를 변경하는 것이 포함됩니다. 또 다른 예는 중첩된 데이터를 구체화하여 더 사실적으로 만드는 경우입니다. 소개해드린 것보다 더 많은 합성 데이터 다른 도구가 있으니 필요에 따라 사용하는 것을 추천합니다.

4. 데이터의 버전을 확인하세요.

합성 데이터 생성을 시작하면 이후 더 나은 합성 데이터를 생성하는 능력도 향상되게 됩니다. 따라서 지난달에 생성한 이미지는 합성 데이터를 통해 실제 세계와 더 닮은 새 버전으로 대체될 수 있습니다. 예를 들어, 새로운 합성 데이터는 얼굴 이미지에 더 나은 피부 질감을 나타내거나 새 GPU를 사용하면 광선 추적과 같은 더 자세한 결과를 얻을 수 있습니다. 따라서 데이터 버전 관리는 어떤 데이터를 새 데이터로 대체했는지 파악하는 데 도움이 되며, 다른 합성 데이터를 추가하거나 이전 데이터를 업데이트하면서 모델 개선을 확인할 수 있습니다.

정리

합성 데이터는 실제 세계에서 모델의 성능 향상을 위해 존재합니다. 모든 접근 방식이나 데이터는 모델을 더욱 강력하게 만들고 해당 성능을 향상하는데 도움이 되어야 합니다. 부족한 부분에 따라 모델에 필요한 요구 사항을 잘 정의하면 올바른 도구를 선택하고 정확한 데이터를 통해 좋은 결과를 만들어 낼 수 있습니다.


에펜의 합성 데이터

에펜은 AI 데이터 수집어노테이션에서 25년 이상의 경험을 보유하고 있습니다. 저희 데이터 전문가는 여러분의 기업과 협력하여 합성 데이터가 구축하고자 하는 모델에 실행 가능한 옵션을 분석해드립니다. 그리고 자사 자체 개발 서비스를 활용하여 AI 솔루션을 구축하고 모델이 빠르게 시장에 출시될 수 있도록 지원합니다. 에펜의 데이터 솔루션이 궁금하시다면 지금 바로 문의주세요.

학습 데이터가 필요하신가요? 데이터 전문가에게 문의하세요.