[논문 리뷰] The GAN is dead; long live the GAN! A Modern Baseline GAN

lit·2025년 1월 12일

느낀점

  • 역시 논문 제목은 이렇게 써야...
  • GAN 학습시에 loss가 튀는 경우가 굉장히 많았는데 다루기 힘든 친구였음
  • 여전히 성능이 diffusion보다 안 좋은 거 같고 이를 이런 복합적인 해결책과 동시에 잡을 수 있을지 의문
  • 실제와 가짜 데이터 동시에 패널티를 주어 학습 안정화를 시키는 부분이 인상적

Abstract

GAN은 훈련하기 어렵다는 주장과 GAN 아키텍처가 empirical tricks으로 가득 차 있다는 주장이 널리 퍼져 있습니다.
우리는 이러한 주장에 반대되는 증거를 제시하면서 현대적인 GAN 모델을 구축합니다.

임시방편적으로 해결했던 mode dropping과 non-convergence 문제를 해결하기 위해 relativistic GAN loss을 사용합니다.
loss를 수학적으로 분석하고 대부분의 realative loss와 달리 local convergence 보장을 제공한다는 것을 확인합니다.

모든 empirical tricks을 제거하고 기존 GAN에서 사용되던 backbone을 현대적인 아키텍처로 대체할 수 있게 합니다.
StyleGAN2를 간소화와 현대화를 위한 로드맵을 제시하며 이를 통해 R3GAN(“Re-GAN”)을 개발했습니다.
간단함에도 불구하고 FFHQ, ImageNet, CIFAR, Stacked MNIST 데이터셋에서 StyleGAN2를 능가하며 최신 GAN 및 diffusion models과도 유리하게 비교됩니다.

Introduction

GAN은 한 번의 Forward Pass를 통해 고품질 이미지를 생성할 수 있습니다.
하지만 기존의 목적 함수는 minimax 특성 때문에 최적화하기가 매우 어렵습니다.

불안정성으로 인해 언제든 발산할 수 있으면 생성된 이미지가 mode collapse를 통해 다양성을 잃을 수도 있습니다.
GAN 목적 함수의 발전은 있었지만 실질적으로 취약한 손실 함수의 영향을 여전히 자주 체감할 수 있습니다.

불안정성과 부분적으로 연관된 문제로 StyleGAN과 같은 기존의 인기 있는 GAN backbone은 많은 empirical tricks들이 존재합니다.
예를 들어, StyleGAN은 안정성을 높이기 위해 gradient penalized를 적용한 non-saturating loss을 사용하면서도 샘플 다양성을 높이기 위해 minibatch standard deviation trick을 활용합니다.

하지만 트릭을 제거하면 StyleGAN은 여전히 2015년의 DCGAN과 유사하며 이는 GigaGAN 및 StyleGAN-T와 같은 최신 GAN에서도 일반적인 백본으로 사용됩니다.

target function의 발전을 regularized training loss로 결합함으로써 GAN 훈련의 안정성이 개선되고 이를 통해 현대적인 백본으로 업그레이드할 수 있음을 보여줍니다.
RpGAN에 zero-centered gradient penalties를 추가하여 안정성을 높이는 새로운 목적 함수를 제안합니다.

수학적으로 gradient-penalized 가 적용된 RpGAN이 기존 정규화된 클래식 GAN과 local convergence 보장을 제공하며 정규화 스킴을 제거하면 비수렴non-convergence이 발생한다는 것을 증명합니다.

StyleGAN의 모든 기능을 제거하고 필수적인 요소를 식별한 후 최신 ConvNet 및 트랜스포머에서 새로운 아키텍처 디자인을 차용했습니다.
적절한 ResNet 설계, 초기화, 리샘플링, grouped convolution, no normalization 접근법이 중요하다는 것을 발견했습니다.
StyleGAN보다 단순한 설계를 가지면서도 동일한 네트워크 용량에서 FID 성능이 향상된 결과를 얻을 수 있었습니다.

Serving Two Masters: Stability and Diversity with RpGAN +R1 + R2

GAN의 목적 함수를 정의할 때 두 가지 주요 과제인 안정성과 다양성에 직면합니다.
기존 연구 중 일부는 안정성에 중점을 두었고 다른 연구는 mode collapse 문제 를 다루었습니다.
우리는 이 두 문제 동시에 개선하기 위해 정규화를 안정적인 방법과 결합합니다.

Traditional GAN

전통적인 GAN은 판별기 DψD_\psi와 생성기 GθG_\theta 간의 미니맥스 게임으로 정의됩니다.
실제 데이터 xpDx \sim p_DGθG_\theta가 생성한 가짜 데이터 xpθx \sim p_\theta가 주어졌을 때 가장 일반적인 GAN의 형태는 다음과 같이 표현됩니다:

