ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • BEGAN : Boundary Equilibrium Generative Adversarial Networks
    논문&부가지식 2021. 5. 22. 21:11

    교수님 추천으로 읽은 논문. WGAN의 상위 호환으로 보인다.

    Abstract & Introduction

    이 논문 또한 GAN의 수렴성과 불안정성을 개선시키기 위한 논문이다. 하지만 이전 WGAN이나 WGAN-GP, SoftmaxGAN과 달리 수렴성에 대한 지표를 제공할 수 있는 방법론을 활용하였다.

    Proposed Method

    가장 중요한 것은 D를 오토인코더를 썼다는 점. 따라서 대표적인 로스 함수가 아래와 같이 된다.
    $$L(v) = |v - D(v)|^n$$,
    where $D : \mathbb{R}^{N_x}$ is the autoencoder function, $\eta \in {1,2}$ is the target norm, $v \in \mathbb{R}^{N_x}$ is a sample of dimension $N_x$.

    위와 같이 정의된 로스의 분포를 분석하는 것이 중요하다. 아래의 식을 보면
    $$W_1(\mu_1, \mu_2) = inf_{\gamma \in \Gamma(\mu_1, \mu_2)} \mathbb{E}_{(x_1, x_2) \sim \gamma}[|x_1 - x_2|]$$.
    이 때 $\mu_1, \mu_2$는 각각 real과 gene의 분포의 변수이다. 위를 Jensen 부등식을 활용하면,
    $$W_1(\mu_1, \mu_2) = inf \mathbb{E}[|x_1 - x_2|] \geq inf|E[x_1 - x_2]| = |m_1 - m_2|$$
    $m_1, m_2$는 real과 gene샘플들의 평균을 나타낸다. 즉, 위의 로스함수를 기반으로하는 Wasserstein distance는 두 real과 gene의 샘플에 국한된 lower bound를 갖고있다. 다시 말해서, 샘플이 변하지 않는다면 우리는 이 로스를 이용하여 최대한도로 real과 gene를 줄일 수 있는 boundary를 구할 수 있고 만약 real == gene 이면 lower bound는 0이 될 수 있다. 저자의 말을 그대로 빌린다면, "It is important to note that we are aiming to optimize a lower bound of the Wasserstein distance between auto-encoder loss distributions, not between sample distributions." 이미 샘플은 고정되어있으므로 우리가 고려하는 distance는 로스에 국한되어있다.

    따라서 $W_1(\mu_1, \mu_2)$를 최대한 벌리기 위해서는 1. $m_1 = \infty, m_2 = 0 ; or ; m_1 = 0, m_2 = \infty$ 두가지 경우가 있다. 직관적으로 real데이터의 평균이 0인 것, 즉 오토인코더가 진짜 이미지를 진짜로 생성하는 것이 더 쉽다고 가정한다. 이를 반영하면
    $$L_D = L(x ; \theta_D) - L(G(z_D ; \theta_G); \theta_D)$$,
    $$L_G = -L_D$$
    라 할 수 있다. 지금까지 어떤 가정도 하지 않았으므로 WGAN과 같이 clip을 할 필요도 없다.

    Equilibrium

    GAN에서는 G와 D의 밸런스를 맞추는 것이 굉장히 어렵다. 이 논문에서는 D의 구조를 오토인코더로 채택함으로써 평형관계를 가정할 수 있게 되었다.
    $$\mathbb{E}[L(x)] = \mathbb{E}[L(G(z))]$$.
    이 식을 해석하면 D가 입력으로 real을 받든 gene를 받는 입력과의 차이가 같은 어떠한 이미지를 생성하는 것이다. 하지만 Equilibrium한 상황은 발생하기 힘드므로 이를 이용하여 하이퍼 파라미터를 정의한다.
    $$\gamma = \frac{\mathbb{E}[L(G(z)]}{\mathbb{E}[L(x)]}$$.

    D의 목표는 크게 두가지로 볼 수 있다.

    1. real image를 그대로 auto-encode
    2. gene로 부터 real을 구분 하는 이미지를 만드는 것.
      두 목표는 서로 상충관계에 있고, 위의 $\gamma$는 목표 두가지의 밸런스를 맞춘다. 예를 들어 만약 $\gamma$값이 낮다면 gene image를 그대로 생성하기 때문에 diversity가 낮다고 볼 수 있다.
      이제 모든 로스를 종합해 보면 최종 로스는 아래와 같다.
      $$L_D = L(x) - k_t \times L(G(z_d))$$,
      $$L_G = L(G(z_G))$$,
      $$k_{t+1} = k_t + \lambda_k (\gamma L(x) - L(G(Z_G)))$$.

    Convergence measure

    Introduction에서 이 논문의 기여 중 하나가 GAN의 수렴도를 측정하는 지표를 제공하였다는 것이다. 결론적으로 말하면 아래의 식과 같이 평가 할 수 있다.
    $$M_{global} = L(x) + |\gamma L(x) - L(G(z_G))|$$.
    해석해보면, 이 논문에서 주장하는 equilibrium한 상황은 $\mathbb{E}[L(x)]=\mathbb{E}L(G(z_G))$라 하였다. 그리고 이를 이용해서 $\gamma = \frac{\mathbb{E}[L(G(z)]}{\mathbb{E}[L(x)]}$를 제시하였고 만약 우리가 설정한 equilibrium상태 값 $\gamma$가 정확히 일치하는 상황이 된다면 뒤의 절댓값은 0이 되고 $L(x)$값 또한 작아져 $M$값이 작아질 것이다.

    Experiments

    데이터셋은 대표적으로 CelebA를 사용하였다.

    Space continuity

    재밌는 실험으로 space에서 연속성을 증명하였다. 입력 latent z에 따라 얼굴이 서서히 변해가는 과정을 결과로 보여주었는데 중요한 것은 한 이미지에 대하여 이 이미지를 만드는 latent z는 어떻게 뽑는가이다. 간단하게도, error $e_r = |x_r - G(z_r)|$을 최소화 하는 z_r을 찾으면 된다.
    연속성을 보여주기 위해 여기서 사용한 방법은 두 이미지를 고른 후, 대응되는 latent z를 찾고 interpolation한 z들을 만들어 모델에 넣는 것이다. 결과는 당연하게도 다른 GAN들 보다 잘 나온다. 즉, GAN의 연속성이 우수하여 나중에 이 GAN을 활용할 수 있는 정도가 더 높다.

    Equilibrium for unbalanced networks

    수렴성을 측정하는 지표가 유효한지 알아보는 섹션이다. 이 논문 전까지는 GAN의 수렴도를 알아보기 위해 G와 D의 로스를 그리는 그래프를 보고 중단하는 식으로 하였다. 하지만 여기서는 두 로스 그래프를 그리면서 위에 있는 $M_{global}$ 값을 overlap하게 그려 보았다. 역시나 아래 이미지와 같이 생성된 이미지의 품질이 높아지면서 전체적인 로스의 진동은 낮아지고 $M_{global}$값도 낮아지는 것을 볼 수 있다. 중요한 점은, 로스 그래프는 크게 진동하는데, $M_{global}$값은 일정하게 낮아진다는 것이다.

    Conclusion

    직접적으로 저자들은 이 논문의 방법론은 WGAN의 손실 함수와 피상적으로 비슷하다는 것을 인정한다. 하지만 clip을 사용하지 않았다는 점이 차이점이라 할 수 있겠다. 또한 수렴도를 나타내는 지표는 정말 유용하게 쓰일 수 있을 것 같다.

    댓글

Designed by Tistory.