Generative Adversarial Nets (GAN) 증명

falconlee236

·

2024. 1. 20. 19:28

반응형

4. Theoretical Results

$\min\limits_{G}\max\limits_{D}V(D,G)=\mathbb{E}{x\sim p{data}(x)}[logD(x)]+\mathbb{E}{z\sim p{z}(z)}[log(1-D(G(z)))]$

  • $G$는 $z \sim p_z$를 만족하는 $z$에서 얻을 수 있는 $G(z)$값 들의 확률 분포인 $p_g$를 암묵적으로 정의할 수 있다.
  • 따라서 만약에 충분한 용량과 훈련 시간이 주어진다면 아래에서 말하는 알고리즘 1이 $p_{data}$의 값을 추정하는데 좋다.
  • 우리는 확률 밀도 함수 공간 안에서 수렴하는 것을 확인하기 위해서 해당 모델이 용량을 무한정 가지고 있다고 가정한다.
    • 즉 이 절의 결과는 매개변수가 없는 환경에서 결론을 낼 것이다.
  • 우리는 4.1절에서 해당 minmax 게임이 $p_g=p_{data}$일때 최적인 해를 가진다는 것을 증명할 것이고, 4.2절에서는 알고리즘 1이 아래에 있는 방정식을 최적화 한다는 것을 보여주고 따라서 원하는 결과를 이 알고리즘 1을 통해서 얻을 수 있다는 것을 보여줄 것이다.

4.1 Global Optimality of $p_g=p_{data}$

먼저 우리는 $G$가 고정되었을 때, 최적의 $D$값을 찾아보자.

명제 1

  • $G$가 고정되었을 때, 최적의 판별값 $D$는 다음과 같다.

$$ D^*_{G}(x)=\frac{p{data}(x)}{p_{data}(x)+p_g(x)} $$

증명

  • $D$의 목표는 $V(G, D)$를 최대화 하는것이다.
  • 즉 다시말하자면 $x$가 다음 둘중 하나일때
    • 실제 training data의 분포 $p_{data}$ → 이 경우는 $y = 1$
    • $G$가 만들어낸 가짜 data의 분포 $p_g$ → 이 경우는 $y = 0$
    다음 조건부 확률을 최대화 하는 것이라고 생각 할 수 있다.해당 확률의 뜻은 어떠한 데이터 $x$가 이미 주어졌을 때, 각각의 데이터를 참 $(y = 1)$, 거짓 $(y = 0)$으로 분류할 확률을 의미한다.
  • $$ P(Y=y|x) $$
  1. 이 수식에서$$ \min\limits_{G}\max\limits_{D}V(D,G)=\mathbb{E}_{x\sim p_{data}(x)}[logD(x)]+\mathbb{E}_{z\sim p_{z}(z)}[log(1-D(G(z)))]$$
  2. $\mathbb{E}[X]=\int_{-\infty}^{\infty}xf(x)dx$ 이므로 다음과 같이 변형 가능하다.
    $$ V(G, D)=\int_{x}p_{data}(x)log(D(x))dx + \int_{z}p_z(z)log(1-D(g(z)))dz $$
  3. 노이즈 분포인 $p_z(z)$에서 뽑은 $z$는 $g$라는 generator에 의해서 $x$로 mapping이 되며, 해당 $x$들의 분포는 $p_g(x)$를 가진다. 따라서 다음과 같이 적분식을 하나로 통합이 가능하다.
    $$ V(G, D)=\int_{x}p_{data}(x)log(D(x))dx + p_g(x)log(1-D(x))dx $$
  4. 우리의 목표는 해당 적분식의 최대값을 구하는 것이고, 적분식의 최대값을 구하는 것은 적분식 안에 있는 함수의 최대값을 구하는것과 같다.
  5. 적분식 안에 있는 함수는 $alog(y) + blog(1 - y)$ 형태랑 같고, 이 식을 미분한 값이 0이 되는 $y$값은 구간 $[0, 1]$에서 최대값 $\frac{a}{a + b}$를 가진다.
  6. 따라서 우리는 $a = p_{data}, b = p_g$ 라고 하면 위에서 언급한 이 값이 나온다.
  7. 증명 끝.
  8. 이 증명한 명제 1 의 결과를 가지고 우리는 다음 함수 $C(G)$를 재구성할 수 있다.
    $$C(G)= \max\limits_{D}V(G,D)\\        =\mathbb{E}_{x\sim p_{data}(x)}[logD^*_G(x)]+\mathbb{E}_{z\sim p_{z}(z)}[log(1-D^*_G(G(z)))]$$
    $$\begin{split} C(G)&= \max\limits_{D}V(G,D)\\ &=\mathbb{E}_{x\sim p_{data}(x)}[logD^*_G(x)]+\mathbb{E}_{z\sim p_{z}(z)}[log(1-D^*_G(G(z)))] \\ &=\mathbb{E}_{x\sim p_{data}(x)}[logD^*_G(x)]+\mathbb{E}_{x\sim p_{g}(x)}[log(1-D^*_G(x))] \\ &= \mathbb{E}_{x\sim p_{data}(x)}\Bigg[log\frac{p_{data}(x)}{p_{data}(x)+p_g(x)}\Bigg]+\mathbb{E}_{x\sim p_{g}(x)}\Bigg[log\frac{p_{g}(x)}{p_{data}(x)+p_g(x)}\Bigg] \\ \end{split}$$

