유승훈

머신러닝을 위한 실전 데이터셋(1) - 합성데이터 생성 소개 본문

책 리뷰/머신러닝을 위한 실전 데이터셋

머신러닝을 위한 실전 데이터셋(1) - 합성데이터 생성 소개

seunghuni96 2021. 2. 4. 18:02

본 도서는 한빛미디어 도서 서평단 <나는 리뷰어다 2021>로 선정되어 받은 도서입니다. 리뷰 작성 겸 각 챕터를 간단하게 정리해보고자 합니다.

 

기계학습 기술이 계속된 발전을 거듭하면서, 더 복잡한 문제를 풀고자 하는 시도가 계속되고 있습니다. 이는 당연히 풀고자 하는 문제에 맞는 고품질의 데이터를 필요로 하지만, 이러한 데이터를 항상 확보할 수 있는 것은 아닙니다. 따라서 데이터 합성기술을 통해 문제를 해결하고자 하는 시도가 계속되고 있습니다.

 

합성데이터란?

개념적인 정의는, 실제 데이터는 아니지만, 실제 데이터를 기반으로 생성된 데이터입니다. 이는 실제 데이터와 동일한 통계적인 속성을 갖습니다. 합성 데이터, 즉 가상으로 만들어진 이 데이터가 실제 데이터를 얼마나 대체할 수 있는가는 '효용성 척도'로 나타냅니다. 합성 데이터는 우리가 통계적인 분석에 많이 활용하는 정형 데이터일수도 있고, 최근 머신러닝, 인공지능 분야에서 폭넓게 연구되고 있는 음성, 텍스트, 영상 등의 비정형 데이터일수도 있습니다.

 

합성데이터의 생성.

개념적인 정의대로 항상 실제 데이터를 기반으로 생성되지는 않습니다.

 

실제 데이터를 기반으로 생성되는경우, 실제 데이터에서 다변량 관계나 상호 작용을 파악하는 모델을 기반으로 Sampling, Generalize된 데이터를 생성합니다. 이는 개인정보, 프라이버시 등의 문제로 인해 실제 데이터에 접근하는 효율성이 저하되는 문제를 해결할 수 있습니다.

 

실제 데이터 없이 생성되는 경우, 여러가지 경우를 가집니다. 근거가 얼마나 탄탄한가에 따라 앞서 언급했던 '효용성 척도'에 차이가 있습니다. 기존 모델이나 시뮬레이션을 통해 생성된 데이터의 경우, 기저에 있는 모델의 정확도에 따라 효용성 척도가 달라집니다. 분석가의 도메인 지식을 기반으로 하는 경우, 그 분석가가 도메인이나 관측되는 현상에 대해 얼마나 이해하고 있는가에 따라 달라집니다. 아예 새로운 현상이거나, 배경에 대한 이해같이 데이터 생성 과정 자체에 대한 이해없이 변수의 분포, 상관관계에 대한 가정 정도를 기반으로 생성된 데이터는 가장 낮은 효용성 척도를 갖습니다.

 

합성 데이터의 이점

효율적 접근

  • 빅데이터, 데이터분석 등 데이터의 활용에 대한 관심이 많아지면서, 프라이버시, 개인정보 등의 문제도 같이 대두되고 있습니다. 물론 개인정보를 수집할때 동의를 받지만, 자신의 데이터를 활용하는데 동의한 사람들의 데이터를 활용하는 것은 편향 문제가 있습니다.

  • 오픈소스나 공공 데이터셋의 경우에는 풀고자 하는 문제와 데이터가 상이한 경우가 많습니다. 또한 유사한 데이터에 라벨이 다른, 라벨 노이즈가 발생하는 경우도 있습니다.

향상된 데이터분석

  • 비용, 실용성, 윤리 등의 다양한 문제로 인해 수집, 활용하기 어려운 데이터를 분석에 활용할 수 있습니다.

  • 실제 데이터에 비해 모델을 개발하는데 있어 빠른 속도를 보입니다.

실제 데이터의 대리

  • 앞서 언급했듯 합성 데이터는 실제 데이터의 대체 역할을 하기도 합니다. 이는 실제 데이터와 최대한 유사한 형태를 갖도록 생성되기 때문에, 분석결과가 실제 데이터와 일치하지는 않더라도 분석의 청사진을 그리거나, 이후 분석 방향을 설정하는 지표로서의 역할을 할 수 있습니다. 만약 합성 데이터 분석의 결과를 토대로 실제 데이터의 분석 결과가 유의미하거나 좋은 결과를 낼 수 있을 것으로 판단된다면, 실제 데이터를 수집하는 근거가 될 수 있습니다.

이처럼 합성 데이터는 실제 데이터를 수집, 활용하는데 있어 걸림돌이 되거나, 야기될 수 있는 문제들을 해결하는데 중요한 역할을 할 수 있습니다. 하지만 합성 데이터가 실제 데이터를 대체해서 활용되려면, 데이터의 본질을 해치지 않는 것이 중요합니다. 물론 합성 데이터의 활용이 광범위해지면서 합성 방법이나 합성 데이터의 활용방식 또한 다양하게 연구되고 있지만, 광범위한 활용을 위해서는 합성 데이터의 효용성이 언제나 중요합니다.

 

활용사례

합성 데이터는 처음에 결측치 대체에서 출발했습니다. 결측치는 설문 무응답, 입력 오류, 센서 등의 기기오류처럼 생각보다 다양한 이유로 발생합니다. 이러한 결측치를 대치함으로서 데이터를 보강하고자 한 것입니다. 최근에는 이러한 데이터를 대치하는데 다양한 방법이 활용됩니다. 평균, 중앙값 같은 통계적인 대치, KNN Imputation 같은 머신러닝 모델을 활용한 대치 등이 있습니다. 그 중에서도 딥러닝 데이터 합성 모델은 상당히 정확한 성능을 보여줍니다.

 

  • 제조/유통 : 발생할 수 있는 모든 시나리오나 흔히 발생하지 않는 상황에 대한 데이터를 생성, 학습에 활용합니다.

  • 헬스케어 : 개인정보, 비용 등의 측면에서 실제 데이터의 수집, 활용이 쉽지 않기 때문에, 합성 데이터를 활용하는 것이 효율적입니다.

  • 금융 : 시장의 기술, 솔루션의 평가를 위한 데이터 벤치마크나 개발중인 소프트웨어의 테스트에 합성 데이터를 활용합니다.(대용량 데이터, 시뮬레이션)

  • 교통 : 마이크로 시뮬레이션이나 자율행 모델 개발에 합성 데이터를 활용합니다.

 

Comments