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

한빛출판네트워크

IT/모바일

합성 데이터는 어디에 활용될까?

한빛미디어

|

2021-03-12

|

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

16,792

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

합성 데이터 생성을 가능하게 하는 기술적 개념은 수십 년 전부터 논의됐지만, 그 실용성이 드러난 것은 최근이다. 그 이유는 이 유형의 데이터가 이전에는 해결하기가 상당히 어려웠던 몇 가지 문제를 해결하거나, 비용 면에서 더 효율적인 방법으로 문제를 해결하기 때문이다. 모든 문제는 데이터 접근과 관련된 것으로, 때로는 실제 데이터에 접근하는 것 자체가 어려웠다.
이 글에서는 합성 데이터를 다양한 산업에 적용한 사례를 살펴본다. 이 사례는 완벽하게 모든 것을 망라한 것이 아니라 설명을 하기 위해 제시한 것이다. 게다가 여러 산업 분야에 같은 문제가 있을 수 있으므로(가령 소프트웨어를 테스트하기 위해 현실적인 데이터를 얻는 것은 데이터 합성으로 해결할 수 있는 공통 문제다), 문제 해결법으로서 합성 데이터 적용은 여러 산업 분야와 두루 관련될 것이다. 이 절에서는 소프트웨어 테스트를 논의하므로 이 절의 소제목에서 다루는 내용은 서로 연관된다.
· · ·
1. 합성 데이터 활용 사례
먼저 살펴볼 산업은 제조manufacturing와 유통distribution이다. 그러고 나서 헬스케어healthcare, 금융 서비스financial services, 교통수단transportation을 살펴본다. 산업별 사례는 실제 개인 데이터와 집계 데이터에서 구조화된 데이터를 생성하는 것부터 시뮬레이션 엔진을 사용해 대량의 합성 데이터를 생성하는 것에 이르기까지 앞서 논의한 합성 데이터의 유형을 포괄한다.
1.1 제조와 유통
센서 기술의 발전과 맞물려 산업용 로봇에 AIML을 사용하는 기술은 공장 자동화를 종래보다 더 복잡하고 다양하게 변모시키고 있다. ‘아마존 피킹 챌린지Amazon Picking Challenge’에서처럼, 창고와 공장에서 이들 시스템은 선반과 컨베이어 벨트에서 물건을 들어올리고, 검사하며, 조작하고, 옮기는 성능을 크게 향상시키고 있다.
그러나 생산 라인이나 창고에서 복잡한 작업을 수행할 로봇을 훈련하려면 예상 시나리오를 망라하는 현실적인 훈련 데이터만이 아니라, 실제로는 볼 수 없지만 그럴듯하면서 흔치 않은 훈련 데이터도 확보해야 하는 어려움이 따른다. 예를 들어 다양한 위치에서 물체를 인식하려면 조명, 질감 등 다양하게 조합되는 상황을 포착하는 훈련 데이터가 필요하다. 이렇듯 훈련 데이터셋을 생성하는 일은 ‘보통’ 일이 아니다.
대규모 데이터셋이 요구되는 복잡한 작업을 수행하도록 로봇을 훈련하는 데 데이터 합성을 어떻게 사용할 수 있는지 생각해보자. 엔비디아에서 일하는 엔지니어는 딥러닝 모델을 사용해 도미노 게임을 수행하는 로봇을 훈련시키려고 했다(그림 1). 이 훈련에는 로봇에게 실제 발생할 수 있는 다양한 상황을 담은 영상이 많이 필요했다. 하지만 훈련 데이터셋은 존재하지 않았으며, 이미지를 일일이 수동으로 생성하려면 비용과 시간이 많이 소요됐을 것이다.
그림 1_ 도미노 게임을 수행하는 로봇(https://bit.ly/2YXFbwE)
엔비디아 팀은 게임 플랫폼에서 그래픽 렌더링 엔진을 사용해 다양한 위치와 질감, 조명 조건을 조합했고 여러 개의 도미노 이미지를 만들었다(그림 2). 실제로 도미노를 손수 설정하고 모델을 훈련시키기 위해 사진을 찍은 사람은 없었으며, 훈련을 위해 생성된 이미지는 모두 엔진으로 시뮬레이션했다.
그림 2_ 합성한 도미노 이미지
이미지 데이터가 없어서 수동으로 충분한 양의 데이터셋을 만들려면 많은 사람이 오랜 시간에 걸쳐 작업해야 했으나, 이는 비용을 고려했을 때 비효율적이었다. 그 대신 팀은 시뮬레이션 엔진을 사용해 로봇을 훈련시킬 수많은 이미지를 만들어냈다. 이 사례는 다양한 환경에서 로봇이 물체를 인식하고, 집어올리고, 조작하도록 훈련시키는 데 합성 데이터를 어떻게 사용할 수 있는지 잘 보여주며, 이 과정은 산업용 로봇의 모델 구축에서도 필요하다.
1.2 헬스케어
보건 산업에서 AIML 모델을 구축하는 데 필요한 데이터는 개인 정보 보호 규정과 비용 면에서 수집하기가 어렵다. 보건 데이터는 많은 데이터 보호 제도에서 민감하게 다루어지며, 분석용 보건 데이터의 사용과 공개는 여러 조건을 충족해야 한다. 이 조건을 만족하는 데는 적지 않은 비용이 들 수 있다(가령 환자에게 의료 데이터에 접근할 수 있는 권한을 부여받아야 하고, 개인 의료 데이터를 보관, 처리하기 위해서는 강력한 보안장치를 갖춰야 하며, 직원을 교육하는 일 등) 특정 연구나 분석을 하기 위해 보건 데이터 수집에 들어가는 비용 역시 만만치 않다. 예를 들어 임상시험에서 여러 현장의 데이터를 수집하는 데는 비용이 많이 든다.
이번에는 합성 데이터가 보건 산업이 당면한 데이터 접근 과제를 어떻게 해결하는지 살펴보자.
암 연구를 위한 데이터
이차 분석에 보건 데이터를 더 폭넓게 사용하도록 정부와 제약 업계에 촉구하는 시대의 강력한 요청이 있는데, 이는 데이터 접근 문제를 해결하고 혁신적인 연구를 장려해서 질병을 이해하고 치료법을 찾도록 하기 위함이다. 게다가 규제 당국은 기업이 보건 데이터를 광범위하게 이용하게 해달라고 요구해왔다. 유럽의 약품 기구가 좋은 예인데, 이 기관은 제약 회사가 의약품 승인 결정을 위해 제출한 정보를 공개할 것을 요구해왔다. 최근에는 캐나다 보건부 역시 그렇게 요구했다.
또한 의학 저널은 다른 연구자가 논문에 재사용할 수 있도록 자기 데이터를 공개할 것을 적극적으로 권장하고 있다. 이렇게 공개되면 동일한 데이터가 혁신적으로 분석될 가능성이 커진다(https://bit.ly/2KHfHfz).
일반적으로 해당 데이터에 개인 정보가 담긴 경우, 공개하기 전에 식별 정보를 해제하거나 비 개인화해야 한다(사전에 환자의 동의를 얻지 않은 정보는 제외한다). 그러나 실제로 데이터를 공개하기 위해 복잡한 데이터의 식별을 해제하기는 어렵다. 데이터의 식별을 해제하기 어려운 이유를 알아보자.
● 공공 데이터는 거의 통제되지 않는다(가령 데이터 사용자는 이용약관에 동의할 필요가 없고 신분을 밝힐 필요도 없으므로 안전하게 취급하는지 확인하기가 어렵다). 따라서 재식별 위험이 낮음을 보장하는 데이터 변환 수준이 광범위하며, 이는 곧 데이터 효용성이 크게 저하됨을 의미한다.
● 공공 데이터를 겨냥한 재식별 공격은 언론과 규제 당국의 주목을 받으며 공격자의 공격 방법이 더욱 정교해졌다. 결과적으로 비식별 방법은 보수적 측면에서 오류를 범할 수 있으며, 이는 곧 데이터 효용성을 약화한다.
● 데이터에 많은 정보를 변환해 재식별 위험을 관리해야 하므로 공유해야 하는 데이터셋의 복잡성이 데이터 효용성 문제를 더욱 증폭한다.
합성 데이터는 복잡한 오픈 데이터를 양산한다. 여기서 복잡성은 데이터에 많은 변수와 표가 있으며, 개인당 트랜잭션이 많음을 의미한다. 예를 들어 종양학 전자 의료 기록 데이터는 복잡하다고 간주될 것이다. 이 데이터에는 환자, 방문, 치료, 처방, 투여 약물, 실험실 테스트 등 다양한 정보가 담기기 때문이다.
합성은 프라이버시 문제를 해결하고 기존 대안보다 효용성이 더 높은 데이터를 제공할 수 있다. 좋은 예는 영국 공중 보건국Public Health England(https://bit.ly/2P5VAL0)이 공개적으로 이용할 수 있게 만든 합성 암 등록 데이터the synthetic cancer registry data다.
합성 암 데이터셋은 누구나 다운로드할 수 있으며 가설을 생성, 테스트하고 향후 암 연구를 위해 비용 효율적이고 신속한 타당성 평가에 사용할 수도 있다.
연구 방면을 넘어 의학계에서도 디지털 혁명이 (느리게나마) 일어나고 있다. 예를 들어 제공자와 지급자가 공존하는 대량의 보건 데이터에는 더 강력한 AIML 기법으로 알아낼 수 있는 많은 통찰insight이 담겨있다. 새로운 디지털 의료기기는 환자의 건강 및 행동과 관련된 더 많은 연속적인 데이터를 추가하고 있다. 환자가 보고한 결과 데이터는 기능, 삶의 질, 고통을 평가한다. 그리고 물론 게놈 데이터와 오테로믹 데이터otheromic data는 개인에게 맞춤화된 의학의 핵심이다. 이 모든 데이터를 종합해서 진료소나 가정에서 내리는 의사결정과 치료에 사용할 필요가 있다. AIML의 혁신이야말로 AIML을 촉진하는 길이 될 것이다.
다음에는 디지털 보건 및 보건 기술 기업이 어떻게 합성 데이터를 사용해 혁신 생태계를 활용할 수 있는지 살펴본다. 많은 전통적인 제약 회사와 (의료)장비 회사들이 디지털 의료 회사로 변화하고 있음에 주목하자.
혁신적인 디지털 의료 기술 평가
의료 기술 회사는 외부에서 가져온 데이터 중심 혁신을 끊임없이 모색하고 있다. 이런 혁신은 스타트업 기업이나 학술 기관에서 시작될 수 있다. 대표적인 예로 데이터 분석(통계학적 머신 러닝 또는 딥러닝 모델과 툴), 데이터 랭글링data wrangling데이터 표준화 및 조화 도구, 데이터 클렌징 도구 등), 데이터 유형 탐지 도구(조직 내에 서로 다른 유형의 데이터가 있는 지점을 알아내는 도구) 등이 있다.
신기술을 채택할 때는 자원이 필요하고 기회비용도 고려해야 하므로 다소 신중하게 결정해야 한다. 이들 기업은 실제로 어떤 기술 혁신이 작동하는지, 더 중요하게는 어떤 기술 혁신이 그들의 데이터로 작동하는지를 판단하기 위해서 효율적인 방법으로 기술 혁신을 평가할 메커니즘이 필요하다. 가장 좋은 방법은 혁신가에게 데이터를 일부 제공하고 결과를 도출하게 하는 것이다.
혁신가는 일부 대기업에 상당한 속도로 접근한다. 때로는 조직의 여러 부분에 동시에 접근한다. 그 방식은 설득력이 있고, 그들의 사업에 가져올 잠재적 이익은 막대할 수 있다. 대기업들은 자사에 혁신을 도입하기를 원한다. 그러나 경험에 따르면, 몇몇 스타트업 기업은 완성도 높은 제품보다는 아이디어에 열을 올리고, 학계에서는 회사들과 달리 작은 문제나 상황에서만 효과가 있었던 해결책을 설명하고 있다. 각각 가진 문제와 데이터에 대해 이런 혁신을 테스트할 필요가 있다.
제약 업계에서는 관련 데이터의 상당 부분이 환자나 의료 사업자와 관련되기 때문에 외부 당사자에게 데이터를 제공하는 과정이 복잡할 수 있다. 데이터 공유에 필요한 프로세스에는 대개 광범위한 계약과 데이터 수신자의 보안 관행의 감사가 포함된다. 이 두 가지 작업만으로도 상당한 시간과 투자가 소요될 수 있다.
제약 회사는 복잡성이나 내부 정책상 데이터를 외부와 공유할 수 없기 때문에 혁신가에게 회사 환경에 소프트웨어를 설치해줄 것을 요청한다. 이제 회사는 소프트웨어를 감시하고 호환성 문제를 해결하며 통합 지점을 파악해야 하기 때문에 상당한 복잡성과 지연이 야기된다. 그러면 기술 평가가 상당히 비싸지고 많은 내부 자원을 소비하게 된다. 더욱이 이는 회사가 매년 테스트하기를 원하는 수백 개의 혁신에 확장될 수 없다.
기업은 프로세스 효율을 높여서 프로세스가 혁신을 이끌 수 있도록 두 가지 일을 하기 시작했다. 첫째, 기업은 환자 또는 제공자 데이터를 대표하는 표준 데이터셋을 보유하고 있다. 예를 들어, 제약 회사는 다양한 치료 영역에 일련의 합성 임상시험 데이터셋을 가지고 있을 것이다. 이러한 데이터셋은 파일럿 또는 빠른 개념 증명 프로젝트를 위해 혁신가들과 쉽게 공유할 수 있다.
신속한 기술 평가
보스턴에 위치한 케임브리지 시맨틱스 사Cambridge Semantics(CS)는 그래프 데이터베이스와 그 위에서 동작하는 다양한 분석 도구를 개발하고 있다. 분석 도구가 수집한 임상시험 데이터를 어떻게 분석하는지를 시연하기 위해서 의료 영역에 있는 대규모의 잠재 고객large prospect을 대상으로 하는 실험pilot을 계획했다. 이 실험을 진행하기 위해서는 잠재 고객에게 데이터를 얻어야 했다. 이를 통해 CS는 자사의 분석 도구가 잠재 고객과 관련된 실제 데이터에서 작동함을 증명할 수 있다. 즉, 자사의 도구를 이용해 소비자의 데이터상에서 우아한 방식으로 문제를 해결하는 것을 보는 것보다 더 좋은 일은 없다.
첫 번째 어려움은 잠재 고객에게 데이터를 얻기 위해서 CS가 개인 건강 정보를 취급하는 데 적절한 보안과 개인 정보 보호 관행을 갖췄는지 확인하기 위해 감사를 거쳐야 한다는 것이었다. 그러자면 이 프로세스를 완료하는 데 3~4개월은 걸렸을 것이다.
대안은 CS가 잠재 고객의 프라이빗 클라우드에 소프트웨어를 설치한 다음 클라우드상에서 실제 데이터를 사용하는 것이었다. 그러나 규제되는 컴퓨팅 환경에 새로운 소프트웨어를 도입하는 일은 매우 복잡하다. 더욱이 CS 직원에게 내부 컴퓨팅 환경에 접근할 권한을 부여하려면 추가적인 점검과 프로세스가 필요하며, 이 역시 3~4개월이 걸렸을 것이다.
팀은 여러 개의 합성 데이터셋을 만들고 CS에 전달해서 특정 문제를 어떻게 해결할 수 있는지 증명하는 합성 데이터 솔루션에 착수했다. 파일럿 솔루션이 며칠 만에 완성됐다.
기업이 수행한 둘째 프로세스는 대회competition다. 기본적인 아이디어는 해결해야 할 문제를 정의한 다음, 그 문제를 해결하기 위해 다수의 혁신가를 초대하고 그들의 해결책을 증명하기 위해 합성 데이터를 이용하는 것이다. 이 대회는 공개될 수도 있고 공개되지 않을 수도 있다. 공개 대회에는 공공 해커톤이나 데이터톤을 조직하는 등 스타트업 기업, 개인, 기관이 참여할 수 있다. 비공개(폐쇄형) 대회는 특정 혁신가들을 초대해 진행한다.
공공 해커톤이나 데이터톤에 초대된 참가자들은 주어진 문제를 해결하고, 우승한 개인이나 팀에게는 상을 수여한다. 공공 이벤트와 앞에서 기술한 대회의 주요한 차이는 혁신가들이 미리 선정되지 않고 오히려 참여가 더 개방적인 경향이 있다는 점이다. 이런 대회에서 다양성이란 참신한 아이디어가 비교적 짧은 기간 내에 많이 생성되고 평가됨을 의미한다. 합성 데이터는 참가자가 최소한의 제약 조건으로 접근할 수 있는 데이터셋을 제공함으로써 이 상황에서 핵심 조력자가 될 수 있다.
공개 대회의 좋은 예는 헤리티지 헬스 프라이즈Heritage Health Prize(HHP)다(https://www.kaggle.com/c/hhp). HHP는 상금 규모와 참가자들이 사용할 수 있도록 만든 데이터셋 크기로 관심을 끌었다. 2011년부터 2013년까지 열린 대회에서는 합성 데이터의 가용성이 제한돼 비 식별화된 데이터셋을 제공했다. 앞서 지적한 오픈 데이터셋의 비식별화 문제 때문에 보건 관련 대회가 취소되는 경우가 더 많았다. 그러나 현 시점에서는 이런 제한을 계속 유지할 이유가 없다. ‘합성 데이터에 의해 활성화된 데이터톤’에 설명한 대로 이제는 그런 대회를 가능하게 하기 위해 합성 데이터를 사용하고 있다.
실제로 작업할 현실적인 데이터셋이 주어지면 합성 데이터로 좋은 평가를 얻은 방법들 중 극히 일부만이 성공한다. 평가나 경쟁으로 성공을 거두는 혁신가는 실제 데이터에 접근하고, 더 자세히 시연할 프로세스를 검토하기 위해 초대받거나, 회사가 그 시점에서 기술 혁신을 허가하기로 결정할 수도 있다. 그러나 적어도 기술 평가 또는 채택에 많은 비용이 드는 투자는 효과가 있는 혁신을 가지고 있다고 알려진 대상에게만 진행된다.
합성 데이터에 의해 활성화된 데이터톤 비블리-마이크로소프트 데이터 챌린지Vivli-Microsoft Data Challenge(https://bit.ly/2Z5QlhZ)가 2019년 6월 보스턴에서 열렸다. 이 대회는 환자의 프라이버시를 보호하면서 데이터의 분석적 가치를 지닌 방식으로 희귀 질환 데이터셋의 공유를 촉진하는 혁신적인 방법을 제안했다. 희귀 질환 데이터셋은 비교적 적은 수의 환자로 구성되고 데이터셋의 일부 속성만 사용해도 식별할 수 있는 경우가 많았기에 환자의 프라이버시를 유지하면서 데이터를 공유하기가 매우 어려웠다.
이번 행사에는 대학, 병원, 제약, 생명공학, 소프트웨어 기업 등 11개 팀 60여 명이 참가했다. 각 팀은 해결책을 계획하고 제안하는 데 5시간이 걸렸고, 그다음 5분 동안 심사위원들에게 해결책을 발표했다. 이 솔루션은 희귀 질환 데이터셋에 사용하도록 맞춤화된 흥미로운 방법으로 새로운 기술과 종래의 기술을 결합했다. 놀랄 것도 없이, 우승팀은 합성 데이터를 사용해 구축한 솔루션을 제안했다.
값비싼 보안 컴퓨팅 환경이나 그 외 제어 메커니즘을 사용할 필요가 없도록 모든 참가자가 현실적인 임상시험 데이터로 발생할 수 있는 문제를 감수하기로 했기 때문에 합성 데이터는 이 이벤트의 성공에서 매우 중요했다. 합성 데이터가 참가자들에게 그들의 해결책이 수용할 수 있어야 하는 예시 데이터를 제공함으로써 현실에 근접한 대회가 됐다. 솔루션의 데모를 구축한 그룹도 개념 증명으로서 합성 데이터에 자신의 방법을 적용할 수 있었다.
합성 데이터를 많이 사용하는 또 다른 분야는 금융 서비스 산업이다. 그 이유는 금융 산업이 사기 탐지fraud detection, 클레임 처리, 소비자 마케팅과 같은 AIML 기술과 데이터 중심 의사결정의 초기 사용자였기 때문이다. 다음 절에서는 이 분야에서 합성 데이터가 적용된 특정 사례를 검토한다.
1.3 금융 서비스
금융 서비스 산업에서 대량의 과거 시장 데이터historical market data에 접근하는 비용이 클 수 있다. 예를 들어 이 유형의 데이터는 거래 결정trading decision을 돕는 모델의 구축과 그 소프트웨어의 테스트를 위해 필요하다. 또한 내/외부 데이터 분석가들과 개인 금융 정보를 공유해야 하기 때문에 소매 금융 서비스를 마케팅하는 맥락에서 모델 구축에 소비자 금융 거래 데이터를 사용하기는 대량의 데이터 처리 시스템 구축과 비식별화 문제 등으로 쉽지 않다.
다음의 사용 사례는 금융 서비스 산업이 맞닥뜨린 과제를 해결하는 데 합성 데이터가 어떻게 사용돼왔는지 보여준다.
합성 데이터 벤치마크
금융 서비스 기업이 대량의 데이터를 처리할 소프트웨어와 하드웨어를 선택할 때는 시장에서 공급업체와 솔루션을 평가할 필요가 있다. 이를 위해 각 기업이 혁신적 공급업체와 학계의 기술을 하나하나 평가하는 대신 표준화된 데이터 벤치마크를 만드는 것이 일반적이다.
데이터 벤치마크는 데이터셋과 해당 데이터셋에서 수행되는 테스트 집합으로 구성된다. 그다음 공급업체와 학자들은 소프트웨어와 하드웨어로 이 데이터를 입력 자료로 사용해 출력을 생성하고, 이 데이터를 모두 일관된 방식으로 비교할 수 있다. 벤치마크를 만드는 것은 시장이 충분히 크고 관련 협회에서 대표적인 벤치마크를 합의할 수 있는 상황에서 가장 적절할 것이다.
여러 공급업체와 학자들이 동일한 문제의 해결책을 제공하는 경쟁 시나리오에서 벤치마크는 그 누구도 쉽게 시스템을 조작할 수 없게 구축돼야 한다. 표준 입력 데이터셋을 사용하면 분석에 필요한 계산 없이도 정확한 출력을 생성하도록 솔루션을 훈련하거나 구성할 수 있다.
합성 데이터 벤치마크는 동일한 기본 모델에서 생성되지만, 각 공급업체 또는 학계는 해당 모델로부터 생성된 고유하고 구체적인 합성 데이터셋을 받는다.1 그러한 방식으로 벤치마크를 운영하는 각 기업은 그 벤치마크에서 좋은 점수를 얻기 위해 서로 다른 결과를 생성할 필요가 있을 것이다.

1 옮긴이_ 즉, 동일한 모델을 사용하지만, 모델을 실행할 때마다 그 결과는 달라지기 때문에, 합성 데이터셋을 요청한 공급업체 또는 학계는 요청마다 다른 데이터셋을 받게 된다.
예를 들면 금융시장 위험을 모델링하는 데 사용되는 소프트웨어와 하드웨어를 평가하기 위한 STAC-A2 벤치마크(https://www.stacresearch.com/a2)가 있다. 이 벤치마크는 몬테카를로 시뮬레이션을 사용해서 여러 자산에 대한 옵션 가격 민감도를 계산하는 동안 평가되는 산출물의 여러 가지 품질을 측정한다. 데이터를 사용해 일련의 성능/스케일링 테스트를 수행하기도 한다.
금융 서비스 회사가 기술 공급업체를 선정할 때는 비교 가능한 데이터로 실행된 일관된 벤치마크 결과를 사용해서 시장에서의 솔루션을 비교한다. 이는 기업이 자체 평가(비용과 시간이 많이 소요될 수 있음)를 하거나 공급업체별 평가(특정 공급업체에 치우칠 수 있음)에 의존하지 않고 가용 제품의 장단점을 객관적으로 평가하도록 한다.
소프트웨어 테스트
소프트웨어 테스트는 합성 데이터의 전형적인 사용 사례로, 소프트웨어 개발자가 진행한 소프트웨어 애플리케이션의 기능과 성능 실험을 포함한다. 어떤 경우에는 소프트웨어 애플리케이션이 특정 처리량 또는 특정 볼륨에서 수행될 수 있도록 벤치마킹하기 위해 대규모 데이터셋이 필요하다. 테스트 사용 사례가 확장된 사례는 판매 팀에 의해 실행되는 소프트웨어 데모와 소프트웨어 사용자를 실제 데이터에 대해 훈련하기 위한 데이터셋이다.
소프트웨어 테스트는 많은 산업에서 공통적이며, 합성 데이터로 해결되는 문제도 동일할 것이다. 금융 서비스 분야에서는 두 가지 일반적인 사용 사례가 있다. 첫째는 내부 소프트웨어 애플리케이션(가령 부정행위 탐지)을 테스트해서 의도된 기능을 수행하고 버그가 없는지 확인하는 것이다. 이 테스트를 하려면 현실적인 입력 데이터가 필요한데, 이 데이터에는 극한 사례나 비정상적으로 입력이 조합된 데이터가 포함돼야 한다. 둘째는 이러한 애플리케이션이 실제로 맞닥뜨릴 대량의 데이터를 처리하기 위해 성능을 확장할 수 있는지 테스트하는 것이다(가령 자동화된 거래 애플리케이션의 응답시간이 중요하다). 또한 이 테스트는 외부 정책이나 환경 이벤트로 거래량이 급증하는 경우와 같은 비정상적인 상황을 시뮬레이션해야 한다.
대부분의 소프트웨어 엔지니어링 업계에서는 생산 데이터를 얻기가 쉽지 않다. 이는 프라이버시를 우려함은 물론이고 데이터에 비즈니스 기밀 정보가 담기기 때문일 수 있다. 따라서 많은 소프트웨어 개발자들이 데이터를 이용하는 것을 꺼린다. 데모와 훈련을 목적으로 데이터를 이용한다 해도 마찬가지다. 심지어 어떤 경우에는 소프트웨어가 새것인 데다가 그 소프트웨어의 테스팅에 사용할 고객 데이터가 충분하지 않기도 하다.
대안 하나는 생산 데이터를 테스트팀에 제공하기 전에 식별을 해제하는 것이다. 테스트 데이터는 계속해서 필요하기 때문에, 비식별도 연속적으로 실시해야 한다. 연속적인 비식별화의 비용 효과와 합성 데이터의 비용 효과를 고려해야 한다. 그러나 근본적인 문제는 소프트웨어 개발자들이 식별되지 않은 데이터를 다룰 때 갖춰야 할 통제 수준이다. 나중에 알게 되겠지만, 재식별에 대한 위험은 데이터 변환과 보안 및 프라이버시 통제 수준과 혼합돼 관리되고 있다. 소프트웨어 개발 업계는 낮은 통제 수준으로 작업하는 데 익숙하다.
소프트웨어 테스트에 대한 데이터 효용성 수요는 여기서 살펴본 다른 사용 사례에 비해 높지 않다. 이론적 분포에서 합성 데이터를 생성한 다음 테스트에 사용할 수 있다. 다른 접근법으로 공공 데이터셋(개방형 데이터)을 사용하고 이를 여러 번 복제해서 더 큰 테스트 데이터셋을 만들거나 대체 데이터로 다시 샘플링(각 레코드를 한 번 이상 뽑을 수 있도록 데이터셋에서 샘플을 추출)하는 방법도 적용되고 있다.
테스트, 데모, 훈련을 위한 합성 데이터 생성에는 원칙적인 방법이 있다. AIML 모델을 구축하고 테스트할 데이터를 생성할 때 사용하는 접근법과 동일한 방식을 사용해 실제 데이터에서 합성 데이터를 생성하는 것이다. 이 원칙을 따르면 분명 데이터의 통계적 특성이 현실적이고 정확할 것이며(가령 실제 데이터의 희귀 사건이 합성 데이터에서도 드문 사건이 될 것이다), 만약 대규모 합성 데이터셋이 생성된다면 이러한 특성이 유지될 것이다.
다음에 이야기할 산업은 교통이다. 마이크로시뮬레이션 모델을 통한 (교통) 계획을 목적으로 하는 데이터 합성과 자율 주행차의 훈련 모델에 사용할 데이터 합성을 고려할 것이다.
1.4 교통
운송 산업에서 합성 데이터는 수십 년 전부터 사용됐다. 당시에는 데이터가 제한적인 환경에서 교통 인프라를 매우 구체적으로 계획하고 정책을 결정해야 했다. 이런 의사결정을 공식적으로 알리기 위해 마이크로시뮬레이션 모델이 부상했는데, 이것이 바로 여기서 이야기할 첫째 사례다. 둘째 사례는 게임 엔진에 사용되는 경우로, 여기서는 AIML 모델 훈련에 사용되는 가상 환경을 합성하며 그 결과물은 자율 주행차에 내장된다.
마이크로시뮬레이션 모델
마이크로시뮬레이션 환경에서는 사용자가 ‘what-if’ 분석으로 새로운 시나리오를 실행할 수 있다. 이러한 시뮬레이션 환경은 실제 데이터가 전혀 없을 때 긴요하며, 이를 이용해 합성 데이터를 생성해야 한다.
예를 들어 교통 계획 분야에서 다리나 쇼핑몰의 신축과 같이 새로 계획된 기반 시설의 영향을 평가하는 경우, 계획자들은 새 기반 시설의 영향을 받는 여행 수요를 예측하는 모델을 개발하기 위해 합성 데이터를 사용할 수 있다.
이러한 모델이 합성 데이터를 생성할 때 일반적으로 사용하는 접근법은 집계 요약(가령 인구 조사)을 설문조사에서 수집한 샘플 개인 수준 데이터와 결합하는 것이다. 인구 조사 데이터는 일반적으로 가구 구성, 소득, 자녀수와 같은 정보를 제공한다. 총집계 데이터는 일반적으로 전 체 관심 모집단을 포함하지만 필요한 변수를 모두 포함하지는 않을 수 있으며 원하는 세분성granularity 수준에는 포함되지 않을 수 있다. 조사 데이터는 모집단의 표본을 포함하지만 매우 상세하고 광범위한 변수를 가진다.
그런 다음 합성 재구성은 반복 비례 적합iterative proportional fitting(이하 IPF)과 같은 반복적 프로세스를 거쳐 타당하게 집계 요약을 생성하고 샘플 데이터를 시드로 사용하는 합성 개인 수준 데이터를 생성한다. IPF 절차는 얼마 전에 개발됐으며 데이터 합성에는 더 최근에 적용됐다. IPF는 합성에서 불리한 몇 가지 단점(가령 조사 데이터가 희귀한 상황을 다루지 않는)이 있으며 이를 다루기 위해서 조합 최적화combinatorial optimization와 같은 강력한 기법이 개발됐다.
다음 단계는 조사를 통해 수집하거나 개인의 휴대폰에서 직접 수집한 데이터를 사용해 개인의 행동과 움직임을 특징 짓는 것이다. 이 데이터는 개인의 교통수단 선택에 영향을 미치는 요소를 알아내 모델을 구축하는 데 사용한다.
합성 데이터를 모델과 결합함으로써, 다른 시나리오에서 일어날 일을 마이크로시뮬레이션으로 실행할 수 있다. 모델은 일련의 복잡한 행동과 결과를 설명하는 시뮬레이션에서 계단식으로 배치될 수 있다는 점에 유의해야 한다. 예를 들어, 모델은 특정 위치에 새로운 다리나 새로운 쇼핑몰이 건설돼 교통, 대중교통 이용, 자전거 여행, 자동차 이용에 미치는 영향을 분석하여 어떤 결정을 할 수 있는지 알려준다. 이러한 마이크로시뮬레이터는 잘 알려진 역사적 시나리오에서 현실과 일치하는 결과를 제공함으로써 어느 정도 타당함을 검증받을 수 있다. 한편 계획과 정책 수립을 알리기 위해 새로운 시나리오를 시뮬레이션하는 데 사용될 수도 있다.
딥러닝 있다.
자율 주행차를 위한 데이터 합성
자율 주행차의 주된 기능 하나는 물체 식별(https://oreil.ly/GSP7v)이다. 자율 주행차는 센서 데이터를 분석해 차량의 경로와 주변 환경에 있는 물체를 인식한다. 카메라, 라이더 시스템, 레이더 시스템은 주변 물체의 속도와 거리를 결정할 뿐만 아니라 물체 식별을 지원하는 데이터 피드를 제공한다.
합성 데이터는 이러한 신호의 일부를 처리하는 AIML 모델을 훈련하는 데 필수적이다. 실제 데이터는 자율 주행차가 마주칠 수 있는 모든 극한 상황, 예를 들어 동물이 주행 경로로 돌진하거나 직사광선이 카메라 센서를 비추는 경우 등의 희귀하거나 위험한 시나리오는 포착하지 못한다. 게다가 포착한 환경은 고정되어 있으며, 시나리오를 통해 여러 번 실행될 때 시스템 동작의 변화에 대응하지 못한다.
이러한 격차를 해소하는 유일한 방법은 합성 데이터의 활용이다. 사용자 정의 가능한 시나리오를 생성함으로써 엔지니어는 실제 환경을 모델링할 수 있고, 완전히 새로운 환경을 만들 수 있으며, 이를 통해 다양한 행동을 변경하고 대응할 수 있다. 실제 테스트는 검증에는 긴요한 방편이 되지만, 사람이 운전하지 않아도 자동차가 제대로 운전할 수 있음을 증명할 만큼 완벽하지는 않다.
시뮬레이션용 합성 데이터는 비디오 게임이나 다른 가상 세계의 게임 기술을 사용해 생성한다. 첫째, 환경을 조성해야 한다. 환경은 실제 데이터를 사용해서 뉴욕시와 같은 실제 세계의 위치를 복제하거나 완전히 합성한 장소가 될 수 있다. 어느 경우든 환경의 모든 것은 실제 세계와 동일한 물질적 특성(가령 금속이나 아스팔트 표면에서 반사되는 빛)을 정확하게 시뮬레이션해야 한다.
이 정도의 정확성을 갖추면 카메라, 레이더, 라이더 센서의 출력을 시뮬레이션해서 자동차가 주행하는 환경을 보는 방식을 정확하게 재창조할 수 있다. 그러면 자동차의 프로세서는 마치 실제 주행 환경에서 온 것처럼 데이터를 수신하고, 결정을 내리고, 차량 제어 명령을 시뮬레이터로 다시 전송한다. 이 폐쇄 루프 프로세스는 비트단위 정확성bit-accurate과 정확한 타이밍timing- accurate의 하드웨어 루프 내 테스트를 가능하게 한다. 또한 매우 현실적인 조건에서 차량의 기능을 테스트할 수 있다.
물론 루프 내 하드웨어를 테스트하는 데 필요한 컴퓨팅 용량은 상당히 중요할 수 있다. 즉, 자율 주행차의 유효성 검사에 필요한 정확도를 달성하려면 엄청난 계산에 집중해야 할 것이다. 먼저 세밀하게 세계를 생성해야 한다. 그런 다음 센서 출력을 물리적으로 정확한 방법으로 시뮬레이션해야 하며, 이는 시간과 엄청난 양의 컴퓨팅 파워를 요한다.
· · ·
댓글 입력
자료실