콘텐츠로 이동

생성 모델 (Generative Models)

개요

생성 모델(Generative Model)은 데이터의 확률 분포를 학습하여 새로운 데이터를 생성하는 모델이다. 이미지 생성(GAN, Diffusion), 텍스트 생성(GPT), 음악 합성 등 다양한 분야에서 활용된다. GAN, VAE, Diffusion Model, 자기회귀 모델, Flow 모델 등 여러 패러다임이 존재하며, 각각 학습 안정성, 생성 품질, 다양성, 속도 면에서 다른 특성을 가진다.


핵심 개념

1. GANs (Generative Adversarial Networks)

Goodfellow et al. (2014)이 제안한 적대적 학습 프레임워크이다.

구조: Generator \(G\) + Discriminator \(D\)

목적 함수 (minimax game): $\(\min_G \max_D \; \mathbb{E}_{x \sim p_{data}}[\log D(x)] + \mathbb{E}_{z \sim p_z}[\log(1 - D(G(z)))]\)$

  • \(D\)는 진짜/가짜를 구별하려 하고, \(G\)\(D\)를 속이려 한다
  • 이상적 균형(Nash equilibrium): \(G\)가 실제 데이터 분포를 완벽히 모사
graph LR
    z["잠재 벡터 z"] --> G["Generator G"]
    G --> fake["생성 이미지"]
    real["실제 이미지"] --> D["Discriminator D"]
    fake --> D
    D --> judge["진짜/가짜 판별"]

    judge -.->|"피드백"| G
    judge -.->|"피드백"| D

문제점과 개선:

문제 설명 해결
Mode Collapse 소수의 샘플만 반복 생성 WGAN, diversity loss
학습 불안정 G와 D의 균형 유지 어려움 WGAN-GP, spectral norm
Vanishing Gradient for G D가 너무 강하면 G에 기울기 전달 안됨 Non-saturating loss

주요 변형: - WGAN: Wasserstein distance 사용 → 학습 안정성 향상 - StyleGAN: 스타일 기반 생성, 고해상도 이미지 - Progressive GAN: 저해상도 → 고해상도로 점진적 학습

2. VAEs (Variational Autoencoders)

Kingma & Welling (2014)이 제안한 확률적 생성 모델이다.

구조: Encoder (인식 모델 \(q(z|x)\)) + Decoder (생성 모델 \(p(x|z)\))

목적 함수 (ELBO, Evidence Lower Bound): $\(\mathcal{L} = \underbrace{\mathbb{E}_{q(z|x)}[\log p(x|z)]}_{\text{재구성 손실}} - \underbrace{D_{KL}(q(z|x) \| p(z))}_{\text{KL 정규화}}\)$

  • 재구성 손실: 입력을 잘 복원하도록 학습
  • KL 정규화: 잠재 분포를 사전 분포 \(p(z) = \mathcal{N}(0, I)\)에 가깝게

Reparameterization Trick: 역전파가 가능하도록 샘플링을 변환한다: $\(z = \mu + \sigma \odot \epsilon, \quad \epsilon \sim \mathcal{N}(0, I)\)$

장점 단점
이론적으로 우아 생성 이미지가 흐릿한 경향
잠재 공간이 구조적 GAN보다 생성 품질 낮음
안정적 학습 KL collapse (후방 붕괴) 문제

변형: \(\beta\)-VAE (disentanglement 강화), VQ-VAE (이산 잠재 변수, 이미지 토큰화)

3. Diffusion Models (확산 모델)

최근 이미지 생성의 주류가 된 모델이다.

핵심 아이디어: 데이터에 점진적으로 노이즈를 추가(forward process)하고, 그 역과정(reverse process)을 학습한다.

Forward Process (노이즈 추가): $\(q(x_t | x_{t-1}) = \mathcal{N}(x_t; \sqrt{1-\beta_t} \, x_{t-1}, \beta_t I)\)$

Reverse Process (노이즈 제거 — 학습 대상): $\(p_\theta(x_{t-1} | x_t) = \mathcal{N}(x_{t-1}; \mu_\theta(x_t, t), \sigma_t^2 I)\)$

