관련 영상 : https://www.youtube.com/playlist?list=PLstKhmdpWBtwsvq_27ALmPbf_mBLmk0uI
Github : https://github.com/bes-dev/MobileStyleGAN.pytorch
Abstract
- 최근 이미지 생성에서 GAN이 많이 사용되고 있고 특히 StyleGAN은 매우 좋은 결과물을 생성하나 매우 큰 연산량을 가진다는 문제가 있다
- 그래서 이 모델의 최적화에 중점을 두어 계산량이 많은 부분을 분석하고 생성기를 엣지 디바이스에서도 사용가능하도록 하였다
- 제안된 MobileGAN은 StyleGAN 보다 3.5배 적은 파라미터와 9.5배 적은 연산량으로 비슷한 품질을 제공한다
1. Introduction
- 현재 GAN으로 생성하는 이미지의 퀄리티가 매우 높아지고 있는데 초기 DCGAN 의 경우 64x64의 작은 이미지를 생성하였으나 BigGAN 혹은 StyleGAN의 경우는 512, 심지어 1024의 이미지도 생성이 가능하다
- 물론 품질이 좋아진 만큼 연산량도 많이 필요하여 SOTA급 모델들을 엣지 디바이스에서 사용하는것은 어렵다
- StyleGAN v2의 경우 28.27M 의 파라미터와 143.15GMAC 의 연산복잡도를 가짐
- 그래서 MobileStyleGAN을 제안
- StyleGAN v2 를 기반으로 모델에서 연산량이 많은 부분을 분석하여 품질의 손실 없이 모델을 경량화
- 8.01M의 파라미터와 15.09 GMAC의 매우 작은 연산 복잡도를 가지지만 FFHQ 데이터에서 FID 12.38이라는 좋은 값을 가짐
- Main Contribution 은 총 4가지
- 고품질 이미지 생성을 위한 wavelet-based CNN 기반의 end-to-end 모델 생성
- Depthwise Separable Modulated Convolution 을 경량화한 Modulated Convolution 제안
- demodulation 부분을 개선 (그래프 최적화에 적용가능)
- 모델 학습을 위한 KD 기반의 파이프라인
2. Related Work
StyleGAN
- StyleGAN
- 큰 이미지 생성을 위해 모델을 점진적으로 증가시키며 훈련하는 Progressive Growing 방식
- 고정된 값으로부터 이미지 생성을 시작하고 확률적으로 생성된 latent를 기반으로 이미지를 생성
- 8개의 FCL 을 거쳐 latent를 비선형으로 변환후 AdaIN을 사용해 각 해상도에 스타일벡터로 적용
- StyleGAN2
- 실제 통계가 아닌 추정된 통계로 정규화를 하여 droplet modes를 제거
- Progressive Growing방식 대신 Skip Connection을 사용하여 눈과 이빨 등의 위치가 강제되는 현상 제거
- latent 를 smoothing 하여 PPL을 줄여 이미지 퀄리티를 높임
- StyleGAN2-ADA
- Adaptive Discriminator augmentaion 을 사용하여 적은 데이터로 GAN을 학습하는 방법 제안
Model acceleration
- CNN 모델의 경량화에 초점을 두고 연구도 많이 진행되고 있음
- MobileNets