메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

합성 데이터란 무엇인가

한빛미디어

|

2021-03-09

|

by 칼리드 엘 에맘, 루시 모스케라, 리

3,442

 
개인 정보를 보호하고 머신러닝 학습에 사용할 합성 데이터 만들기
『머신러닝을 위한 실전 데이터셋』 중
 

딥러닝 기반의 인공지능 챗봇 이루다 사건은 간과하기 쉬운 개인정보보호의 중요성을 다시금 일깨워줬다. AI는 대량의 데이터셋을 필요로 하지만, 대부분의 데이터셋에는 개인정보가 포함되어 있어 활용이 제한적이다. ‘합성 데이터’는 이러한 데이터셋 속 개인정보 이슈로부터 벗어날 수 있는 해법의 하나로 떠오르고 있다. 편집자 주
· · ·
1. 합성 데이터의 정의
개념적으로 보면, 합성 데이터는 실제 데이터가 아니라 실제 데이터에서 생성되어 실제 데이터와 통계 속성이 동일한 데이터를 말한다. 즉, 분석가는 합성 데이터셋으로 작업을 해도 실제 데이터에서 얻은 분석 결과와 유사한 분석 결과를 얻어야 한다. 가상 데이터셋이 실제 데이터를 얼마만큼 적절히 대체accurate proxy할 수 있는지는 ‘효용성 척도measure of utility’로 나타낸다. 그리고 이 글에서는 합성 데이터를 생성하는 프로세스를 ‘합성synthesis’이라고 부르겠다.
이런 맥락에서 보면, 데이터의 의미가 다를 수 있다. 예를 들어, 관계형 데이터베이스에서 볼 수 있는 구조화된 데이터structured data이거나 의사의 노트, 대화 내용, 이메일, 채팅 등의 온라인 상호작용과 같은 비정형 텍스트unstructured text일 수도 있다. 나아가 이미지, 영상, 오디오, 가상 환경은 합성할 수 있는 유형의 데이터다. 머신러닝을 활용하면 실세계에 존재하지 않는 사람의 모습을 사실적으로 그릴 수 있다(https://oreil.ly/clu_p).
합성 데이터는 세 가지 유형으로 나눈다. 첫째 유형은 실제 데이터셋으로 생성하며, 둘째 유형은 실제 데이터를 사용하지 않고 생성한다. 셋째 유형은 이 두 가지 유형을 합한 하이브리드다. 지금부터 하나씩 알아보자.
1.1 실제 데이터로 합성하기
합성 데이터의 첫째 유형은 실제 데이터셋으로 합성된다. 즉, 분석가가 실제 데이터셋 몇 개로 실제 데이터의 분포와 구조를 포착하는 모델을 구축한다. 여기서 말하는 구조란 데이터의 다변량 관계multivariate relationships와 상호작용을 의미한다. 모델이 구축되면 합성 데이터는 해당 모델에서 샘플링되거나 생성된다. 모델이 실제 데이터를 제대로 표현한다면, 합성 데이터는 실제 데이터와 통계적 특성이 유사할 것이다.
다음 그림에 첫째 유형의 합성 프로세스를 간략하게 나타냈다. 먼저 데이터를 설명하는 생성 모델을 만든다. 이 모델에서 데이터에 있는 다변량 관계를 포착한다. 그다음 이 모델을 사용해 합성 데이터를 생성한다. 따라서 합성 데이터는 데이터에 적합한 모델에서 생성된다.
그림_ 데이터 합성 프로세스
예를 들어, 고객 행동을 전문적으로 분석하는 데이터 과학 그룹은 모델을 구축하기 위해 대량의 데이터가 필요할 것이다. 그러나 프라이버시나 그 외 고려 사항으로 인해 고객 데이터에 접근하는 프로세스가 느리고, 정보의 광범위한 마스킹과 수정으로 양질의 데이터를 충분히 얻지 못한다. 대신, 분석가에게는 모델 구축에 필요한 프로덕션 데이터셋의 합성 버전이 제공된다. 합성된 데이터는 사용에 따른 제약이 적고 작업이 더 빠르게 진행되는 이점이 있다.
1.2 실제 데이터 없이 합성하기
합성 데이터의 둘째 유형은 실제 데이터 없이 생성된다. 분석가의 기존 모델을 사용하거나 배경지식을 이용해 생성한다.
기존 모델은 프로세스의 통계적 모델(설문조사나 그 외 데이터 수집 메커니즘을 통해 개발된)이거나 시뮬레이션일 수 있다. 이때 시뮬레이션은 장면이나 사물의 시뮬레이션된(그리고 합성된) 이미지를 생성하는 게임 엔진일 수도 있고, 하루 중 서로 다른 시간에 상점을 지나가는 사람을 대상으로 특정한 특징(가령 연령, 성별 등)을 가진 쇼핑객 데이터를 생성하는 시뮬레이션 엔진일 수도 있다.
배경지식은 교과서에서 배운 것이거나 다양한 역사적 조건 하에 주가 등락에 따른 금융시장 추세에 대한 것이거나 다년간의 경험을 바탕으로 상점을 드나드는 인적 교통량을 통계적으로 분석하여 얻은 분포에 대한 것일 수 있다. 이 경우, 합성 데이터를 생성하기 위해 배경지식으로 모델과 샘플을 만들기는 비교적 쉽다. 분석가가 프로세스를 정확히 이해한다면, 합성 데이터는 실제 데이터와 동작하는 방식이 일치할 것이다. 물론 배경지식은 분석가가 진정으로 관심 현상을 이해해야만 효력을 발휘한다.
마지막 예로, 새로 도입된 공정이거나 분석가가 그 공정을 이해하지 못하거나 과거 데이터(실제)를 사용할 수 없는 경우, 분석가는 공정과 관련된 변수 간의 분포와 상관관계를 몇 가지 간단하게 가정할 수 있다. 예를 들어 분석가는 변수에 정규 분포와 ‘중간’ 상관관계가 있다는 가정 하에 데이터를 생성할 수 있다. 이 유형의 데이터는 실제 데이터와 속성이 같지 않을 확률이 높지만, R 데이터 분석 프로그램의 디버깅 또는 소프트웨어 애플리케이션의 일부 성능 테스트와 같은 용도로는 여전히 유용하다.
1.3 합성과 효용성
일부 사례에서는 효용성이 높은 것이 상당한 문제가 될 수 있다. 또 어떤 사례에서는 효용성이 중간이거나 심지어 낮아 문제가 될 수 있다. 예를 들어 AIML 모델을 구축해서 고객 행동을 예측하고 이를 기반으로 마케팅 방향을 결정하려 한다면, 효용성이 높아야 한다. 반면에, 당신의 소프트웨어가 대량의 트랜잭션을 처리할 수 있는지 확인해야 한다면, 데이터 효용성의 기대치는 상당히 낮을 것이다. 따라서 합성 데이터를 생성하는 적절한 접근법을 찾으려면 데이터 효용성만이 아니라 데이터 자체와 모델, 시뮬레이터, 지식(데이터 배경) 등을 이해해야 한다.
합성 데이터 유형을 [표 1-1]에 요약했다.
표_ 다양한 합성 데이터 유형과 효용성
지금까지 합성 데이터의 유형을 살펴보았다. 이제 합성 데이터의 전반적인 이점과 데이터 유형별 이점을 자세히 살펴보자.
2 합성 데이터의 이점
데이터를 합성하면 다음과 같은 중요한 이점이 있다. 데이터에 효율적으로 접근할 수 있고, 분석 결과가 좋아진다는 것이다. 이들 두 가지 이점을 차례로 살펴보자.
2.1 효율적인 데이터 접근
데이터 접근은 AIML 프로젝트에서 결정적으로 중요하다. 데이터는 모델을 훈련하고 검증하기 위해 필요하다. 더 나아가 다른 사람이 개발한 AIML 기술의 평가뿐만 아니라 AIML 모델을 사용하는 AIML 소프트웨어나 애플리케이션의 테스트에도 필요하다.
데이터는 일반적으로 개인의 동의하에 특정 용도로 수집된다. 예를 들어 웨비나 또는 임상 연구 참여 등이 있다. 만약 동일한 데이터를 다른 용도, 가령 어떤 유형의 사람이 웨비나에 가입하거나 임상 연구에 참여할지 예측하는 모델을 구축할 목적으로 사용한다면, 이는 이차 목적으로 간주된다.
분석과 같은 이차 목적으로 이루어지는 데이터 접근은 문제가 되고 있다. 정부회계감사원Government Accountability Office과 맥킨지 글로벌 연구소McKinsey Global Institute는 AIML 모델 구축과 테스트를 목적으로 데이터에 접근하는 것이 데이터를 더 광범위하게 적용하기 위해 선결해야 할 과제라는 점에 주목한다. 딜로이트Deloitte의 분석 결과, AI 구현 시 기업이 직면하는 3대 난제에 데이터 접근이 꼽힌 것으로 나타났다. 대중은 데이터(개인 정보)가 어떻게 사용되고 공유되는 지 불안해하고, 개인 정보 보호법은 갈수록 더 엄격해지고 있다. 최근 오라일리O’Reilly에서 실시한 설문조사는 머신러닝 모델을 채택한 기업의 프라이버시 우려를 부각시켰는데, AIML 이력이 있는 기업의 절반 이상이 프라이버시 문제를 점검한 것으로 나타났다.
미국의 의료보험 이전과 책임에 관한 법률Health Insurance Portability and Accountability Act(HIPAA)이나 유럽의 일반 데이터 보호 규정General Data Protection Regulation(GDPR)과 같은 현대의 개인 정보 보호 규정은 개인 데이터를 이차 목적으로 사용할 때 법적 근거를 요구한다. 이를테면 데이터를 사용하기 전에 개인의 추가 동의나 허가를 받는 것이다. 많은 경우에 이런 절차는 실용적이지 않으며 중요한 특성에 따라 동의자와 비동의자가 다르기 때문에 데이터에 편향이 생길 수 있다.
분석가는 데이터 접근이 어려우므로 오픈 소스나 공공 데이터셋을 대안으로 사용하기도 한다. 이런 데이터는 좋은 출발점이 될 수 있지만 다양성이 부족하고 모델이 해결하려는 문제와 맞지 않는 경우가 많다. 또한 오픈 데이터는 모델의 강력한 훈련에 필요한 이질성heterogeneity이 매우 낮은 편이다.
예를 들어, 오픈 데이터는 실제 환경에서 드물게 발생하는 사례를 충분히 포착하지 못한다. 데이터 합성은 분석가에게 효율적이고, 규모에 맞게, 작업 가능한 현실적인 데이터를 제공한다. 또한 합성 데이터는 식별 가능한 개인 데이터로 간주되지 않는다. 따라서 개인 정보 보호 규정이 적용되지 않으며, 데이터를 이차 목적으로 사용하기 위한 추가 동의가 필요 없다.
2.2 향상된 데이터 분석
실제 데이터가 존재하지 않을 때 데이터를 합성한다. 예를 들면 분석가가 완전히 새로운 데이터를 모델링하거나 처음부터 실제 데이터셋을 생성, 수집하는 비용이 제한되거나 비현실적으로 큰 경우다. 또한 합성 데이터는 실세계에서 수집하기 어렵거나 비실용적이거나 비윤리적인 경우에도 사용할 수 있다.
때로는 실제 데이터가 있지만 라벨이 붙어있지 않다. 지도 학습 태스크supervised learning tasks에서 사용하는 다량의 예제에 라벨을 붙이려면 시간이 많이 소요되며, 수동으로 라벨링 작업을 하면 오류가 생기기 쉽다. 다시 말해, 모델 개발을 가속화하기 위해 라벨이 있는 합성 데이터를 생성할 수 있다, 합성 프로세스는 라벨링의 높은 정확도를 보장한다.
분석가는 합성 데이터 모델로 가정을 검증하고, 모델에서 얻는 결과의 종류를 시연할 수 있다. 같은 방법으로, 합성 데이터를 탐색적 방법으로 사용할 수 있다. 분석가는 합성 데이터가 흥미롭고 유용한 결과를 낸다는 것을 알면, 모델의 최종 버전을 구축하기 위해 실제 데이터(원시 raw 또는 비식별 de-identified)를 얻는 더 복잡한 프로세스를 거칠 수 있다.
예를 들어, 분석가가 연구자라면 그는 합성 데이터에 탐색적 모델을 사용해서 실제 데이터 접근에 필요한 자금을 신청하는데, 이 과정에서 전체 프로토콜과 여러 단계의 승인이 필요하다. 이러한 경우, 좋은 모델이나 실행 가능한 결과를 생성하지 못하는 합성 데이터를 사용하는 노력은 잠재적으로 무익한 분석을 위해 (잘못된 결과를 바탕으로 설정된 편향된 방향으로) 실제 데이터에 접근하는 대신 연구자가 다른 것을 시도하도록 방향을 재설정해주기 때문에 여전히 유익하다.
또한 합성 데이터는 실제 데이터에 접근하기 전에 합성 데이터를 사용해서 초기 모델을 훈련할 수 있다는 점에서 사용 가치가 있다. 이후 분석가가 실제 데이터로 모델을 훈련함으로써 합성 데이터는 모델 훈련의 출발점이 되는 셈이다. 이로써 실제 데이터 모델의 정합화convergence를 크게 촉진하며(결국 컴퓨팅 시간의 대폭 단축) 잠재적으로 더 정확한 모델을 도출할 수 있다.
다음에는 합성 데이터를 전이학습에 활용한 사례를 살펴본다. 합성 데이터는 불가능한 프로젝트를 실행 가능하게 만들거나, AIML 계획을 크게 가속화하거나, AIML 프로젝트의 결과를 실질적으로 개선할 수 있다는 점에서 획기적이다.
2.3 대리로서의 합성 데이터
합성 데이터의 효용성이 높다면, 분석가는 실제 데이터로 얻을 수 있는 결과와 유사한 결과 를 얻게 된다. 이 경우 합성 데이터가 실제 데이터의 대리 역할을 한다. 이와 비슷한 사례가 점차 늘고 있으며 합성 방법이 개선됨에 따라 합성 데이터를 이용한 대리 결과는 더 보편화될 것이다.
앞서 합성 데이터가 일련의 실제적인 문제를 해결하는 데 주요한 역할을 할 수 있음을 살펴보았다. 그러나 데이터 합성 방법을 채택할 때 고려해야 할 중요한 요소 하나는 생성된 데이터에 대한 신뢰다. 데이터 합성 방법을 광범위하게 채택할 경우 데이터 효용성이 높아야 한다는 인식이 일반적인데8 바로 이것이 다음에 이야기할 주제다.
2.4 합성 데이터 신뢰성 확보를 위한 학습
합성 데이터는 1990년대 초에 합성 데이터를 생성하기 위해 여러 대치 방법imputation method을 사용하자는 제안에서 주목을 받기 시작했다. 일반적으로 대치는 결측값을 현실적인 데이터로 교체하는 것으로, 결측 데이터를 처리하는 방법이다. 예를 들어 결측 데이터는 설문에서 일부 응답자가 주어진 질문에 답을 완료하지 않을 때 생긴다.
정확하게 대치된 데이터는 분석가에게 사용 가능한 데이터만을 이용해서 관심 현상에 관한 모델을 구축하고, 이후 그 모델을 이용하여 대치된 값이 무엇인지를 예측하도록 요구한다. 분석가는 유효한 모델을 구축하기 위해 데이터가 최종적으로 어떻게 사용될지 알아야 한다.
다중 대치multiple imputation 기법을 이용하면 예측된 값들의 불확실성을 파악하기 위한 다중 대치 값들을 만들 수 있다. 이를 통해서 여러 개의 대치된 데이터셋이 생성된다. 대치된 데이터셋의 개별적 분석을 취합하여 최종 데이터셋(신뢰성 높은 합성 데이터셋)을 얻을 수 있는 구체적인 기법이 있다. 데이터가 어떻게 사용될지 그 용도를 사전에 안다면, 이 프로세스는 상당히 잘 작동한다.
데이터 합성에 대치를 사용하는 맥락에서, 실제 데이터는 동일한 유형의 대치 기법을 사용하는 합성 데이터로 보강된다. 이 경우, 실제 데이터는 새로운 데이터를 합성하는 데 사용되는 대치 모델을 구축하는 데 사용된다.
여기서 문제는 당신의 대치 모델이 합성 데이터로 구축될 최종 모델과 다를 경우 대치된 값이 실제 값을 그다지 잘 반영하지 못하며 이로 인해 데이터에 오류가 생길 수 있다는 점이다. 이렇듯 잘못된 모델을 구축할 위험 때문에 합성 데이터를 적용할 때는 지속적인 주의가 필요했다.
최근에는 통계 머신러닝 모델이 데이터 합성에 이용되고 있다. 이 모델은 변수 간의 분포와 복잡한 관계를 포착할 수 있다. 실제로 분석가가 모델을 미리 지정하도록 요구하는 것이 아니라 데이터에서 기본 모델을 발견한다. 그리고 딥러닝 데이터 합성 모델은 데이터에서 많은 신호, 심지어 미세한 신호까지 포착하기 때문에 상당히 정확하다.
따라서 오늘날 이용 가능한 생성 모델은 머지않아 실제 데이터를 대체할 만한 상당히 좋은 데이터셋을 생산하게 될 것이다. 한편, 오늘날 우리에겐 합성 데이터의 효용성을 객관적으로 평가할 방법들이 있다.
예를 들어 합성 데이터의 분석 결과와 실제 데이터의 분석 결과를 비교하는 것이다. 합성 데이터에 어떤 분석이 수행될지 모르는 경우, 해당 데이터의 알려진 사용 방법에 기초해 다양한 분석을 시도할 수 있다. 또는 ‘모든 모델’을 평가할 수 있는데, 이 평가에서는 가능한 모든 모델을 실제 데이터셋과 합성 데이터셋으로 구축해 비교한다.
합성 데이터는 더 견고한 AIML 모델을 만들고 훈련 데이터셋의 이질성을 높이는 데 사용된다. 예를 들어 데이터가 없거나 수집하기 어려운 극단적 사례edge cases를 합성해서 훈련 데이터셋에 포함시킬 수 있다. 이 경우, 합성 데이터의 효용성은 AIML 모델에 대한 견고성 증분robustness increment으로 측정한다.
미국 인구조사국The US Census Bureau(집필할 당시) 가장 많이 사용되고 있는 공공 데이터셋의 하나인 2020-10년 단위 인구조사 데이터the 2020 decennial census data를 공개할 때 합성 데이터를 활용하기로 했다. 표 형식의 데이터를 공개할 경우, 수집된 개별 수준 인구조사 데이터로 합성 데이터셋을 생성한 다음, 해당 합성 데이터셋으로 공개 데이터셋을 만든다. 그리고 합성 프로세스에서는 형식적인 방법과 비형식적인 방법을 섞어 사용한다.
논쟁의 여지가 있지만, 이 사실은 오늘날 이용 가능한 데이터셋 중에서 가장 중요하고 빈번하게 사용되는 데이터셋에 데이터 합성이 대규모로 적용됐음을 보여준다.
· · ·
댓글 입력
자료실