graph LR
    x0["x₀<br>(원본)"] -->|"+노이즈"| x1["x₁"]
    x1 -->|"+노이즈"| x2["x₂"]
    x2 -->|"..."| xT["x_T<br>(순수 노이즈)"]

    xT -->|"−노이즈<br>(학습)"| xT1["x_{T-1}"]
    xT1 -->|"−노이즈"| xT2["x_{T-2}"]
    xT2 -->|"..."| x0r["x₀<br>(생성)"]
장점 단점
GAN보다 학습 안정적 생성 속도 느림 (수백~수천 스텝)
높은 생성 품질 계산 비용 높음
높은 다양성 (mode coverage)

주요 발전: - DDPM (Ho et al., 2020): 기본 확산 모델 - DDIM: 비확률적 샘플링으로 속도 향상 - Latent Diffusion (Stable Diffusion): 잠재 공간에서 확산 → 효율성 대폭 향상 - Classifier-Free Guidance: 조건부 생성의 품질-다양성 제어

4. 자기회귀 모델 (Autoregressive Models)

데이터를 조건부 확률의 곱으로 분해하여 순차적으로 생성한다.

\[p(x) = \prod_{i=1}^{n} p(x_i | x_{<i})\]
모델 도메인 특징
PixelCNN 이미지 픽셀별 순차 생성
WaveNet 오디오 샘플별 순차 생성
GPT 텍스트 토큰별 순차 생성
  • 장점: 정확한 likelihood 계산, 안정적 학습
  • 단점: 순차 생성으로 느림

5. Flow 기반 모델 (Flow-based Models)

가역(invertible) 변환의 체인을 통해 단순한 분포를 복잡한 분포로 변환한다.

\[p(x) = p(z) \left|\det \frac{\partial f^{-1}}{\partial x}\right|\]

대표 모델: RealNVP, Glow

  • 장점: 정확한 likelihood 계산, 효율적 샘플링
  • 단점: 아키텍처 제약 (가역성 필요), 파라미터 비효율

상세 내용

생성 모델 종합 비교

특성 GAN VAE Diffusion Autoregressive Flow
학습 안정성 낮음 높음 높음 높음 높음
생성 품질 높음 중간 매우 높음 높음 중간
다양성 낮음 (mode collapse) 높음 높음 높음 높음
생성 속도 매우 빠름 (1 pass) 빠름 느림 느림 빠름
Likelihood 계산 불가 하한(ELBO) 하한 정확 정확
잠재 공간 비구조적 구조적 - - 구조적

Stable Diffusion 아키텍처

  1. 이미지 → 잠재 벡터 (사전 학습된 VAE 인코더)
  2. 잠재 공간에서 확산 (U-Net + Cross-Attention)
  3. 잠재 벡터 → 이미지 (VAE 디코더)

텍스트 조건은 CLIP 텍스트 인코더로 임베딩하여, U-Net의 Cross-Attention에 입력한다.


언제 사용하는가

과제 추천 모델 이유
고품질 이미지 생성 Diffusion 최고 품질, 다양성
실시간 이미지 생성 GAN 빠른 생성 속도
텍스트 생성 Autoregressive (GPT) 자연스러운 순차 생성
이미지 편집 Diffusion (SDEdit) 유연한 조건부 생성
잠재 공간 탐색 VAE 구조적 잠재 공간
이미지 토큰화 VQ-VAE 이산 표현 학습
정확한 밀도 추정 Flow / Autoregressive likelihood 계산 가능

흔한 오해와 함정

  1. "GAN이 항상 최고 품질": 2020년대 이후 Diffusion Model이 이미지 생성 품질에서 GAN을 넘어섰다. GAN은 속도 면에서 여전히 유리하다.

  2. VAE의 흐릿한 이미지가 불가피하다: VQ-VAE와 같은 변형은 이산 잠재 변수를 사용하여 선명한 이미지를 생성할 수 있다.

  3. Diffusion Model이 너무 느려 실용적이지 않다: DDIM, Latent Diffusion, Consistency Model 등의 발전으로 수십 스텝 이하로 생성이 가능해졌다.

  4. GAN 학습의 불안정성을 무시: GAN 학습에는 세심한 하이퍼파라미터 튜닝이 필요하다. Generator와 Discriminator의 학습 속도 균형, gradient penalty 등이 중요하다.

  5. 생성 모델의 윤리적 측면 무시: 딥페이크, 저작권 침해 등의 윤리적 문제를 반드시 고려해야 한다.


다른 주제와의 연결