GAN은 왜 그토록 불안정한가
Minimax 정식화부터 JSD 환원, Mode Collapse의 수학적 원인, Wasserstein 거리, Spectral Normalization까지 — GAN 훈련 불안정성의 뿌리를 추적한다.
Goodfellow 2014 의 GAN 은 단순하고 우아하다. Generator 와 Discriminator 가 서로를 이기려는 게임을 하면서 데이터 분포를 학습한다. 이론은 깔끔하게 라는 유일한 Nash equilibrium 으로 수렴한다. 그런데 왜 실전 GAN 은 그토록 자주 무너지는가?
Minimax 의 수학적 구조
GAN 의 목적함수는 다음 minimax 게임이다.
Fixed 에 대해 이 objective 를 최대화하는 optimal discriminator 는 closed-form 으로 존재한다.
Fixed (따라서 fixed ) 에 대해 를 최대화하는 discriminator 는 다음과 같다.
. 각 에서 integrand 를 에 대해 미분하여 0 으로 놓으면 .
everywhere 는 일 때만 가능하다 — Discriminator 가 진짜와 가짜를 구별하지 못하는 상태. 이것이 이론적 equilibrium 이다.
JSD 환원 — 아름답지만 위험한 이유
를 에 대입하면 놀라운 등식이 나온다.
여기서 , . GAN 이 Jensen-Shannon Divergence 의 최소화와 정확히 동치임을 보여준다. , 이므로 최솟값 는 일 때 유일하게 도달한다.
그런데 JSD 에는 치명적인 성질이 있다.
와 의 support 가 disjoint 이면 (상수). 이때 — generator 의 학습이 멈춘다.
훈련 초기에 random generator 는 데이터 분포와 support 가 거의 겹치지 않는다. JSD 가 포화되고 gradient 는 사라진다. 이것이 GAN 훈련 불안정성의 첫 번째 수학적 뿌리다.
Mode Collapse — Reverse KL 이 만드는 함정
Generator 의 non-saturating loss 는 saturating loss 의 초기 gradient 문제를 해결한다. 그러나 optimal 를 대입하면 다음 등식이 성립한다.
는 reverse KL 이다. 이 발산의 성질은 비대칭적이다.
- 이지만 : 페널티 없음 (missing mode 허용)
- 이지만 : 무한 페널티
결과적으로 는 의 high-density 영역 일부에만 집중하는 mode-seeking 전략이 최적이 된다. MNIST 10개 숫자 중 2개만 완벽히 생성해도 generator loss 가 낮을 수 있다. 이것이 mode collapse 의 수학적 원인이다.
Wasserstein 거리 — 포화를 우회하는 지도
Arjovsky 2017 의 WGAN 은 JSD 를 Wasserstein-1 거리 로 교체한다.
흙더미를 한 분포에서 다른 분포로 옮기는 최소 비용 — Earth Mover’s Distance. 두 점 분포 , 에서 (상수) 이지만 (거리에 비례). Support 가 disjoint 여도 informative gradient 가 살아있다.
직접 계산은 어렵지만 Kantorovich-Rubinstein duality 로 우회한다.
1-Lipschitz 함수 (WGAN 의 critic) 로 supremum 을 추정하면 된다. 이 1-Lipschitz 제약을 어떻게 강제하느냐가 WGAN → WGAN-GP → Spectral Norm 으로 이어지는 발전의 핵심이다.
Weight clipping (WGAN): 구현 단순하지만 critic capacity 를 강하게 제한하고 weight 가 경계에 모이는 pathology 발생. Gradient Penalty (WGAN-GP): tight 1-Lipschitz 이지만 gradient of gradient 로 2배 backward 비용. Spectral Normalization: per-layer architecture 제약, cheap 하지만 conservative upper bound.
Spectral Normalization — 구조 자체가 제약
Miyato 2018 의 Spectral Normalization (SN) 은 1-Lipschitz 를 loss term 이 아닌 architecture 수준 에서 강제한다.
각 weight 의 spectral norm:
로 정규화하면 . ReLU/LeakyReLU 처럼 1-Lipschitz 활성화와 결합하면 전체 네트워크가 1-Lipschitz 로 bound 된다.
의 정확한 계산은 SVD 가 필요하지만, power iteration 으로 per-step 1회만 수행해도 충분히 정확하다.
# 1회 power iteration
v = (W.T @ u); v = v / v.norm()
u = (W @ v); u = u / u.norm()
sigma = u @ W @ v
W_normalized = W / sigma
, 를 buffer 로 저장하고 매 step 업데이트하면 SVD 없이 online 으로 를 추적한다. BigGAN, SAGAN, StyleGAN2 가 SN 을 표준으로 채택한 이유다.
정리
GAN 의 불안정성은 단일 버그가 아니라 수학적 구조에서 나오는 필연이다.
- Minimax 의 Nash equilibrium 은 이론적으로 유일하지만, non-convex NN 에서 alternating SGD 는 oscillation 하거나 saddle 근처에 갇힌다.
- JSD 는 disjoint support 에서 포화되어 gradient 를 죽인다 — 훈련 초기에 가장 치명적이다.
- Non-saturating loss 의 reverse KL 성향이 mode collapse 를 유도한다 — sharp sample 의 대가다.
- Wasserstein 거리는 포화 없이 informative gradient 를 보존하지만, 1-Lipschitz 강제의 비용이 따른다.
- Spectral Normalization 은 그 비용을 architecture 로 흡수해 modern GAN 의 default 가 됐다.
GAN 의 역사는 하나의 목적함수에서 출발해 수학적 한계를 하나씩 발견하고 우회하는 과정이다. 다음 글에서는 이 한계를 근본적으로 다른 방식으로 해결하는 Diffusion Model 의 forward/reverse process 를 추적한다.