본 리뷰는 한빛미디어의 "나는 리뷰어다"를 통해 도서를 제공받았고 어떠한 피드백 가이드나
금전적인 지원을 받지 않았음을 알립니다.
본 책을 펼치면서 다음과 같은 의문점을 해결할 기대감에 찼습니다.
1. 합성 데이터이지만 실제 데이터 같은 특성을 가진 데이터 합성 방법
2. 합성 데이터의 평가 방법
3. 데이터 합성에 관한 이론적, 법적 대응책
3가지 의문점에 대해 흡족한 기분으로 책을 덮진 못했습니다.
하지만 각 사항에 대해 참고사항이 될 법한 정보를 찾긴 했습니다.
1. 합성 데이터이지만 실제 데이터 같은 특성을 가진 데이터 합성 방법
모호한 부분이 있는 의문점이긴 합니다.
<실제 데이터 같은 특성> 이라는 것이 어떻게 정의를 해야할지 부터가
각자 처해있는 도메인과 데이터에 따라 다르다 생각합니다.
결국 데이터의 생성과 생성된 데이터가 잘 만들어졌는지에 대한 평가를 하기 위해서는
정량적 기준을 잡아야 자동화를 할 것이기 때문입니다.
그리고 그런 정량적 기준이 잡힌다는 것은 곧 의문점의 해결과도 동일한 의미라 생각했습니다.
예를 들어서, 방화벽 로그를 파싱하여 정량화 한 데이터가 있는데
각 요청들이 정상인지 악의적 요청인지를 자동으로 판단하게 하는 모델링을 하고자 합니다.
여기서 잘 만들어진 데이터 라고 한다면, 목표인 정상/악성 요청의 분류 문제를 푸는 모델링을 한다 했을 때
어떤 모델인지는 모르겠지만 이 모델의 성능 수치가 합성데이터로 학습하고 실제 데이터를 예측하게 했을 때,
일정 수치 이상만큼 나온다면 이 합성 데이터는 괜찮다~ 라고 생각할 수 도 있을 텐데요.
이런 계획이 잡힌다면 생성과 검증의 파이프라인을 구축하는데에는 큰 어려움은 없을 것입니다.
하지만 여러 가지 이유로 인해 정상/악성의 기준도 데이터만으로는 모호한 사항이라면
데이터의 스키마를 재정비해야하는 문제도 있겠지요.
"실제 데이터 같은 특성" 이란 것을 칼럼 당 분포의 유사함이라고 정의할 수 있다면
분포 추정 후, 샘플링도 한가지 방법이겠죠.
2. 합성 데이터의 평가 방법
이 부분에서 제가 얻었던 것은 정량적 평가를 위해 통계적 방법인
카이스퀘어, 콜모고로프-스미르노프(KS) 테스트가 쓰일 수 있고
KS테스트를 쓸 때엔 희소한 데이터 구간에 신경을 써야한다는 것.
과적합에 대응하기위해 서브샘플링 / 홀드아웃 테스트를 통해 적합도를 테스트해보는 것.
머신러닝 모델의 과적합을 방지하기 위해 training - validation 데이터셋을 통해
overfitting 정도 및 절충점을 찾는 것과 유사하구나 느꼈던 것.
데이터 합성의 평가 뿐 아니라, 실용적으로는 데이터 합성 작업의 부하 또한 평가도 필요하고
대개 어떤 지표를 쓰는지, 주관적인 평가는 어떻게 접근가능한지 도 참고가 되었습니다.
3. 데이터 합성에 관한 이론적, 법적 대응책
실제 업무를 하면서 당연하게도 각 고객사의 데이터는 소중하고 개인정보를 담은 데이터는
절대 외부로 반출되어선 안되는 상황을 접합니다.
이런 규정을 위반하지 않으면서도 각 고객사 별로 데이터의 특성을 잘 보존하고 생성할 수 있는 방안이 있다면
비즈니스 적으로 상당히 유의미 하다 생각했습니다.
제가 접한 상황은 데이터는 각 고객사마다 다른 분포를 가지고 각각의 특성이 있다는 것입니다.
완벽히 빈칸에 딱 들어가는 블럭조각 같은 정보는 없었지만 많은 힌트를 얻고 시도해볼만한 가치가 있는
정보를 얻었습니다.
데이터의 부족과 concept drift가 자주 발생하는 데이터 특성을 지니셔서
데이터 합성을 고민하시는 개발자 시라면 일독을 권합니다.
바로바로 쓸 만한 정보나 시도해볼 코드는 없지만 이런 방식을 시도해보면 좋겠다는 힌트를 얻으실 수 있으리라 생각합니다.