Machine Learning, Deep Learning

Analyzing and Improving the Image Quality of StyleGAN (StyleGAN2)

n.han 2021. 10. 12. 01:22

Abstract

StyleGAN의 artifact가 있음이 보고 됨. 이 artifact의 특징들을 분석하고, 모델과 훈련 방식을 개선:

  • Generator의 normalization 개선.
  • Progressive growing 대신 다른 훈련 방식 도입.
  • Path length regularizer 도입.
    • Generator로 하여금 latent code와 이미지의 mapping을 더 좋게 할 수 있도로 정규화 -> 이미지 품질 향상.

Introduction

Characteristic artifacts in StyleGAN

  • 기존 StyleGAN: mapping network + AdaIN + random noise / progressive growing -> less entangled!
  • StyleGAN으로 생성된 이미지의 characteristic artifacts 가 관찰됨.
  • Two causes for these artifacts:
    1. Generator의 normalization: normalization 방식을 개선하였더니 사라짐.
    2. Progressive growing: 저->고해상도 이미지로 훈련해가며 네트워크를 변경하였는데, 이것이 원인 중 하나로 보임. 저->고해상도 이미지로 훈련하는 것은 유지하되, 네트워크를 변경하지 않는 대신 skip connection이나 resnet과 같은 전략을 취함.

Perceptual path length (PPL) metric (Regularization on latent space)

  • FID나 P&R(Precision and Recall)은 classifier network의 feature에서 계산되므로, 이미지의 shape 보다는 texture에 집중하는 한계가 있음.
  • 생성 이미지의 모양은 latent space의 연속성과 관련이 있음. 이것에 근거하여 부드러운 이미지를 만들기 위하여latent space가 smooth되도록 정규화하였음.

Removing normalization artifacts

  • SylteGAN에서 생성된 이미지들에는 droplet과 같은 artifact들이 존재. Generator 내부의 feature를 살펴보면 두각.
  • Normalization 과정에서 통계치를 흔들어놓을만큼 강한 지난 정보 시그널이 그 원인 중 하나라고 가정.
  • Normalization 방법을 개선하니, 없어져서 가정이 맞음을 확인하였음.

  1. Generator architecture 개선 (Figure 2.(c))
    • bias와 noise를 style block 외부로 이동.
    • feature map의 표준편차만 normalization 적용.
  2. Conv layer의 weight에 직접 style add와 normalization을 적용 (Figure 2.(d))
    • Simplication of Sylteblock
      • As-is: Mod std -> Conv -> Norm std
      • To-be: Conv. (Mod, Norm(Demod) on weights of conv.)
      scaling the weights by incoming style (mod)
    std of weights

    normalization of weights by std (demod)

Implementation of weight modulation (Source: https://github.com/NVlabs/stylegan2/blob/master/training/networks_stylegan2.py)

Image quality and generator smoothness

  • Perceptual Path Length (PPL)은 latent space와 출력 이미지의 mapping의 부드러운 정도를 정량화하기 위해 도입.
  • PPL이 좋지 않다는 것과 이미지 품질 간의 명백한 상관 관계는 밝혀지지 않았음.
  • 본 저자들은 훈련 과정에서 Discriminator가 broken 이미지들을 penalize하면 Generator는 이를 효과적으로 개선하기 위해 낮은 품질의 이미지들을 latent space에서 squeeze할 것이고, 이는 평균적인 이미지 품질은 단기간에 올릴 수 있지만 왜곡이 중첨되어 최종 이미지 품질에 영향을 주지 않았나하는 가설을 세움.

  • 더 부드러운 latent space -> output mapping을 위해 새로운 regularizer를 도입.
  1. Lazy regularization
    • Loss function과 regularization term을 하나의 expression으로 써 동시에 optimized되게 할 수 있지만, main loss function과 별도로 regularization term을 두어 계산 비용과 메모리 사용량을 줄임.
  2. Path length regularization
    • Motivated by the desire to preserve the expected lengths of vectors.
    • We show in Appendix C that, in high dimensions, this prior is minimized when Jw is orthogonal (up to a global scale) at any w. An orthogonal matrix preserves lengths and introduces no squeezing along any dimension.
    • Figure 5b shows that path length regularization clearly tightens the distribution of per-image PPL scores

첫번째 식인 Regularizer가 Jw를 orthogonal하게 만듦. Orthogognal matrix은 length를 preserve하므로 no squeezing.

Progressive growing revisited

  • Progressive growing은 artifact를 만드는 원인. 저해상도에서 고해상도 이미지로 훈련해가나가는 과정에서 네트워크 토폴로지를 확장해나가는데, 그 과정에서 strong location preference가 발생. 

  1. Alternative network architectures without progressive growing
    • MSG-GAN (Multi-Scale Gradients GAN): A Network architecture inspired from the ProGAN. The architecture of this gan contains connections between the intermediate layers of the singular Generator and the Discriminator. The network is not trained by progressively growing the layers.
    • StyleGAN2에서는 MSG-GAN의 전략을 응용하여 네트워크 토폴로지는 고정하고 various resolution의 훈련 데이터 셋을 각 resolution layer에 넣어주는 skip connections과 residual networks를 실험. 
       
    • Generator와 Discriminator를 각각 original/output skips/residual 3X3 조합으로 테스트한 결과 skip generator와 residual discriminator를 사용한 결과가 가장 좋았음.
  1.  
  2. Resolution usage
    • Network의 사이즈가 클수록 이미지 생성에 있어 고해상도의 데이터의 영향이 더 커짐.
    • 아래 그림은 다른 해상도의 표준편차를 학습 시간에 따라 관찰하여 시각화. 이를 생성 이미지의 '기여도'로 해석할 수 있고, 1024 X 1024 해상도의 기여도가 (a)와 (b) 간 차이를 보였음. (a)의 경우 초기 학습에 고해상도 이미지가 기여하다가, 그 정도가 유지되는 것을 볼 수 있지만, 네트워크 사이즈가 더 큰 (b)의 1024 X 1024 해상도의 기여도가 커짐을 알 수 있음.