Modeling Tabular Data using Conditonal GAN
Abstract
표형 데이터의 확률 분포를 모델링하고 현실적인 합성 데이터를 생성하는 것은 어려운 작업이다. 표형 데이터는 이산형 및 연속형 열이 혼합되어 있으며, 연속형 열은 여러 모드를 가질 수 있고, 이산형 열은 종종 불균형하여 모델링을 어렵게 한다. 기존 통계 모델과 심층 신경망 모델은 이러한 데이터를 적절히 처리하지 못한다. 이를 해결하기 위해 우리는 조건부 생성기를 사용하는 CTGAN을 설계했다. 7개의 시뮬레이션 데이터셋과 8개의 실제 데이터셋을 포함한 벤치마크를 통해 CTGAN의 성능을 평가했으며, 대부분의 실제 데이터셋에서 베이지안 방법보다 우수한 성능을 보였다. 다른 딥러닝 방법들은 이러한 성과를 내지 못했다.
1. Introduction
최근 심층 생성 모델의 발전은 이미지와 텍스트에서 높은 품질의 샘플을 생성할 수 있는 가능성을 열었다. 이러한 가능성은 표형 데이터 생성을 위한 GAN(Generative Adversarial Networks)의 개발을 촉진했다. GAN은 기존 통계 모델보다 더 큰 유연성을 제공한다. CTGAN은 이러한 문제를 해결하기 위해 제안된 조건부 표형 GAN으로, 모드 특정 정규화, 조건부 생성기, 샘플링 학습을 통해 데이터 불균형 문제를 해결한다. CTGAN은 여러 벤치마크 테스트에서 베이지안 네트워크 및 다른 GAN 기반 방법들보다 우수한 성능을 보인다.
2. Related Work
전통적인 접근 방식은 각 열을 랜덤 변수로 간주하여 결합 다변량 분포를 모델링한다. 여기에는 의사 결정 트리, 베이지안 네트워크 및 코풀라가 포함되며, 복잡한 분포를 처리하는 데 한계가 있다. VAEs(Variational Autoencoders) 및 GANs(Generative Adversarial Networks)의 개발은 더 큰 유연성과 성능을 제공한다. medGAN, ehrGAN, tableGAN과 같은 다양한 GAN 기반 모델들이 의료 및 다른 분야에서 개발되어 유망한 결과를 보였으나, 표형 데이터에서는 여전히 도전 과제를 안고 있다.
3. Challenges with GANs in Tabular Data Generation Task
이 섹션에서는 표형 데이터에 GAN을 사용하는 데 있어 고유한 도전 과제를 설명한다:
- 혼합 데이터 유형: 이산형 및 연속형 열을 동시에 생성해야 한다.
- 비정규 분포: 표형 데이터의 연속 값은 종종 비정규 분포를 가지며, 이는 정규화를 복잡하게 만든다.
- 다중 모드 분포: 연속형 열은 여러 모드를 가질 수 있다.
- 희소 원-핫 인코딩 벡터: 이산형 열이 희소 벡터로 표현될 때 문제가 발생한다.
- 불균형 범주형 열: 범주형 열의 높은 불균형은 모드 붕괴와 소수 범주의 불충분한 표현을 유발한다.
4. CTGAN Model
CTGAN 모델은 확인된 문제를 해결하기 위해 여러 기술을 도입한다:
- 모드 특정 정규화: 각 연속 값을 모드와 해당 모드 내의 정규화된 값의 조합으로 나타내어 비정규 및 다중 모드 분포를 처리하는 새로운 정규화 방법이다.
- 조건부 생성기 및 샘플링 학습: 생성기는 이산형 열 값을 조건으로 하여 모든 범주가 훈련 중에 잘 대표되도록 한다. 샘플링 학습 기법은 불균형한 범주형 열을 처리하는 데 도움을 준다.
- 네트워크 구조: 모델은 특정 활성화 함수와 정규화 기술을 사용하여 고품질 합성 행을 생성하는 완전 연결 네트워크를 사용한다.
+ TVAE Model
VAE를 변형하여 tabular data에 사용할 수 있게 함. 훈련할 때에는 ELBO loss를 사용함.
5. Benchmarking Synthetic Data Generation Algorithms
이 섹션에서는 CTGAN을 평가하기 위한 벤치마킹 프레임워크와 데이터셋에 대해 설명한다:
- 베이스라인 및 데이터셋: 벤치마크에는 베이지안 네트워크(CLBN, PrivBN)와 여러 심층 학습 접근 방식(MedGAN, VeeGAN, TableGAN)이 포함된다. 데이터셋에는 UCI 머신러닝 저장소와 Kaggle에서 가져온 7개의 시뮬레이션 데이터셋과 8개의 실제 데이터셋이 포함된다.
- 평가 메트릭 및 프레임워크: 평가에는 두 가지 메트릭이 사용된다: 시뮬레이션 데이터의 우도 적합성과 실제 데이터의 머신러닝 효능. 우도 적합성은 합성 데이터가 훈련 데이터와 동일한 분포를 따르는지 확인하고, 머신러닝 효능은 합성 데이터를 사용하여 훈련된 모델이 실제 테스트 데이터에서 얼마나 잘 수행하는지를 평가한다.
6. Conclusion
논문은 CTGAN이 베이지안 네트워크를 포함한 기존 방법들보다 표형 데이터 분포를 더 잘 모델링함을 강조하면서 결론을 맺는다. 모드 특정 정규화와 조건부 생성기 및 샘플링 학습은 복잡한 표형 데이터를 처리하는 데 있어 크게 기여한다. 저자들은 GAN이 이산형 및 연속형 데이터를 모두 처리할 수 있는 이론적 근거를 제공하는 것을 향후 연구 과제로 제안한다.
CTAB-GAN: Effective Table Data Synthesizing
1. Introduction
이 장에서는 기존의 GAN 기반 테이블 데이터 생성 알고리즘의 한계점을 설명하고, CTAB-GAN의 필요성과 목표를 제시한다. 현재 사용되는 많은 GAN 기반 알고리즘들은 범주형 변수와 연속형 변수를 혼합하여 처리하는 데 어려움을 겪고 있다. 특히 데이터 불균형 문제를 해결하지 못해 생성된 데이터의 품질이 떨어진다. 이 문제를 해결하기 위해 CTAB-GAN은 설계되었다. CTAB-GAN은 혼합형 데이터를 효과적으로 처리하고 데이터 불균형 문제를 해결하기 위한 새로운 접근법을 제시한다.
2. Related Studies
GAN을 이용한 테이블 데이터 생성 연구는 크게 두 가지로 나뉜다: (i) 기본 GAN 기반 생성기와 (ii) 조건부 GAN 기반 생성기.
2.1 기본 GAN 기반 생성기
여러 연구들은 GAN을 확장하여 범주형 변수를 처리하려고 시도했다. 예를 들어, MedGAN은 자동 인코더를 GAN과 결합하여 연속형 및 이산형 변수를 생성할 수 있다. 이는 전자 건강 기록(EHR) 데이터를 생성하는 데 사용되었다. CrGAN-Cnet은 항공 승객 명단 데이터를 생성하기 위해 Cramér 거리와 Cross-Net 아키텍처를 통합했다. TableGAN은 정보 손실과 분류기를 GAN 프레임워크에 도입하여 데이터 생성의 품질을 높였다. 그러나 이러한 알고리즘들은 특정 클래스의 데이터를 생성하는 기능이 부족하며, 프라이버시 문제를 완벽히 해결하지 못한다.
2.2 조건부 GAN 기반 생성기
조건부 벡터를 사용하여 특정 클래스의 데이터를 생성하는 조건부 GAN이 점점 더 많이 사용되고 있다. CW-GAN은 조건부 벡터를 사용하여 소수 클래스를 과대표집하여 데이터 불균형 문제를 해결한다. CTGAN은 PacGAN 구조를 판별기에 통합하고, WGAN 손실 및 그래디언트 패널티를 사용하여 조건부 GAN 프레임워크를 훈련한다. CTGAN은 조건부 벡터를 활용하여 불균형한 범주형 변수 문제를 해결하는 전략을 채택했다.
우리의 논문에서는 연속형 또는 범주형 변수뿐만 아니라 혼합형 데이터 타입(범주형과 연속형 값이 혼합된 변수, 또는 결측값을 포함한 변수)을 모델링하는 데 초점을 맞춘다. 이전 연구의 장점을 효과적으로 결합하고, 긴 꼬리 변수 분포 문제를 해결하기 위해 새로운 조건부 벡터 구조를 제안한다.
3. CTAB-GAN
CTAB-GAN은 기존 알고리즘의 단점을 극복하기 위해 설계된 테이블 데이터 생성기다. 혼합형 인코더를 도입하여 범주형-연속형 혼합 변수와 결측값을 더 잘 표현할 수 있다. CTAB-GAN은 조건부 GAN(CGAN)을 기반으로 하여 소수 클래스를 효율적으로 처리하며, 분류기와 정보 손실을 추가하여 의미적 일관성과 훈련 안정성을 높인다. 마지막으로, 불균형 변수의 모드 붕괴 문제를 해결하기 위해 로그-빈도 샘플러를 활용한다.
3.1 Technical Background
GAN은 원래 이미지 데이터를 생성하는 데 큰 성공을 거두었고, 이후 테이블 데이터로 확장되었다. GAN은 생성기와 판별기 간의 적대적 게임을 통해 현실적인 데이터를 생성한다. 데이터 불균형 문제를 해결하기 위해 조건부 생성기와 샘플링 방법을 활용한다. 조건부 벡터를 사용하여 범주형 변수의 클래스를 나타내고, 이를 통해 소수 클래스의 데이터 학습 기회를 높인다.
생성 품질을 향상시키기 위해 생성기의 손실 함수에 두 가지 추가 항목을 도입한다: 정보 손실과 분류 손실. 정보 손실은 생성된 데이터와 실제 데이터의 통계적 차이를 최소화하고, 분류 손실은 보조 분류기를 추가하여 생성된 데이터의 의미적 일관성을 높인다. 예를 들어, "성별=여성, 질병=전립선암"과 같은 비논리적 기록이 생성되지 않도록 한다.
연속형 변수의 복잡한 분포를 처리하기 위해 모드-특정 정규화 아이디어를 채택하여 각 값을 가우시안 혼합 모델(GMM)에서 나온 값-모드 쌍으로 인코딩한다.
3.2 Design of CTAB-GAN
CTAB-GAN의 구조는 세 가지 블록(생성기, 판별기, 보조 분류기)으로 구성된다. 생성기는 노이즈 벡터와 조건부 벡터를 필요로 하며, 정보 손실과 분류 손실을 통해 생성된 데이터의 통계적 특성과 의미적 일관성을 높인다. 판별기는 생성된 데이터와 실제 데이터를 구분하며, 보조 분류기는 생성된 데이터의 클래스를 예측하여 의미적 일관성을 확인한다.
GAN은 생성기와 판별기 간의 제로섬 미니맥스 게임을 통해 훈련된다. 정보 손실은 생성된 데이터와 실제 데이터의 1차 및 2차 통계(평균 및 표준편차)를 맞추어 통계적 특성을 일치시킨다. 분류 손실은 생성된 데이터의 의미적 일관성을 확인하고, 비논리적 기록에 대해 페널티를 부여한다.
3.3 Mixed-type Encoder
CTAB-GAN은 세 가지 유형의 변수를 구분하여 인코딩한다: 범주형, 연속형, 혼합형. 혼합형 변수는 범주형 값과 연속형 값을 모두 포함하거나 결측값을 포함하는 경우로 정의한다. 새로운 혼합형 인코더를 도입하여 이러한 변수를 효과적으로 처리한다. 이 인코더는 혼합형 변수의 값을 값-모드 쌍으로 인코딩하여 연속형 값과 범주형 값을 모두 효과적으로 처리한다.
4. Experiments
CTAB-GAN의 성능을 다양한 데이터셋에서 실험적으로 평가한다. 기존 모델들과의 비교를 통해 CTAB-GAN의 우수성을 입증한다. 실험 결과, CTAB-GAN은 혼합형 데이터와 데이터 불균형 문제를 효과적으로 해결하며, 생성된 데이터의 품질과 의미적 일관성을 높인다.
5. Conclusion
CTAB-GAN의 주요 기여와 실험 결과를 요약하며, 향후 연구 방향에 대해 논의한다. CTAB-GAN은 혼합형 데이터와 데이터 불균형 문제를 효과적으로 해결하는 새로운 접근법을 제시한다. 이 모델은 다양한 실제 데이터 생성 응용 분야에서 유용하게 활용될 수 있다.
CTAB-GAN+: Enhancing Tabular Data Synthesis
1. Introduction
CTAB-GAN+는 민감한 개인정보 보호를 보장하면서 고품질의 합성 테이블 데이터를 생성하기 위해 설계된 새로운 조건부 테이블 GAN 모델이다. 데이터 공유는 지식 개발에 필수적이지만, 개인정보 보호와 규제 준수 문제로 인해 그 효과가 제한되고 있다. CTAB-GAN+는 이러한 문제를 해결하기 위해 Differential Privacy(DP)와 같은 기술을 활용하여 데이터 보호와 활용성 간의 최적의 균형을 추구한다.
2. Related Work
기존의 테이블 데이터 생성 모델들은 주로 연속형 또는 범주형 데이터만을 대상으로 하며, 혼합형 데이터나 불균형 데이터의 처리에 한계가 있다. 또한, 기존 모델들은 DP를 충분히 고려하지 않아 개인정보 유출 위험이 있다. CTAB-GAN+는 이러한 기존 모델들의 한계를 보완하고, 더욱 안전하고 유용한 합성 데이터를 제공하기 위해 개발되었다.
3. CTAB-GAN+
CTAB-GAN+의 주요 구성 요소는 Generator, Discriminator, 그리고 Auxiliary Component이다. Generator는 데이터의 다양한 특성을 학습하여 새로운 데이터를 생성하며, Discriminator는 실제 데이터와 합성 데이터를 구별하는 역할을 한다. Auxiliary Component는 생성된 데이터의 유용성을 높이기 위해 추가적인 학습 신호를 제공한다.
3.1 Conditional GAN Structure
CTAB-GAN+는 Conditional GAN 구조를 채택하여 다양한 조건에서 데이터 생성이 가능하다. 이 구조는 데이터 불균형 문제를 해결하고, 특정 클래스의 데이터를 더 많이 생성할 수 있는 능력을 제공한다.
3.2 Advanced Feature Encoding
CTAB-GAN+는 연속형, 범주형, 혼합형 변수를 효과적으로 처리하기 위해 새로운 특성 인코딩 방법을 도입한다. 이를 통해 다양한 데이터 타입을 정확하게 모델링할 수 있으며, 특히 불균형 데이터와 결측값 처리에 강점을 가진다.
3.3 Wasserstein Loss with Gradient Penalty
모델의 안정성과 성능을 높이기 위해 Wasserstein Loss with Gradient Penalty(Was+GP)를 사용한다. 이는 GAN의 훈련 과정에서 발생할 수 있는 불안정성을 줄이고, 더욱 일관된 학습을 가능하게 한다.
3.4 Differential Privacy
CTAB-GAN+는 Differential Privacy를 구현하여 민감한 데이터의 보호를 보장한다. DP-SGD(Differentially Private Stochastic Gradient Descent)를 사용하여 학습 과정에서 개인정보 유출을 방지하고, 데이터의 익명성을 유지한다.
4. Experiments
CTAB-GAN+는 다양한 평가 지표를 통해 성능을 평가한다. 이를 위해 7개의 데이터셋(Adult, Covertype, Credit, Intrusion, Loan, Insurance, King)에서 실험을 진행하였다. 이 데이터셋들은 각각 분류 또는 회귀 문제를 포함하고 있으며, 각 데이터셋에 대해 정확도, F1-score, AUC, Mean Absolute Percentage Error(MAPE), Explained Variance Score(EVS), R² Score 등의 평가 지표를 사용하여 모델의 성능을 평가하였다.
4.1 Datasets
각 데이터셋은 특정한 머신러닝 문제를 포함하고 있으며, CTAB-GAN+의 성능을 테스트하기 위해 사용된다. 데이터셋에는 다양한 형태의 변수가 포함되어 있으며, 특히 연속형, 범주형, 혼합형 변수를 다양하게 포함하고 있다.
4.2 Evaluation Metrics
평가 지표는 두 가지 주요 측면에서 모델의 성능을 측정한다:
- Machine Learning Utility: 합성 데이터가 실제 데이터를 얼마나 잘 대체할 수 있는지를 평가하기 위해, 합성 데이터와 실제 데이터를 사용하여 학습된 모델의 성능을 비교한다. 분류 문제의 경우 정확도, F1-score, AUC를 측정하고, 회귀 문제의 경우 MAPE, EVS, R² Score를 측정한다.
- Statistical Similarity: 합성 데이터와 실제 데이터 간의 통계적 유사성을 평가하기 위해, Jensen-Shannon Divergence(JSD), Wasserstein Distance(WD), Diff. Corr(변수 간 상관 관계 차이) 등을 사용한다.
4.3 Results
CTAB-GAN+는 모든 평가 지표에서 기존의 최첨단 모델들보다 뛰어난 성능을 보였다. 특히 분류 문제에서 CTAB-GAN+는 AUC와 정확도에서 각각 56.4%와 41.2%의 개선을 보였다. 회귀 문제에서도 CTAB-GAN+는 다른 모델들보다 높은 예측 정확도를 유지하며 우수한 성능을 나타냈다. 통계적 유사성 측면에서도, CTAB-GAN+는 JSD, WD, Diff. Corr에서 모든 비교 모델을 능가하는 결과를 보였다.
5. Conclusion
CTAB-GAN+는 다양한 유형의 테이블 데이터를 효과적으로 모델링하고, 개인정보 보호와 데이터 활용성 간의 최적의 균형을 제공한다. 이는 특히 금융, 보험, 제조업 등 데이터 공유가 중요한 산업 분야에서 활용될 수 있는 중요한 도구이다. 앞으로의 연구에서는 CTAB-GAN+의 응용 범위를 확장하고, 다양한 데이터셋에서 추가 실험을 통해 성능을 더욱 향상시키는 것이 목표이다.
CTAB-GAN+는 합성 데이터 생성에서의 새로운 가능성을 제시하며, 데이터 공유의 어려움을 해결하는 데 중요한 역할을 할 수 있을 것으로 기대된다.
'DL > Generative Model' 카테고리의 다른 글
[Paper Review] Denoising Diffusion Implicit Models (0) | 2024.07.24 |
---|---|
[Paper Review] Denoising Diffusion Probabilistic Models (0) | 2024.07.16 |
[Paper Review] Auto-Encoding Variational Bayes - VAE (0) | 2024.07.10 |
[Generative Model 스터디] 1주차-2(DDPM+스터디 preivew 영상) (0) | 2024.07.03 |
[Generative Model 스터디] 1주차-1(VAE) (0) | 2024.07.01 |