본문 바로가기

논문 리뷰/GAN

Projected GANs Converge Faster 논문 리뷰

이번에 리뷰할 논문은 2021년 11월 공개된 Projected GAN 논문이다.

Projected GAN은 딥린이 시절 써본 적이 있는 모델이고 내 블로그의 딥러닝-Projected GAN 탭에서 그 기록을 볼 수 있다(딥러닝 잘 모를 때의 단순 기록이라 별로 의미 있지는 않음). 특히, Projected-FastGAN은 진짜 굉장히 빨리 수렴한다. 근데 사실 장기적인 모델 사용의 관점에서는 StyleGAN 백본 쪽이 더 좋다. FastGAN 자체가 훈련 속도와 데이터 효율성에 중점을 둔 모델이기 때문이다.

 

이후 StyleGAN-XL 모델에 영향을 주었다.

 

Project Page

Github

 

(아랫줄이 생성된 이미지)

 

 

 

Abstract

GAN(Generative Adversarial Network)은 고품질 이미지를 생성하지만 훈련하기가 어렵다. 본 연구는 생성된 샘플과 실제 샘플을 고정된 사전 훈련된 feature 공간에 투영함으로써 이러한 문제에 대해 상당한 진전을 이루었다. 판별기가 사전 훈련된 모델의 더 깊은 계층의 feature를 완전히 활용할 수 없다는 발견에 자극을 받아 채널과 해상도에 걸쳐 feature를 혼합하는 보다 효과적인 전략을 제안한다. Projected GAN은 이미지 품질, 샘플 효율성 및 수렴 속도를 향상시킨다. 최대 1메가픽셀의 해상도와 호환되며 22개의 벤치마크 데이터 세트에서 SOTA FID를 향상한다. 중요한 것은, Projected GAN은 이전에 가장 낮은 FID에 최대 40배 더 빨리 일치하여 동일한 계산 리소스가 주어졌을 때 wall-clock time을 5일에서 3시간 미만으로 단축한다는 것이다.

 

 

 

Introduction

GAN 판별기의 과제는 두 가지이다. 

  • 실제 샘플과 가짜 샘플을 의미 있는 공간에 투영한다. 즉, 입력 공간의 표현을 학습한다.
  • 학습한 표현을 바탕으로 판별한다.

 

불행히도, 판별기와 생성기의 공동 훈련은 어렵기로 악명 높은 작업이며, 본 연구에서는 GAN 훈련을 개선하고 안정화하기 위한 사전 훈련된 표현의 유용성을 탐구한다.

 

사전 훈련된 표현을 사용하는 것은 컴퓨터 비전과 자연어 처리에서 꽤 보편화되었다. 하지만 기존의 방법들은 여러 가지 개선점이 있고, 실제로 연구진은 기존의 방법을 그대로 적용했을 때 강력한 사전 훈련된 feature를 통해 판별기가 게임을 지배해 생성기의 gradient가 사라질 수 있음을 확인한다. 본 연구에서는 이러한 과제를 극복하기 위한 두 가지 핵심 구성요소를 제안한다.

  • 다중 판별기로 다중 스케일 피드백을 가능하게 하는 feature 피라미드
  • 사전 훈련된 네트워크의 더 깊은 계층을 더 잘 활용하기 위한 무작위 투영

 

또한 최대 10242 픽셀의 해상도로 작고 큰 데이터 세트에 대해 광범위한 실험을 수행한다. 모든 데이터 세트에서, Projected GAN은 훈련 시간이 크게 단축된 SOTA 이미지 합성 결과를 보여준다. 또한 Projected GAN이 데이터 효율성을 높이고 추가적인 정규화의 필요성을 제거하여 값비싼 하이퍼피라미터 sweep가 불필요하다는 것을 알게 되었다.

 

 

 

Projected GANs

GAN는 주어진 데이터 세트의 분포를 모델링 하는 것을 목표로 한다. 생성기 G는 분포 Pz에서 샘플링된 잠재 벡터 z를 생성된 샘플 이미지 G(z)에 매핑하고 판별기 D는 실제 샘플 x와 생성된 샘플 G(z)를 구별하는 것을 목표로 한다. 일반적인 GAN의 목표는 다음과 같다.

 

여기서 실제 및 생성된 이미지를 판별기의 입력 공간에 매핑하는 feature 프로젝터 집합 {Pl}을 소개한다. 따라서 GAN 훈련은 다음과 같이 공식화될 수 있다.