L(θ,ψ)=Ezpz[f(Dψ(Gθ(z)))]+ExpD[f(Dψ(x))]L(\theta, \psi) = \mathbb{E}{z \sim p_z}[f(D\psi(G_\theta(z)))] + \mathbb{E}{x \sim p_D}[f(-D\psi(x))]

GGLL을 최소화하려 하고, DD는 이를 최대화하려 합니다.
특히 f(t)=log(1+et)f(t) = -\log(1+e^{-t})를 선택하면 클래식 GAN을 재현합니다.

pθp_\theta를 직접 최적화할 수 있을 때 볼록(convex) 성질을 가짐이 증명되었습니다.
그러나 실질적인 구현에서 GAN 손실은 pθp_\theta를 직접 갱신하는 대신 가짜 샘플을 DD에 의해 설정된 결정 경계를 넘어 이동시키게 됩니다.
이러한 차이로 인해 mode collapse/dropping and non-convergence이라는 두 가지 주요 실패 시나리오에 취약한 문제로 이어집니다.

Relativistic f-GAN

mode collapse/dropping을 해결하기 위해 RpGAN을 채택합니다.
RpGAN은 약간 다른 미니맥스 게임으로 정의됩니다:

L(θ,ψ)=Ezpz,xpD[f(Dψ(Gθ(z))Dψ(x))]L(\theta, \psi) = \mathbb{E}{z \sim p_z, x \sim p_D}[f(D\psi(G_\theta(z)) - D_\psi(x))]

전통 GAN 식과 약간 다를 뿐이지만 판별기의 차이를 평가하는 방식이 LL의 손실 지형에 근본적인 영향을 미칩니다.

전통 GAN식은 단순히 DD가 실제 데이터와 가짜 데이터를 분리하도록 요구합니다.
이로 인해 모든 실제 데이터와 가짜 데이터가 단일 결정 경계로 분리될 수 있는 경우, 경험적 GAN 손실은 GG가 가짜 샘플을 단일 경계를 약간 넘어서도록 이동시키도록 유도합니다.
이러한 퇴화된 해결책이 우리가 mode collapse/dropping으로 관찰하는 현상입니다.

RpGAN은 실제 데이터와 가짜 데이터를 연결하여 이를 해결합니다.
즉, 가짜 샘플은 실제 샘플에 비례하여 진짜 여부를 평가받습니다.
이 접근 방식은 각 실제 샘플의 주변에서 결정 경계를 유지함으로써 mode collapse/dropping을 방지합니다.

Training Dynamics of RpGAN

RpGAN은 Real도 Reale대로 True라고 분류할 수 있는 기준이 다르다
이런 점을 해결하기 위해 Data에 따라 variance를 모델에 충분히 녹여내고자 한다.
이를 위해 RpGAN은 먼저 Real Data와 Fake Data를 쌍으로 준비하고 두 데이터에 대해 Discriminator가 판별한 결과값의 차이를 바탕으로 모델을 학습한다.


RpGAN의 landscape result는 mode dropping을 해결할 수 있지만 RpGAN의 training dynamics은 아직 제대로 연구되지 않았습니다.
(2)(2)의 궁극적인 목표는 pθ=pDp_\theta^* = p_D이고 D_\psi^pDp_D에서 일정한 상태가 되는 균형점 (θ,ψ)(\theta^, \psi^*)를 찾는 것입니다.

(2)(2)의 landscape result 경로를 따라 θ\theta^*에 도달할 수 있음을 증명했습니다.
그러나 이러한 경로의 존재가 곧바로 경사 하강법이 이를 찾는다는 것을 의미하지는 않습니다.

Proposition I:
정규화되지 않은 RpGAN은 경사 하강법을 사용해 항상 수렴하지 않습니다.
RpGAN은 델타 분포에 가까운 pDp_D와 같은 특정 분포에 대해 수렴하지 않음을 수학적으로 보여줍니다.
따라서 잘 정의된 손실을 위해 추가적인 정규화가 필요합니다.

Zero-centered Gradient Penalties
RpGANRpGAN의 비수렴 문제를 해결하기 위해 그래디언트 페널티를 탐구합니다.
Zero-centered Gradient Penalties(00-GPGP)는 기존 GANGAN에서 수렴 훈련을 촉진하는 것이 입증되었습니다.
가장 일반적으로 사용되는 두 가지 00-GPGPR1R_1R2R_2입니다:

R1(ψ)=γ2ExpD[xDψ2],R2(θ,ψ)=γ2Expθ[xDψ2]R_1(\psi) = \frac{\gamma}{2} \mathbb{E}{x \sim p_D} \left[ |\nabla_x D\psi|^2 \right], \quad R_2(\theta, \psi) = \frac{\gamma}{2} \mathbb{E}{x \sim p\theta} \left[ |\nabla_x D_\psi|^2 \right]

