생성 모델 (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)¶
데이터를 조건부 확률의 곱으로 분해하여 순차적으로 생성한다.
| 모델 | 도메인 | 특징 |
|---|---|---|
| PixelCNN | 이미지 | 픽셀별 순차 생성 |
| WaveNet | 오디오 | 샘플별 순차 생성 |
| GPT | 텍스트 | 토큰별 순차 생성 |
- 장점: 정확한 likelihood 계산, 안정적 학습
- 단점: 순차 생성으로 느림
5. Flow 기반 모델 (Flow-based Models)¶
가역(invertible) 변환의 체인을 통해 단순한 분포를 복잡한 분포로 변환한다.
대표 모델: RealNVP, Glow
- 장점: 정확한 likelihood 계산, 효율적 샘플링
- 단점: 아키텍처 제약 (가역성 필요), 파라미터 비효율
상세 내용¶
생성 모델 종합 비교¶
| 특성 | GAN | VAE | Diffusion | Autoregressive | Flow |
|---|---|---|---|---|---|
| 학습 안정성 | 낮음 | 높음 | 높음 | 높음 | 높음 |
| 생성 품질 | 높음 | 중간 | 매우 높음 | 높음 | 중간 |
| 다양성 | 낮음 (mode collapse) | 높음 | 높음 | 높음 | 높음 |
| 생성 속도 | 매우 빠름 (1 pass) | 빠름 | 느림 | 느림 | 빠름 |
| Likelihood | 계산 불가 | 하한(ELBO) | 하한 | 정확 | 정확 |
| 잠재 공간 | 비구조적 | 구조적 | - | - | 구조적 |
Stable Diffusion 아키텍처¶
- 이미지 → 잠재 벡터 (사전 학습된 VAE 인코더)
- 잠재 공간에서 확산 (U-Net + Cross-Attention)
- 잠재 벡터 → 이미지 (VAE 디코더)
텍스트 조건은 CLIP 텍스트 인코더로 임베딩하여, U-Net의 Cross-Attention에 입력한다.
언제 사용하는가¶
| 과제 | 추천 모델 | 이유 |
|---|---|---|
| 고품질 이미지 생성 | Diffusion | 최고 품질, 다양성 |
| 실시간 이미지 생성 | GAN | 빠른 생성 속도 |
| 텍스트 생성 | Autoregressive (GPT) | 자연스러운 순차 생성 |
| 이미지 편집 | Diffusion (SDEdit) | 유연한 조건부 생성 |
| 잠재 공간 탐색 | VAE | 구조적 잠재 공간 |
| 이미지 토큰화 | VQ-VAE | 이산 표현 학습 |
| 정확한 밀도 추정 | Flow / Autoregressive | likelihood 계산 가능 |
흔한 오해와 함정¶
-
"GAN이 항상 최고 품질": 2020년대 이후 Diffusion Model이 이미지 생성 품질에서 GAN을 넘어섰다. GAN은 속도 면에서 여전히 유리하다.
-
VAE의 흐릿한 이미지가 불가피하다: VQ-VAE와 같은 변형은 이산 잠재 변수를 사용하여 선명한 이미지를 생성할 수 있다.
-
Diffusion Model이 너무 느려 실용적이지 않다: DDIM, Latent Diffusion, Consistency Model 등의 발전으로 수십 스텝 이하로 생성이 가능해졌다.
-
GAN 학습의 불안정성을 무시: GAN 학습에는 세심한 하이퍼파라미터 튜닝이 필요하다. Generator와 Discriminator의 학습 속도 균형, gradient penalty 등이 중요하다.
-
생성 모델의 윤리적 측면 무시: 딥페이크, 저작권 침해 등의 윤리적 문제를 반드시 고려해야 한다.
다른 주제와의 연결¶
- CNN: GAN의 Generator/Discriminator, U-Net
- 어텐션 메커니즘: Diffusion의 Cross-Attention
- Transformer: Autoregressive 생성 (GPT), DiT
- 전이 학습: 사전 학습된 생성 모델의 fine-tuning
- LLM: 자기회귀 언어 모델
- Self-Supervised Learning: MAE (VAE의 변형)
- 윤리적 AI: 생성 모델의 악용 가능성
- 데이터 증강: 생성 모델을 활용한 데이터 증강