여기서 {Dl}은 서로 다른 feture 투영에서 작동하는 독립 판별기 집합이다. 위의 공식에서 {Pl}을 고정하고 G 및 {Dl}만 최적화한다.

 

Feature 프로젝터 {Pl}는 차별화 가능하고 입력에 대한 충분한 통계를 제공해야 한다. 즉, 중요한 정보를 보존해야 한다. 

 

Consistency

Projected GAN은 더이상 실제 분포 PT와 일치하도록 직접 최적화하지 않는다. 이상적인 조건에서 훈련 특성을 이해하기 위해 일관성 정리의 보다 일반적인 형태를 고려한다.

 

 

일관성 정리는 매우 중요한 개념이기 때문에 자세하게 짚고 넘어가겠음.

 

Generative Adversarial Nets (2014, Goodfellow et al.)

실제 데이터에 대한 확률분포 pdata와 G의 생성 이미지에 대한 확률분포 pg, 그리고 고정된 G가 주어졌을 때 GAN minmax game을 최대화하는 최적의 D는 다음과 같다.

그리고 D가 최적이면, pdata = pg 일 때 최솟값을 갖는다. (쉽게 정리된 증명)

 

Stabilizing GAN Training with Multiple Random Projections (2017, Neyshabur et al.)

일관성 정리는 위의 수식에서, 각 분포를 랜덤 가중치 W로 선형 투영해도 똑같이 pWdata = pWg 일 때 최솟값을 갖는다는 것이다.

 

Projected GAN의 그림 아님.

저차원으로 투영된 이미지는 원래 이미지보다 적은 정보를 가지고 있지만 많은 수의 선형 투영을 사용할수록 그들의 전체 공동 분포가 실제 분포와 비슷해지게 되며 G에 의해 생성된 이미지의 분포가 실제 분포와 가까워지도록 장려한다.

 

Augmentation을 적용할 때도 G(z), x 둘 다에 적용하는 것과 비슷한 원리라고 생각하면 된다.

 

Model Overview

사전 훈련된 feature 네트워크 F(자세한 정보는 ablation 절에서.)의 4개 계층(L1, L2, L3, L4)에서 각각 다른 해상도의 feature를 얻는다. 그리고 각 Ll 계층의 feature와 별도의 판별기 Dl을 연결한다. Dl은 각 컨볼루션 계층에서 스펙트럼 정규화를 갖는 간단한 컨볼루션 아키텍처를 사용한다. 모든 판별기에서 동일한 해상도의 logit을 출력할 경우 더 나은 성능을 관찰했기 때문에 높은 해상도의 판별기에서 더 많은 다운샘플링을 사용한다. 그러고 나서 모든 판별기의 logit을 합친다.

 

깊은 계층의 feature는 활용하기가 어렵기 때문에 고정된 무작위 투영(초기화 후 학습되지 않음.)을 이용하는 두 가지 전략을 제안한다. 이 전략은 판별기가 다른 부분은 완전히 무시하면서 feature 공간의 하위 집합에 집중할 수 있다고 가정한다.

 

Cross-Channel Mixing (CCM)

경험적으로, 연구진은 두 가지 특성을 발견했다.

  • 무작위 투영은 F의 전체 표현력을 활용하기 위해 정보를 보존해야 한다.
  • Trivially invertible하지 않아야 한다. (랜덤 가중치가 가역적이라면, 깊은 계층 feature의 고차원 연산을 피하기 위해 feature의 특정한 하위 집합에만 집중하도록 저차원 투영하는 의미가 없어진다.)

 

채널 혼합의 가장 쉬운 방법은 1x1 컨볼루션이다. Glow 논문에 따르면, 입력과 출력의 채널 수가 같을 때 1x1 컨볼루션은 단순히 채널을 섞는 순열의 기능을 하며 결과적으로 입력에 대한 정보를 보존한다. 또한, Glow에서는 그들의 컨볼루션을 초기화하기 위해 회전 행렬을 사용했지만, 특성 2에 위배되기 때문에 Kaiming 초기화를 사용한다.

Metric : FID

비선형인 활성화함수는 사용하지 않으며, 4개의 해상도 각각에 무작위 투영을 적용한 다음 각각의 판별기에 공급한다.

 

Cross-Scale Mixing (CSM)

CCM을 장려하기 위해 무작위 3x3 컨볼루션과 bilinear 업샘플링으로 U-Net 아키텍처를 만든다. 단일 컨볼루션 계층만 사용하기 때문에 vanilla U-Net보다 간단하며, 모든 가중치에 대해 Kaiming 초기화를 사용한다.

Metric : FID

