Computer Vision/GAN

GAN(Generative Adversarial Networks) 개념 정리 - 2

논문 : arxiv.org/abs/1406.2661 [NIPS 2014]


  이전 포스팅인 개념 정리 1에서는 GAN의 개념, 구조, 최적화 과정, 비용함수, 코드 설명에 관해 다뤘다면 이번 포스팅에서는 논문에 나온 이론적 증명 부분을 자세히 다루고자 한다.

 

GAN의 비용함수는 다음과 같은 Minmax Problem이다. 이 비용함수가 잘 작동하는지 알아보기 위해서는 다음과 같은 질문 2개에 대해 답할 수 있어야 한다.

 

1. 과연 극값(최대/최소값)이 존재하는가? (최적화 과정과 밀접한 관련이 있음. 극값이 있으면 최적화가 쉬워짐.)

2. 최대/최소의 값이 존재하며 찾을 수 있는가? (극값이 존재하더라도 local minima에 빠질 수 있기 때문에)

1. 과연 극값(최대/최소값)이 존재하는가?

GAN의 비용함수는 G와 D를 변수로 갖는 복잡한 함수이기 때문에 논문에서는 G를 fix하고 이를 C(G)라 하고 증명을 진행했다.

 

 

미분했을 때 미분 값이 0이 되는 지점이 있다면 극값이 존재하는 것이다.

따라서 위에서 구한 식을 D*_G(x)에 관해 미분하고 0이 되는 지점이 있는지 찾는다.

 

 

P_data(x)/P_data(x)+P_g(x) 라는 특정한 지점에서 미분값이 0이 되므로 극값이 존재한다. 극값이 존재함을 증명했으니 다음으로 최대/최소의 값이 존재하며 찾을 수 있는지 증명해보고자 한다.

 

2. 최대/최소의 값이 존재하며 찾을 수 있는가?

 

 

①,②로 표시한 부분에는 Kullback-Leibler Divergence 와 Jensen-Shannon Divergence가 등장하는데 보충 설명이 필요할 것 같아 따로 정리를 해보았다.

 

  먼저 ①에 등장하는 Kullback-Leibler Divergence(쿨백-라이블러 발산)두 확률분포의 차이를 계산하는 데에 사용하는 함수로 분포pq가 얼마나 비슷하게 생겼는지를 알기 위한 척도이다. 즉, 원본 데이터가 가지고 있는 정보량을 잘 보존할수록 원본 데이터와 비슷한 모델이라는 것이다. 

KL-Divergence는 그 값이 작을수록 두 분포가 유사하다는 것을 의미하고 값이 0이 되면 두 분포가 같은 분포라는 뜻이 된다. 

 

KL-Divergence는 p와 q의 cross entropy에서 p의 엔트로피를 뺀 값이다. 결과적으로 두 분포의 차이를 나타낸다.

 

KL-Divergence 식

 

따라서 위의 식을 다음과 같이 KL-Divergence 식으로 바꿀 수 있는 것이다.

 

 

KL-Divergence는 대표적으로 다음과 같은 특성을 가진다.

 

  두번째 특성에서 알 수 있듯이 KL-Divergence는 Symmetric(대칭) 하지 않다. 따라서 KL-Divergence를 Symmetric 하게끔개량한 것이 Jensen-Shannon Divergence이고 수식은 다음과 같다.

 

Jensen-Shannon Divergence 식

 

따라서 위의 식을 다음과 같이 Jensen-Shannon Divergence 식으로 바꿀 수 있는 것이다.

 

 

 

 

 

JSD는 항상 양수이고 두 distribution이 일치할 때만 0이므로 −log(4)가 C(G)의 global minimum이며 그 유일한 해가 p_g=p_data임을 알 수 있다. 즉, 최대/최소 값이 존재하며 그 값을 찾을 수 있음을 증명할 수 있다.