< From GAN to WGAN >
GAN의 발전..!
0. Abstract
이 논문은 GAN이 왜 학습하기 어려운지에 대해 수학적으로 설명하고, WGAN이 GAN의 학습시에 두 분포간 거리를 측정하는 방법에 어떠한 변화를 주어 학습을 증진시켰는지 알아볼 것 이다.
1. Introduction
GAN은 다양한 많은 분야에서 좋은 산출물을 냈다. 하지만 GAN은 학습시 불안정하고, 수렴에 실패하는 문제에 대해 직면하고있다.
그래서 이러한 GAN의 문제를 수학적 배경으로 왜 학습하기 힘든지를 설명하고 학습이 어려운 것을 해결하기 위해 등장하는 수정된 GAN에 대해 설명할 것이다.
2. Kullback–Leibler and Jensen–Shannon Divergence
GAN에 대해서 살펴보기 전에, 두 확률분포간의 유사성의 정도를 측정하는 두 가지 방법에 대해 알아보자.
(1) KL(Kullback-Leibler) Divergence
KL Divergence는 하나의 분포
또한 위의 식을 봤을 때, KL Divergence는 “비대칭적”이라는 것을 알 수 있다. 만약에
(2) Jensen-Shannon Divergence
JSD는 [0,1]범위내에서 두 확률분포의 유사성을 측정하는 또 다른 방법이다. JSD는 대칭적이고, 더 스무스하다.
어떤 논문에서는 GAN의 큰 성공요인이 비용함수의 KL Divergence를 JSD로 바꾸었기 때문이라고한다.
3. Generative Adversarial Network
GAN은 두 가지 모델로 구성되어있다.
(1) 식별자인
(2) 생성사
두 모델은 서로에 대해 경쟁하면서 다음과 같은 학습과정을 거친다 : 생성자
annotation을 정리하고 넘어가자.
한편으로는, 실제 데이터에 대한 식별자
반면에, 생성자는
두 개의 양상을 같이 봤을 때,
3.1 What is the Optimal Value for D
위의 식
이를 이용해서 위의 식을 치환하면 다음과 같다.
미분값을 0이라고 설정하면, 식별자의 최적인 다음의 값을 얻는다 :
생성자가 최적으로 학습되면서
3.2 What is the Global Optimal
3.3 What does the Loss Function Represent?
그러므로
최적의 값은
Other Variations of GAN
다른 task를 위한 다양한 GAN이 존재한다.
4. Problems in GANs
GAN은 학습이 불안정하고 느려 학습이 쉽지 않지만, 실제와 비슷한 이미지를 만들어내는데 성공했다.
4.1 Hard to Achieve Nash Equilibrium
GAN의 gradient descent 기반의 학습과정에 문제가 있다는 것은 인식되었다. 두 모델들은 동시에 서로 협력하지 않으며 “Nash Equilibrium”을 찾기 위해 학습된다. 하지만 다른 모델의 비용함수에는 상관없이 비용 독립적으로 모델이 업데이트 된다. 동시에 두 모델의 gradient를 업데이트 하는 것은 수렴을 장담하지 못하기 때문이다.
예를 들어서 이해해보자. 한 플레이어는
위 식의 gradient를 구하기 위해 편미분을 해보면 다음과 같다.
큰 진폭과 불안정함을 볼 수 있다.
4.2 Low Dimensional Supports
Manifold : 각 지점 근처의 유클리드 공간과 지역적으로 닮은 기하학적 공간을 말한다. 유클리디안 공간의 차원이
n 이라면 manifold는n -manifold라고 부른다.Support : 실수형 함수
f 는 0으로 매핑되지 않는 요소들을 포함하는 하위 집합이다.어떠한 논문에서는
pr 과pg 의
low dimensional manifolds에 존재하는 supports에 문제가 있다고 말하고, 이것이 GAN 학습의 불안정성에 어떠한 영향을 주는지에 대해 말한다.
4.3 Vanishing Gradient
식별자가 완벽하다면,
그 결과로, GAN 학습시 다음의 딜레마와 부딪힌다.
- 식별자의 성능이 나쁠 때, 생성자는 정확한 피드백을 하지 않고, 비용함수는 현실을 반영하지 못한다.
- 식별자가 매우 성능이 좋을 경우, 비용함수의 gradient는 0에 점점 가까워지고, 학습은 매우 느려지거나 멈추게 된다.
이러한 딜레마가 GAN 학습을 매우 어렵게 한다.
4.4 Mode Collapse
학습하는동안, 생성자는 “Mode Collapse”라 불리는 항상 같은 결과물을 생성하는 현상을 보일 수 있다. GAN의 실패 케이스로 만연하다. 비록 생성자가 식별자를 속일지라도, 복합적인 현실 데이터 분포를 학습하는 것은 실패하고, 매우 적은 다양성과 함께 작은 공간에 갇히게 된다.
Mode Collapse의 결과
4.4 Lack of a Proper Evaluation Metric
GAN은 태생적으로 학습과정을 나타내는 목적함수가 없다. 좋은 평가지표 없이, 깜깜한 곳에서 일하는 것과 같다. 언제 멈춰야할지 말해주는 사인이 없는 것이다 ; 복수 개의 모델중에서 어느 것이 나은지도 말해주지 못한다.
5. Improved GAN Training
다음의 제안들은 GAN의 학습을 증진시키고 안정화하기위해 도움을 주기 위해 제의되었다.
첫 5가지 방법은 GAN의 학습의 빠른 수렴을 위한 실용적인 기술이다. 그리고 마지막 2개는 disjoint distribution 문제를 해결하기 위해 제의되었다.
(1) Feature Matching
Feature matching은 생성자의 결과와 실제 데이터 샘플을 비교하여 기대 수준의 통계값을 얻도록 하는 식별자를 최적화하는 것이다. 비용함수는 다음과 같다.
(2) Minibatch Discrimination
Minibatch discrimination은 식별자가 각 포인트를 독집적으로 처리하는 대신에, 하나의 배치안에서의 다른 데이터간의 관계를 고려하는 것이다.
하나의 배치안에서는,
(3) Historical Averaging
두 모델(D,G)에 대하여,
(4) One-sided Label Smoothing
식별자를 학습할 때, 0,1로 라벨링을 보내지 않고 0.1, 0.9로 보내는 것이 네트워크의 취약성을 감소시키는 모습을 보였다.
(5) Virtual Batch Normalization(VBN)
minibatch를 사용하는 것이 아니라, 데이터의 고정된 배치를 사용하여 데이터 샘플을 정규화하는 것이다. 이 고정된 배치는 처음에 선택되어지고 학습동안에 바뀌지 않는다.
(6) Adding Noises
4.2절에서 논의된 것 처럼,
(7) Use Better Metric of Distribution Similarity
GAN의 비용함수는
6. Wasserstein GAN(WGAN
6.1 What is Wasserstein Distance?
Wasserstein Distance는 두 확률 분포간의 사이를 측정하는 방법이다. Earth Mover’s Distance라고도 불려서, 줄여서 EM distance라고한다. 왜냐하면, 한 분포에서 다른 분포의 모양을 닮기 위해 옮겨지는 모래더미의 최소 비용이라고 해석되어진다. 비용은 “옮겨진 모래의 양”X”이동거리”로 계산된다.
비연속적인 아래의 확률을 보자. 예를 들어 두 개의 분포
- 먼저,
(P1,Q1) 을 같게하기 위해P1 에서P2 로 2만큼 옮긴다. - 그리고
(P2,Q2) 을 같게하기 위해P2 에서P3 로 2만큼 옮긴다. - 마지막으로
(P3,Q3),(P4,Q4) 을 같게하기 위해Q3 에서Q4 로 1만큼 옮긴다.
최종적으로 EM distance는
연속적인 분포를 다루게 된다면 거리 식은 다음과 같아진다.
위 식에서,
최종적으로, EM distance로 계산되는 값중에 가장 작은 값을 고른다. Wasserstein distance의 정의의 inf는 오직 최솟값에만 관심이 있다는 것을 말한다. (inf = 최소중에서 최대값(greatest lower bound))
6.2 Why Wasserstein is better than JS or KL divergence?
비록 두 분포가 겹치는 부분 없이 저차원 공간의 manifolds에 위치해도, Wasserstein distance는 여전히 의미있는 값과 연속적으로 거리를 표현한다.
다음의 예를 보자.
하지만
6.3 Use Wasserstein Distance as GAN Loss Function
sup(least upper bound)은 inf의 반대로, 최댓값을 찾고 싶은 것이다.
6.3.1 Lipschitz Continuity
새로운 형태의 Wasserstein 방법의
모든
를 만족하는 실수값
따라서 식별자는 실제 샘플과 가짜 샘플을 구별하는 지표가 아니다. 대신에 Wasserstein distance를 계산하는 것을 돕기 위한
모든 것을 잘 작동시키기 위해서는
기존 GAN과 비교했을 때, WGAN은 다음의 변화를 수행한다.
- 비용함수가 업데이트 된 후, 가중치는 [-c,c] 범위의 값으로 고정된다.
- Wasserstein distance로부터 파생된 새로운 비용함수는 더 이상 로그형태가 아니다.(logarithm) 식별자 모델은 직접적인 구별을 하지 않고 실제와 생성된 데이터 분포 사이의 Wasserstein 방법으로 측정하는데 도움을 준다.
- 저자는 실험적으로 RMSProp를 사용할 것을 추천한다. 왜냐하면 모멘텀 기반의 optimizer인 Adam은 학습동안의 모델의 불안정성을 야기할 수 있기 때문이다.
슬프게도, WGAN은 완벽하지 않다. “가중치를 고정시키는 것은 Lipshitz 를 강제하는 것과 같다”라며 말하기도 한다. WGAN은 여전히 불안정한 학습, 가중치 고정이후 느린 수렴(고정범위가 클 경우), gradient vanishing(고정범위가 너무 작을 때,)으로부터 고통받는다.
이후의 발전으로는 clipping 보다는 “gradient penalty”가 더 낫다는 논의가 있었다.
요약하자면 기존의 distance 방법을 "EM distance"로 바꾼 것 + Backpropagation시 weight를 clipping한 것 + Optimizer를 RMSProp로 한 것이 GAN의 안정성을 도모했다고 볼 수 있다.
- GAN의 발전..!
- 0. Abstract
- 1. Introduction
- 2. Kullback–Leibler and Jensen–Shannon Divergence
- 3. Generative Adversarial Network
- 3.1 What is the Optimal Value for D
- 3.2 What is the Global Optimal
- 3.3 What does the Loss Function Represent?
- 4. Problems in GANs
- 4.1 Hard to Achieve Nash Equilibrium
- 4.2 Low Dimensional Supports
- 4.3 Vanishing Gradient
- 4.4 Mode Collapse
- 4.4 Lack of a Proper Evaluation Metric
- 5. Improved GAN Training
- 6. Wasserstein GAN(WGAN
- 6.1 What is Wasserstein Distance?
- 6.2 Why Wasserstein is better than JS or KL divergence?
- 6.3 Use Wasserstein Distance as GAN Loss Function