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$
- $$ P(Y=y|x) $$
- 이 수식에서$$ \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)))]$$
- $\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 $$ - 노이즈 분포인 $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 $$ - 우리의 목표는 해당 적분식의 최대값을 구하는 것이고, 적분식의 최대값을 구하는 것은 적분식 안에 있는 함수의 최대값을 구하는것과 같다.
- 적분식 안에 있는 함수는 $alog(y) + blog(1 - y)$ 형태랑 같고, 이 식을 미분한 값이 0이 되는 $y$값은 구간 $[0, 1]$에서 최대값 $\frac{a}{a + b}$를 가진다.
- 따라서 우리는 $a = p_{data}, b = p_g$ 라고 하면 위에서 언급한 이 값이 나온다.
- 증명 끝.
- 이 증명한 명제 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$를 가진다.
증명
- $p_g=p_{data}$일때 $D^*_{G}(x) = \frac{1}{2}$이다. 이것은 명제 1 에서 확인 가능
- 따라서 이 값을 8번에 첫번째 수식에 넣으면 평균의 성질에 따라 $\mathbb{E}(aX+b)=a\mathbb{E}(x)+b$ 이므로
- 다음과 같이 정리가 된다.
- 이제 우리는 $C(G)$가 $p_g=p_{data}$일때 최솟값을 가진다는 사실만 증명하면 정리 1이 증명 된다.
- 8번에 첫번째 수식에서 다음과 같은 식으로 변환을 하자.
- 해당 식은 다음과 같이 정리가 되며,
$$ \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 $$ - 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 |
---|