정리 1

$C(G)$은 $p_g = p_{data}$일때 최솟값 $-log4$를 가진다.

증명

  1. $p_g=p_{data}$일때 $D^*_{G}(x) = \frac{1}{2}$이다. 이것은 명제 1 에서 확인 가능
    1. 따라서 이 값을 8번에 첫번째 수식에 넣으면 평균의 성질에 따라 $\mathbb{E}(aX+b)=a\mathbb{E}(x)+b$ 이므로
    2. 다음과 같이 정리가 된다.
    $$ \mathbb{E}_{x\sim p{data}}[-log2]+\mathbb{E}_{x \sim p_y}[-log2] = -log4 $$
  2. 이제 우리는 $C(G)$가 $p_g=p_{data}$일때 최솟값을 가진다는 사실만 증명하면 정리 1이 증명 된다.
    1. 8번에 첫번째 수식에서 다음과 같은 식으로 변환을 하자.
    $$ \int_xP_{data}(x)\left[log\left(\frac{1}{2}\times\frac{P_{data}(x)}{\frac{P_{data}(x)+P_g(x)}{2}}\right)\right]+P_{g}(x)\left[log\left(\frac{1}{2}\times\frac{P_{g}(x)}{\frac{P_{data}(x)+P_g(x)}{2}}\right)\right]dx $$
  3.  해당 식은 다음과 같이 정리가 되며,
    $$ \int_x-2log2dx+ \int_xP_{data}(x)\left[log\left(\frac{P_{data}(x)}{\frac{P_{data}(x)+P_g(x)}{2}}\right)\right]+\int_xP_{g}(x)\left[log\left(\frac{P_{g}(x)}{\frac{P_{data}(x)+P_g(x)}{2}}\right)\right]dx $$
  4. c. 확률 밀도 함수를 음의 무한대부터 양의 무한대까지 적분을 하면 1이므로 최종적으로 다음과 같은 식이 나온다.
    $$ \int_xP_{data}(x)\left[log\left(\frac{P_{data}(x)}{\frac{P_{data}(x)+P_g(x)}{2}}\right)\right]+\int_xP_{g}(x)\left[log\left(\frac{P_{g}(x)}{\frac{P_{data}(x)+P_g(x)}{2}}\right)\right]dx - log4 $$

 

 

 

두 분포가 유사한지 판별하는 척도중 하나인 Kullback-Leibler divergence는 다음과 같이 정의한다.
$$ \begin{split} D_{KL}(P||Q)&=H(P,Q)-H(P)\\ &=-\sum_ip_{i}logq_i+\sum_ip_ilogq_i =\sum_ip_ilog\frac{p_i}{q_i} \end{split} $$

그리고 이 KL을 계량한 Jensen-Shannon divergence는 다음과 같이 정의한다. 이 식의 특징은 $P = Q$이면 값이 $0$이며 항상 양수인 값을 가진다는 점이다.
$$ JSD\left(P||Q\right)=\frac{1}{2}KL\left(P||M\right)+\frac{1}{2}KL\left(Q||M\right) \quad\left(\therefore M=\frac{1}{2}\left(P+Q\right)\right) $$

따라서 $C(G)$를 $KL$에 대해 정리한다면 다음과 같은 식을 얻을 수 있다.
$$ C(G)=-log4+KL\left(P_{data}||\frac{p_{data}+p_g}{2}\right)+KL\left(p_g||\frac{p_{data}+p_{g}}{2}\right) $$

그리고 이 식을 $JSD$ 에 대해 정리한다면 다음을 얻을 수 있다.

$$ C(G)=-log4+2JSD\left(P_{data}||p_g\right) $$

$C(G)$를 최소화하기 위해서는 $JSD$가 최솟값을 가져야하며 $JSD$ 의 특성에 따라 $p_{data}=p_g$일때 $JSD\left(p_{data}||p_g\right)$는 최솟값 $0$을 가진다.

따라서 $p_{data}=p_{g}$일때 $C(G)$는 최솟값 $-log4$를 가진다.

증명 끝.

반응형

'논문 리뷰' 카테고리의 다른 글

Generative Adversarial Nets(GAN) 리뷰  (0) 2024.01.20