DCGAN 논문 링크: 1511.06434
Cycle GAN 논문 링크: 1703.10593
LSGAN 논문 링크: 1611.04076
OUTTA 논문 리뷰 링크: [2024-2] 조환희 - DCGAN, Cycle GAN, LSGAN
[2024-2] 조환희 - DCGAN, Cycle GAN, LSGAN
1. DCGANGAN 시리즈의 2번째 논문, DCGAN다. 기존의 GAN은 학습이 불안정하다는 문제가 있었다. 터무니 없는 데이터를 생성하기도 하고, Mode collapse 문제가 발생하기도 했다. DCGAN은 이러한 문제를 해
blog.outta.ai
1. Deep Convolutional Generative Adversarial Networks (DCGAN)
- 목적: GAN에 convolutional layer를 도입하여 안정적인 학습과 고품질의 이미지 생성을 목표로 함.
- 아키텍처:
- Generator:
- Fully connected layer 제거.
- Fractionally-strided convolutional layer 사용으로 deconvolution 수행.
- Batch normalization 적용하여 학습 안정성 증가.
- ReLU 활성화 함수 사용.
- Discriminator:
- Fully connected layer 제거.
- Convolutional layer로 특징 학습.
- Leaky ReLU 활성화 함수 사용.
- Generator:
- 주요 특징:
- Fully connected layer 제거를 통한 학습 효율성 증가.
- Stable training과 better feature representation 제공.
2. Cycle-Consistent Adversarial Networks (CycleGAN)
- 목적: Unpaired image-to-image translation 문제 해결.
- Cycle Consistency Loss:
- Forward consistency: $$x \to G(x) \to F(G(x)) \approx x$$
- Backward consistency: $$y \to F(y) \to G(F(y)) \approx y$$
- 아키텍처:
- Generator:
- Residual block 기반의 CNN 사용.
- Instance normalization 적용.
- Discriminator:
- PatchGAN 구조 사용으로 패치 단위에서 진위 판별.
- Generator:
- 장점:
- Pair data 없이 두 도메인 간의 변환 가능.
- Adversarial loss와 Cycle Consistency loss 결합으로 mode collapse 방지.
3. Least Squares Generative Adversarial Networks (LSGAN)
- 목적: GAN의 학습 불안정성 해결 및 품질 향상.
- 손실 함수:
- 기존의 Sigmoid Cross-Entropy 대신 Least Squares Loss를 사용.
- 장점:
- Vanishing gradient 문제 감소.
- 샘플이 decision boundary에 가까워지도록 유도.
- 아키텍처:
- Generator:
- Deconvolution layer 사용.
- Batch normalization으로 학습 안정성 향상.
- Discriminator:
- Convolutional layer로 특징 학습.
- Sigmoid 대신 regression 기반의 score 출력.
- Generator:
- 수식:
- Discriminator: $$V_{D}(D) = \frac{1}{2} \mathbb{E}_{x \sim p_{data}(x)} [(D(x) - b)^2] + \frac{1}{2} \mathbb{E}_{z \sim p_{z}(z)} [(D(G(z)) - a)^2]$$
- Generator: $$V_{G}(G) = \frac{1}{2} \mathbb{E}_{z \sim p_{z}(z)} [(D(G(z)) - c)^2]$$
- $a, b, c$: 레이블 값.
4. PGGAN (Progressive Growing GAN)
- 핵심 아이디어:
- 저해상도 이미지를 먼저 생성한 후, 점진적으로 해상도를 증가시키는 방식으로 고해상도 이미지를 생성.
- 배경:
- 2018년 GAN의 주요 한계:
- 고해상도 데이터 생성이 어려움.
- 학습 불안정성.
- 저해상도에서만 좋은 성능.
- 기존 생성 모델의 비교:
- Variational Autoencoder (VAE): 학습이 용이하지만 흐릿한 이미지 생성.
- GAN: Sharp한 이미지 생성 가능하지만 학습 불안정.
- Autoregressive Models: 선명한 이미지를 생성하지만 확장성 부족.
- 2018년 GAN의 주요 한계:
- PGGAN의 기여:
- Generator와 Discriminator의 해상도를 점진적으로 증가시키며 학습 안정성 확보.
- 큰 구조 생성 후 세부 디테일을 추가하는 방식으로 고해상도 이미지 생성.
- 장점:
- 학습 안정성과 고해상도 이미지 품질 모두 개선.
- 점진적 학습으로 메모리와 계산 효율성 증대.
5. StyleGAN
- 핵심 아이디어:
- PGGAN 구조에 Style Transfer를 결합하여 각 스케일별로 스타일 제어를 가능하게 함.
- Disentangled Latent Space:
- PGGAN의 Latent Space는 특징이 얽혀 있어(Entangled), 조정이 어려움.
- StyleGAN은 Latent Space를 Disentangled 구조로 설계하여 특정 특징(Style)을 독립적으로 제어 가능.
- Style Control (Style Mixing):
- 여러 레이어를 스케일(Coarse, Middle, Fine)별로 나누어 특징을 제어.
- Coarse: 큰 특징 (성별, 포즈 등).
- Middle: 중간 크기 특징 (머리 모양, 눈 모양 등).
- Fine: 작은 디테일 (머리색, 피부톤 등).
- Noise Injection:
- 각 레이어에 노이즈를 추가하여 세부 디테일 강화.
- Fine 또는 Coarse 레이어에만 노이즈를 적용하여 특정 특징만 변경 가능.
- 장점:
- 스타일 제어가 가능해 다양한 변형 이미지를 생성.
- Disentangled Latent Space 설계로 학습과 제어 모두 용이.
DCGAN vs CycleGAN vs LSGAN 비교
특징 | DCGAN | CycleGAN | LSGAN |
목적 | 안정적인 GAN 학습 | Unpaired 도메인 변환 | 학습 안정성과 품질 개선 |
Generator | Fractionally-strided convolution 사용 | Residual block 기반 CNN | Deconvolution 사용 |
Discriminator | Convolution layer, Leaky ReLU | PatchGAN 사용 | Least Squares Loss 사용 |
핵심 손실 | Adversarial loss | Cycle Consistency + Adversarial loss | Least Squares Loss |
PGGAN vs StyleGAN 비교
특징 | PGGAN | StyleGAN |
주요 기여 | 저해상도 → 고해상도로 점진적 성장 | Disentangled Latent Space 설계. |
Latent Space 특징 | Entangled | Disentangled |
Style Control | 불가능 | 가능 (Coarse, Middle, Fine) |
Noise Injection | 없음 | 특정 레이어에만 노이즈 추가 가능 |
이미지 품질 | 고해상도 이미지 생성 가능. | 고품질 이미지 생성 + 세부 제어 가능. |
결론
세 모델 모두 GAN의 발전을 이끄는 중요한 연구로, 각각의 강점을 활용한 다양한 응용 가능성을 제시.
- DCGAN:안정적인 GAN 학습을 위한 기초 제공.
- CycleGAN: Pair 없이 이미지 변환 가능성을 열었음.
- LSGAN: 품질과 학습 안정성을 향상시키며, GAN의 한계를 극복.
- PGGAN: GAN의 고해상도 이미지 생성 문제를 해결하며 고품질 학습 안정성을 제공.
- StyleGAN: PGGAN의 한계를 극복하여 스타일 제어와 디테일 생성에서 혁신적인 도약.