rueki

WGAN 과 WGAN-GP 본문

paper review

WGAN 과 WGAN-GP

륵기 2021. 7. 24. 22:16
728x90
반응형

Wasserstein GAN에서 GAN의 loss 함수에 대해서 새로운 개념이 나왔는데, 이것과 이를 개선한 WGAN-GP라는 것을 알아보려고 이렇게 정리하게 되었다.

 

WGAN을 이해하기 위해서 먼저 Earth Mover Distance에 대해서 알아보자.

예를 들어서 1이 적힌 박스가 7의 위치로 갈때 6만큼 이동하게 된다.  여기서 1의 박스는 가중치라고 생가하면 될 것 같다. 움직인 거리는 cost로 생각하자.

아래의 사진에서 보면 왼쪽 상단의 박스에 대해서 총 이동 거리를 계산해보면 박스 1은 1에서 7로 (6), 박스 4는 2에서 8로 (6), 박스 5와 6은 3에서 9로(6, 6), 박스 2와 3은 1에서 10으로(9) 이동해서 총 거리는 42가 된다. 그래서 transfort cost는 42로 볼 수가 있다.

 

 

 

 

 

 

 

 

 

그러나 모든 이동에 대한 계산이 같은 cost를 갖지는 않는다. Wasserstein distance는 Earth move distance 기반이고, 가장 cost가 적은 이동 plan을 나타낸다.

 

위의 그림을 보면 4와 6에 위치해있던 박스 1과 2가 움직이는 cost를 계산했을 때 첫번째 상단은 둘 다 1씩 움직여서 2이고 밑에는 3씩 움직여서 6의 값을 갖게 된다. Wasserstein distance는 결국 데이터 분포 q를 p로 이동할 때 최소 cost를 나타낸다. 그래서 이 개념을 식으로 나타내면 아래와 같은데, real data distribution p와 generated data distribution g간의 거리를 lower bound로 정의하는 것이다.

그러나 이것의 단점으로는 모든 결합 분포에 대해서 거리를 계산하기 힘들다는 것이다.

WGAN에서 중요한 개념으로 등장하는 것이 K-lipschitz continuous가 들어가는데, K는 상수를 의미한다.

$\parallel f_{L} \parallel$이 K보다 작거나 같은 것을 만족해야하는데, 이것의 의미는 모든 (x1, x2)에 대해서 $\mid f(x_{1})-f(x_{2}) \mid \leq K\mid x_{1} -  x_{2}\mid$ 의 식을 만족해야 립시츠 연속성이 보장된다라고 볼 수 있다.

이래야 거의 모든 점에서 연속적으로 미분이 가능하여 기울기 계산이 가능해진다. 

아래는 WGAN의 학습 process이다.

 

WGAN의 단점으로는 결국에 gradient cliping을 함에따라서 학습 결과가 -0.01 or 0.01에 분포가 몰려있는 것을 볼 수가 있으며, Momentum 기반의 optimizer는 불안정하여 RMSprop을 사용한다. 이를 해결하고자 Gradient penalty를 추가한 WGAN-GP가 나오게 된다. 기존의 critic loss에서 penalty를 추가하는 형태인데 이 결과 아래 사진의 우측 하단의 분포처럼 고루고루 퍼져있는 형태를 가지게 되며 여기서는 Adam을 이용한 학습이 가능하다고 한다.

 

Gradient clipping과 penalty에 대한 분포

WGAN-GP의 장점은 결국 수렴성이라고 볼 수가 있다. penalty를 추가함으로써 학습이 보다 안정적이고 쉬워지기 때문이다. 이 컨셉이 등장하고나서 대부분의 GAN에서 이 loss function을 사용하거나 응용하는 것들이 많이 등장하게 된다.

728x90
반응형
Comments