[Paper Review] GANSpace: Discovering Interpretable GAN Controls

2020. 8. 27. 17:15DeepLearning/GAN

Overview

  • 제목: GANSpace: Discovering Interpretable GAN Controls
  • 저자: Erik Härkönen, Aaron Hertzmann, Jaakko Lehtinen, Sylvain Paris
  • 기관: Aalto Univ., Adobe Research, NVIDIA
  • 학회: ECCV 2020 under review
  • 요약:
    • "Unsupervised identification of interpretable directions in an existing GAN"
    • Pre-trained StyleGAN, BigGAN의 초반 activation space에서 PCA를 수행하여 얻은 각 component를 조절하여 image manipulation을 수행
    • PCA로 GAN의 latent space/activation space에서 주성분을 뽑아, 각 주성분이 생성 이미지의 어떤 특성을 맡고 있는지 분석
    • Demo가 매우 인상적
    • PCA를 통해 초기 주성분들이 데이터의 전체적이고 공통된 요소를 각각 구별(disentangled)하며 나타낸다는 것을 발견.
      • "PCA provides a useful ordering of directions, separating the pose and the most significant appearance into the first components."

쉽고 간단하지만, 매우 효과적인 방법이 가능함을 보인 논문이며, StyleGAN이 갖고 있는 장점(layer-wise edit)을 보여준 것 같다.


Pre-requisites: 주성분 분석, PCA(Principal Component Analysis)

주성분분석(PCA, Principal Component Analysis)은 데이터의 공분산 행렬(covariance matrix)을 구하고 그의 고유벡터(eigenvector)를 새로운 기저(basis)로 삼아 기존 데이터를 새로운 기저로 사영(projection)시키는 기법이다. 여러 데이터들이 있어 하나의 분포를 이룰 때, 이 분포의 주성분을 분석해주는 방법이다.

  • 각 고유 벡터(eigen vector)를 주성분(principal component)라고 부른다.
  • 주성분은 그 방향으로 데이터들의 분산이 가장 큰 방향벡터를 의미한다
  • 고유 벡터(eigen vector)끼리는 직교(orthogonal)하다.
  • PCA로 사영된 데이터들은 서로 무상관(uncorrelated)해진다.
  • 초반 eigen vector들은 데이터들의 전체적이고 공통된 요소를 나타내고 뒤로 갈수록 세부적인 차이 정보를 나타낸다. 그리고 더 뒤로 가면 거의 노이즈(noise)성 정보를 나타낸다.
  • Data Reduction, Data-Driven Generalization of Fourier transform, 차원 감소(dimension reduction), 데이터 압축(compression), 노이즈 제거 등
  • 고전적으로 Face Recognition, Face Detection 등에서 활용

참고할만한 페이지


StyleGAN

  1. Gaussian z를 N(=10^6)개 샘플링하고 W-space로 mapping 해준다 (w = M(z)).
  2. N개의 w 벡터들로 PCA를 수행하여 주성분들의 집합인 행렬 V를 얻는다. (V is a basis for W)
  3. 각 control parameter x를 조절하여 원하는 주성분을 조절하여 조작된 이미지 I'를 생성할 수 있다. (w' = w + Vx)

Layer-wise Edits

  • StyleGAN에서는 synthesis network g의 각 레이어에 w를 각각 조절하며 특정 스타일을 조절할 수 있다.
  • E(u_i,j-k): i번째 주성분을 StyleGAN의 j~k번째 layer에 입력되는 w-벡터에서만 수정하여 생성할 수 있다.

GAN and PCA Properties

  • Large scale changes: 초기 주성분 20개에 제한되어 변화하며, 그 이후 주성분은 전체적인 layout을 그대로 둔 채로 객체의 appearance/background and details에 영향을 준다.
  • PCA만으로 충분히 disentangle되며, StyleGAN2 의 잠재 공간 분포 p(w)는 매우 단순하다는 것을 알 수 있다.
  • 초반 100개의 주성분이면 이미지를 충분히 표현할 수 있으며, 나머지 412개의 주성분은 미묘한 부분만을 담당한다.

Limitations (Model entanglements and Disallowed combinations)

  1. Dataset Bias
    • FFHQ 데이터셋은 얼굴을 매우 잘 정렬해둔 이미지 데이터셋이며 이에 대한 Dataset bias가 존재하기 때문에 생기는 회전이나 평행이동과 같은 기하학적 변환에 대해 제한적이다.
    • "For StyleGAN2 trained on the FFHQ face dataset, geometric changes are limited to rotations in the first 3 components. No translations are discovered, due to the carefully aligned training set."
  2. Some entanglements between distinct concepts
  3. "Disallowed combinations"
    • 주름을 넣고자 한다면 나이가 들게 되며, 아이에게는 주름을 넣는 효과를 줄 수 없다.
    • 또한, 여성에 반해 남성에게는 화장의 효과를 줄 수 없다.

또한, StyleGAN에서 layer-wise 수정을 함에도 불구하고 자동차 데이터셋에 대해서도 일반적으로 스포츠카는 "open road"에서 찍힌 이미지가 많아서 배경도 함께 변하는 entanglement가 발생한다.

Thoughts...

  • 전체적으로 좋은 영감을 주는 논문
  • PCA는 간단하기 때문에 생각을 안해보았었는데 생각보다 매우 좋은 Tool이 될 수 있을 것 같다.
  • "using other unsupervised methods besides PCA"로 어떤 게 있을 지 궁금