R1R_1: 실제 데이터에 대한 DD의 gradient norm을 페널티화.
R2R_2: 가짜 데이터에 대한 DD의 gradient norm을 페널티화.

GANGAN의 training dynamics 분석은 지금까지 주로 local convergence에 초점을 맞추었습니다.
즉, (θ,ψ)(\theta, \psi)(θ,ψ)(\theta^, \psi^) 근처에 있을 때 훈련이 최소한 수렴하는지를 분석합니다.
이런 시나리오에서 (θL,ψL)(-\nabla_\theta L, \nabla_\psi L)의 야코비안(Jacobian)의 스펙트럼을 통해 수렴 동작을 분석할 수 있습니다.

핵심은 GG가 이미 진짜 분포를 생성할 때 xD=0\nabla_x D = 0이 되어야 GG가 최적 상태에서 벗어나지 않도록 훈련이 망치지 않아야 하는 것입니다.
R1R_1R2R_2pθ=pDp_\theta = p_D일 때 이러한 제약을 가합니다.

Proposition II:

R1R_1 또는 R2R_2 정규화가 적용된 RpGANRpGAN은 local convergence을 가집니다.

A Practical Demonstration

우리는 StackedMNIST [46] 데이터셋에서 우리의 손실 함수가 얼마나 잘 작동하는지 실험합니다.
StackedMNIST는 균등 분포된 10001000개의 모드를 포함하며, GGDD에는 정규화 층이 없 ResNetResNet을 사용했습니다.
사전 학습된 MNISTMNIST 분류기를 사용해 pθp_\thetapDp_D의 몇 가지 모드를 복원했는지 측정할 수 있으며 pθp_\thetapDp_D 간의 역 KLKL 발산 DKL(pθpD)D_{KL}(p_\theta | p_D)도 추정할 수 있습니다.

  • 전통적 GANGAN loss: Mescheder et al.와 StyleGAN 시리즈에서 사용된 R1R_1만을 적용한 경우 빠르게 발산합니다(Fig. 1).
  • RpGAN+R1RpGAN + R_1: R1R_1만을 사용한 RpGANRpGAN도 불안정하여 빠르게 발산합니다.
    각 경우에서 DD의 그래디언트가 가짜 샘플에서 폭발하며 훈련이 실패합니다.
  • RpGAN+R1+R2RpGAN + R_1 + R_2: R1R_1R2R_2를 모두 적용한 경우, 전통적 GANGANRpGANRpGAN 모두 훈련이 안정화됩니다. 이 상태에서 전통적 GANGAN은 여전히 모드 드롭핑을 겪지만, RpGANRpGAN은 모드 전체 커버리지를 달성하고 DKLD_{KL}0.92700.9270에서 0.07810.0781로 감소시킵니다.

R1 alone is not sufficient for globally-convergent training.

글로벌 수렴성을 위한 이론적 분석은 어렵지만 위의 증명은은 수렴 증명의 가정을 이해하는 데 중요한 통찰을 제공합니다.
특히, (θ,ψ)(\theta, \psi)가 초기 훈련 단계에서 (θ,ψ)(\theta^*, \psi^*)에 충분히 가깝다는 가정이 성립하기 어렵습니다.

DD가 충분히 강력하다면 DD를 실제 데이터에만 정규화하는 것은 가짜 데이터에서 DD의 동작에 거의 영향을 미치지 않을 수 있습니다.
따라서 DD가 가짜 데이터에서 잘못 동작하여 훈련이 실패할 가능성이 있습니다.

현실적 해결책: 실제 및 가짜 데이터 모두 정규화

실제 및 가짜 데이터에서 DD를 모두 정규화하는 실용적 해결책은 여러 이점을 제공합니다.
R1R_1R2R_2를 함께 적용하면 pDp_Dpθp_\theta 모두를 스무딩(smoothing)하여 학습을 단순화하는 이점이 있습니다.
실제로, R1R_1R2R_2가 적용된 경우 훈련 초기에 ExpD[xD2]Expθ[xD2]E_{x \sim p_D}[|\nabla_x D|^2] \approx E_{x \sim p_\theta}[|\nabla_x D|^2]가 성립함을 발견했습니다.
이 경우 DD가 maximum margin classifier가 됨을 보여주었습니다.

하지만 하나의 정규화 항만 적용하면 이러한 결과가 나타나지 않습니다.
또한, 실제 데이터와 가짜 데이터에서 gradient norm이 대체로 동일하게 유지되면 판별기의 오버피팅이 줄어들 가능성이 있습니다.
또한 DD가 오버피팅할 때 실제 데이터와 가짜 데이터에서 gradient norm이 분기(diverge)함을 관찰했습니다.

profile
AI Researcher

0개의 댓글