F는 사전 훈련된 feature 네트워크, P는 CCM, CSM이다. F와 P를 모두 고정했을 때 성능이 가장 좋다.

 

 

 

Discussion and Future Work

Projected GAN은 모든 데이터 세트에서 낮은 FID를 달성하는 동시에 두 가지 실패 사례도 식별한다.

때때로 떠 있는 머리가 관찰되며 눈에 띄는 물체가 이미 묘사되어 있을 때 현실적인 배경과 이미지 구성을 생성하는 것이 덜 중요하게 고려되는 것 같다. 이 가설은 투영을 위해 이미지 분류 모델을 사용했다는 사실에 따른 것이다. 또한 FFHQ에서 Projected GAN은 때때로 SOTA FID에서도 잘못된 비율과 아티팩트로 품질이 낮은 샘플을 생성한다.

 

생성기의 관점에서, StyleGAN은 튜닝하기가 더 어려우며 투영된 훈련에서 많은 이익을 얻지 못한다. FastGAN 생성기는 최적화가 빠르지만 잠재 공간의 일부에서 비현실적인 샘플을 생성하는데, 이는 StyleGAN과 유사한 매핑 네트워크에 의해 해결될 수 있는 문제이다. 따라서, 투영된 훈련과 결합하여 두 아키텍처의 장점을 통합하는 것이 성능을 더욱 향상할 수 있다고 추측한다. 또한, 다양한 사전 훈련된 네트워크에 대한 본 연구는 효율적인 모델이 특히 Projected GAN 훈련에 적합하다는 것을 보여준다.

 

 

 

Ablation Study

사전 훈련된 feature 네트워크의 모든 해상도 계층에서 CCM+CSM을 적용했을 때 가장 결과가 좋다.

 

 

다음은 LSUN-Church 데이터 세트에서 EfficienttNet, ResNet의 각각의 버전을 사전 훈련 네트워크로 사용했을 때의 결과이다. 놀랍게도, 사전 훈련 네트워크로써의 성능은 ImageNet에서의 결과와 관련이 전혀 없었으며, 가볍고 성능이 좋은 EfficientNet-lite1을 기본으로 설정했다.

 

 

 

Comparison to SOTA

백본으로 StyleGAN2-ADA와 FastGAN을 사용한다. StyleGAN2-ADA는 샘플 품질 측면에서 대부분의 데이터 세트에서 가장 강력한 모델인 반면 FastGAN은 훈련 속도에서 뛰어나다. FastGAN은 배치 크기 선택에 민감하고 StyleGAN2-ADA는 학습 속도 및 R1 페널티에 민감하다는 것을 발견했다. 자세한 실험은 엄청 길기 때문에 맨 아래에 첨부함.

 

FastGAN 백본은 훨씬 빨리 수렴하지만, 낮은 FID에서 포화된다. StyleGAN2 백본은 샘플 품질은 좋지만 FID가 높고 학습도 훨씬 느리다. 또한 StyleGAN2 백본에서는 투영에 의한 성능 개선이 덜 뚜렷하다. 백본이 언급되지 않은 Projected GAN은 FastGAN 백본 모델로 취급한다.

 

 

다음은 위에서부터 FastGAN, StyleGAN2, Projected GAN에서 고정 벡터 z를 훈련 경과에 따라 샘플링한 결과이다.

Projected GAN은 가장 빨리 제대로된 형태를 갖춘다. 하지만 다른 모델에 비해 훈련 도중 많은 지각적 변화를 겪는데, 연구진은 이러한 변동성이 기존의 RGB 손실보다 더 많은 의미론적 피드백을 제공하는 다중 판별기 때문일 수 있다고 가정한다. 이러한 의미론적 피드백은 훈련 중에 더 많은 확률성을 도입하여 수렴과 성능을 향상할 수 있다.

 

 

큰 데이터 세트에서 성능 비교.

Pojected GAN*은 SOTA 성능을 능가하는 최소 데이터 지점. StyleGAN2*는 많은 데이터로 충분히 오래 훈련했을 때 나오는 최대성능을 의미한다. 

 

작은 데이터 세트에서 비교. 

FastGAN이 데이터 효율성에 강점이 있기 때문에 큰 데이터 세트에서보다 훨씬 더 큰 성능 격차를 보인다.

 

 

정량적 평가, 질적 평가 모음. (내용은 끝)

FastGAN과 Projected GAN이 수렴속도가 훨씬 빠르다는 것을 감안해서 보길 바람.

 

 

 

 

 

영상 자료는 Project Page 에서 볼 수 있다.