본문 바로가기
Paper Review/Tabular Data

[논문 리뷰] CTGAN: Modeling Tabular Data Using Conditional GAN

by kongshin 2025. 3. 21.

[논문]


  • CTGAN, TVAE는 대표적인 synthetic data를 생성하는 deep generative model
  • GTGAN, TVAE 모두 “Modeling Tabular Data Using Conditional GAN [2019]”에서 소개됨

 

Tabular data challenges

  1. discrete, continuous column들을 동시에 생성하기 어려움
    •   discrete column에는 softmax, continuous column에는 tanh
  2. 각 column의 값이 multi-modal non-Gaussian values
    •   non-gaussian: [-1, 1] normalize 어려움 → tanh 이용시 gradient vanishing problem 발생
    •   multi-modal: 특정 mode만 생성하는 mode collapse 발생
  3. categorical columns에서 높은 imbalanced class problem
    •   major한 class만 생성하는 mode collapse 발생

⇒ 이를 해결하기 위해 추가적인 전처리 과정 필요

  • Mode-specific normalization ⇒ non-Gaussian & multimodal distribution 해결
  • Conditional generator, Training-by-sampling ⇒ imbalanced discrete columns 해결
    • CTGAN에 적용, 하지만 TVAE에는 적용 X

 

Mode-specific Normalization

  • 각 continuous column을 독립적으로 normalization
  • 각 value → mode의 위치를 나타내는 one-hot vector & normalized value의 scalar

processing step

  • Variational Gaussian mixture model(VGM)을 이용하여 mode의 개수($m_i$) estimate & Gaussian mixture model에 fit
  • 학습된 Gaussian mixutre model
  • $P_{C_i}(C_{i,j}) = \sum_{k=1}^{m_i}\mu_kN(\eta_k,\phi_k)$, $C_i$: $i^{th}$ column, $\mu_k$: $k^{th}$ weight, $\eta_k$: $k^{th}$ mode\

  • 각 mode의 probability density 계산
  • $p_k = \mu_kN(\eta_k, \phi_k)$, k = 1, … , $m_i$

  • mode들 중 한개를 sample하여 normalization 후 $c_{i,j}$ ⇒ $\alpha_{i,j}, \beta_{i,j}$로 변환

 

Conditional vector, Training-by-sampling

  • discrete한 column 중 $D_i$ 1개 randomly select ⇒ $D_i$의 category 중 log frequency ratio를 이용하여 1개 select
  • select된 category를 이용하여 conditional vector 생성 후, Generator에 input
  • real data 중 condition에 만족하는 row를 train data로 설정하여 학습 진행 (Training-by-sampling)

⇒ Only CTGAN

 

TVAE

[Row data Transform]

  • encoder의 input $r_j$의 dimension: 2$N_c$ + $N_d$
  • decoder의 input: z ~ $N_{|z|}$($\mu$, $\sigma$I)
  • encoder, decoder 모두 fully-connected hidden layers 적용 ⇒ column들의 correlations capture 용이

 

VAE

[논문 리뷰] VDM survey: Understanding diffusion models: A Unified Perspective (1)

 

[논문 리뷰] VDM survey: Understanding diffusion models: A Unified Perspective (1)

Diffusion model 공부를 시작할 때, 관련 논문을 먼저 보는 것보다 해당 survey논문을 보는 것이 이해하기 편했음해당 논문은 Class conditional diffusion model까지 수식적으로 잘 정리되어 있는 논문해당 논

kongshin00.tistory.com

 

VAE structure

  • Encoder: x (data) → z (latent variable) convert하는 $q_{\phi}(z|x)$ 학습
  • Decoder: z (latent variable)→ x (reconstruced data) convert하는 $p_{\theta}(x|z)$ 학습

 

  • Likelihood-based generative model 중 하나
  • Log-likelihood $log(p(x))$를 maximize하는 방향으로 parameter($\phi$, $\theta$)를 update

⇒ 실제 data의 distribution을 알 수 없기 때문에 ELBO를 maximize

 

ELBO

  • A lower bound of the evidence , evidence = $logp(x)$

⇒ Maximized ELBO = Maximized likelihood