Generative Adversarial Nets
Generative Adversarial Nets
- Link : https://arxiv.org/abs/1406.2661
Abstract
์ด ๋ ผ๋ฌธ์์๋ ๊ฒฝ์์ ํตํด Generative model์ ํ๋ จ์ํค๋ ์๋ก์ด ํ๋ ์์ํฌ๋ฅผ ์ ์ํ๋ค. ๊ฒฝ์์ Generative model G์ Discriminative model D ์ฌ์ด์์ ์ด๋ค์ง๋๋ฐ, G๋ ์ค์ ๋ฐ์ดํฐ์ ๋ถํฌ๋ฅผ ๋ชจ์ฌํ๋ ๋ชจ๋ธ์ด๊ณ , D๋ ๋ฐ์ดํฐ $x$๊ฐ ์ฃผ์์ก์ ๋, $x$๊ฐ G๊ฐ ์์ฑํ ๋ฐ์ดํฐ ๋ถํฌ์์ sampling๋๊ฑด์ง, ์ค์ ๋ฐ์ดํฐ์ธ์ง ๊ตฌ๋ณํ๋ ๋ชจ๋ธ์ด๋ค.
๋ชจ๋ธ G์ ํ์ต ๋ชฉ์ ์ D๊ฐ ์๋ชป ํ๋จํ ํ๋ฅ ์ ์ต๋ํ์ํค๋ ๊ฒ์ผ๋ก, ์ด๋ฌํ ํ๋ ์์ํฌ๋ minimax two-player game๊ณผ ๊ฐ๋ค.
์์์ ํจ์ G์ D์ ๋ํด, uniqueํ solution์ด ์กด์ฌํ๋ฉฐ ๊ทธ solution์ G๊ฐ training data๋ฅผ ์๋ฒฝํ ๋ชจ์ฌํ์ฌ, D๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ๋ถํด๋ผ ํ๋ฅ ์ด 1/2์ผ ๋์ด๋ค.(์ฐ๋ ๊ฒ๊ณผ ๊ฐ๋ค)
G์ D๊ฐ multilayer perceptrons์ผ ๊ฒฝ์ฐ, ์ ์ฒด ์์คํ ์ Markov chains๋ unrolled approximate inference networks์์ด backpropagation์ผ๋ก ํ์ต์ด ๊ฐ๋ฅํ๋ค.
1 Introduction
Backpropagation๊ณผ dropout๊ณผ ๊ฐ์ ์ฃผ์ ์๊ณ ๋ฆฌ์ฆ ๋์ Deep Learing์์๋ ํนํ Discriminative model์ด ํฐ ์ฑ๊ณต์ ์ด๋ค๋ค.
- Discriminative model์ ๊ณ ์ฐจ์์ ๋ง์ ์ ๋ณด๊ฐ ๋ด๊ธด ๋ฐ์ดํฐ์ class label์ mappingํ๋ ๋ชจ๋ธ์ ๋งํ๋ค.
ํ์ง๋ง Deep generative model์์๋ ์ฒ๋ฆฌํ๊ธฐ ์ด๋ ค์ด probablistic computation์ผ๋ก ์ธํด ๊ทธ ์ํฅ์ด ์ ์๋๋ฐ, ์ด ๋ ผ๋ฌธ์์๋ ์ด๋ฌํ ์ด๋ ค์๋ค์ ํผํ๋ ์๋ก์ด generative model ์ถ์ ๊ณผ์ ์ ์ ์ํ๋ค.
Adversarial nets framework์์ generative model์ discriminative model์ ์ ์ผ๋ก ์๋ํ๋๋ฐ, discriminative model์ sample์ด model distribution์์ ๋์จ๊ฑด์ง, data distribution์์ ๋์จ๊ฑด์ง ๊ตฌ๋ณํ๋๋ก ํ์ตํ๋ค.
Generative model์ ์ง์ง์ธ์ง ๊ฐ์ง์ธ์ง ์๋ณ๋์ง ์๋ ๊ฐ์ง ํตํ๋ฅผ โ์ ์กฐโํ๋ ค๊ณ ํ๋ ์ฌ๊ธฐ๊พผ์ด๋ผ ํ๋ค๋ฉด, discriminative model์ ์ฌ๊ธฐ๊พผ์ด ๋ง๋ ๊ฐ์ง ํตํ๋ฅผ โ์๋ณโํ๋ ค๊ณ ํ๋ ๊ฒฝ์ฐฐ์ด๋ผ ๋น์ ํ ์ ์๋ค.
๋์ ๊ฒฝ์์ ์ง์ง ํตํ์ ๊ฐ์ง ํตํ๊ฐ ๋ ์ด์ ๊ตฌ๋ณ์ด ๋์ง ์์ ๋๊น์ง ์ด๋ค์ง๋ฉฐ, ๊ทธ๋์ ์ฌ๊ธฐ๊พผ์ ๊ฐ์ง ํตํ โ์ ์กฐโ๋ฐฉ๋ฒ๊ณผ ๊ฒฝ์ฐฐ์ ๊ฐ์ง ํตํ โ์๋ณโ๋ฐฉ๋ฒ์ ๊ฐ์ ๋๊ฒ ๋๋ค.
์ด๋ฐ (๊ฒฝ์)ํ๋ ์์ํฌ๋ ๋ง์ ๋ชจ๋ธ์ ๊ตฌ์ฒด์ ์ธ ํ์ต ์๊ณ ๋ฆฌ์ฆ๊ณผ ์ต์ ํ ์๊ณ ๋ฆฌ์ฆ์ ๋ง๋ค์ด๋ผ ์ ์๋ค.
์ด ๋ ผ๋ฌธ์์๋ multilayer perceptron์ธ generative model์ input์ผ๋ก random noise๋ฅผ ๋ฃ์ด sample์ ๋ง๋ค๊ณ , discriminative model ๋ํ multilayer perceptron์ธ ํน๋ณํ ์ผ์ด์ค๋ฅผ ํ์ํด๋ณด๊ณ ์ ํ๋ค.
์ฐ๋ฆฌ๋ ์ด๋ฐ ํน๋ณํ ์ผ์ด์ค๋ฅผ Adversarial Nets๋ผ ํ๋ค.
์ด ๊ฒฝ์ฐ์, ๋ ๋ชจ๋ธ ๋ชจ๋ ์ค์ง backpropagtion๊ณผ dropout ์๊ณ ๋ฆฌ์ฆ๋ง์ ์ด์ฉํด์ ํ๋ จ์ํค๊ณ , froward propagtion๋ง์ผ๋ก generative model์ผ๋ก sample์ ๋ง๋ค ์ ์๋ค.
Adversarial nets
Adversarial modeling framework๋ ๋ชจ๋ธ๋ค์ด ๋ชจ๋ multilayer perceptrons(deep learning models)์ผ ๋ ํจ๊ณผ์ ์ด๋ค.
- ๋ฐ์ดํฐ $x$์ ๋ํ generator์ distribution์ $p_g$
- input noise ๋ณ์๋ฅผ $p_z(z)$
- $p_z(z)$๋ฅผ data space์ mapping ํ๋ ๋ชจ๋ธ $G(z:\theta_g)$
G๋ $\theta_g$๋ก ์ด๋ฃจ์ด์ง multilayer perceptron ๋ชจ๋ธ์ด๋ฉฐ, $D(x;\theta_d)$ ๋ํ multilayer perceptron์ผ๋ก x๊ฐ $p_g$๊ฐ ์๋ real data์ ๋ฐ์ดํฐ์ผ ํ๋ฅ ์ single scalar๋ก ์ถ๋ ฅํ๋ค.
Training example G๊ฐ ๋ง๋ samples์ ๋ํด D๊ฐ label์ ์ ํํ๊ฒ ๋ถ์ฌํ ํ๋ฅ ์ ์ต๋ํํ๋๋ก D๋ฅผ ํ๋ จ์ํค๋ ๋์์, G๋ $log(1-D(G(z)))$๋ฅผ ์ต์ํํ๋๋ก ํ๋ จ์ํจ๋ค.
G๊ฐ $log(1-D(G(z)))$๋ฅผ ์ต์ํ์ํค๋๋ก ํ๋ จ์ํจ๋ค๋ ๊ฒ์ D๊ฐ $G(z)$๋ฅผ 1์ ๊ฐ๊น๋๋ก ํ๋ จ์ํจ๋ค๋ ๊ฒ์ด๊ณ , ์ด๋ G๊ฐ $z$๊ฐ real data๋ก ๋ถ๋ฅ๋ ํ๋ฅ ์ ์ต๋ํํ๋๋ก ํ๋ จ์ํจ๋ค๋ ๊ฒ์ด๋ค.
$\underset{G}{min}\ \underset{D}{max}V(D,G) = E_{x\sim p_{data(x)}}[logD(x)]+E_{z\sim p_{z(z)}}[log(1-D(G(z)))]$
Adversarial nets์ ์ด๋ก ์ ์ธ ๋ถ์์ ์ดํด๋ณด์. ์ฌ๊ธฐ์๋ D์ G์ ํ์ต ๊ณผ์ ์ ๋ณด์ฌ์ค๋ค.
(a) ํ์ต์ด ๋์ง ์์ ์ด๊ธฐ ์ํ์ด๋ค. $p_g$์ $p_{data}$์ ํํ๊ฐ ๋น์ทํ ์ ๋์ด๋ฉฐ, discriminative function์ด ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ถ์ ์ผ๋ก ์ ํํ๊ฒ ๋ถ๋ฅํจ์ ์ ์ ์๋ค.
(b) D์ ์๊ณ ๋ฆฌ์ฆ ๋ด๋ถ์์ D๊ฐ ๋ฐ์ดํฐ์ sample์ ์๋ณํ๋๋ก ํ์ต๋ ์ ์๊ฒ, D๊ฐ $D^*(x)=\frac{p_{data}(x)}{p_{data}(x)+p_g(x)}$(=data x๊ฐ G๊ฐ ๋ง๋ ๋ฐ์ดํฐ์ผ์ง, ์ค์ ๋ฐ์ดํฐ์ผ์ง์ ๋ํ ํ๋ฅ )๋ก ์๋ ดํ๋๋ก ํ์ต๋๋ค.
(c) G๋ฅผ ํ์ต์ํจ๋ค. ์ด๋, D์ gradient๊ฐ G(z)๊ฐ ์ค์ ๋ฐ์ดํฐ๋ก ๋ถ๋ฅ๋๊ฒ๋ ํ์ต๋๋๋ก ํ์ต์ํจ๋ค.
(d) ์ด๋ ๊ฒ ํ์ต์ ๊ณผ์ ์ ๊ฑฐ์น๋ค ๋ณด๋ฉด, ์ฆ G์ D๊ฐ ์ถฉ๋ถํ ๋ฅ๋ ฅ์ด ๋๋ฉด ๋์ ์ฑ๋ฅ์ด ๋ ์ด์ ํฅ์๋์ง ๋ชปํ๋ ํฌ์ธํธ์ ๋ค๋ค๋ฅธ๋ค. ๊ทธ ์ด์ ๋ $p_g=p_{data}$๊ฐ ๋์ด, discriminator๊ฐ ๋ ์ด์ ๋ ๊ฐ์ ๋ถํฌ๋ฅผ ๊ตฌ๋ถํ์ง ๋ชปํ๋ $D(x)=\frac{1}{2}$๊ฐ ๋๊ธฐ ๋๋ฌธ์ด๋ค.
- $D(x)=\frac{1}{2}$๋ผ๋ ๊ฒ์, D๊ฐ ๋ฐ์ดํฐ๊ฐ ์ง์ง์ธ์ง ๊ฐ์ง์ธ์ง ๊ตฌ๋ถํ๋๊ฒ ์ฐ๋๊ฑฐ๋ ๋ค๋ฆ์๋ค๋ ๋ป์ด๋ค. ์ฆ, ์ง์ง์ผ ํ๋ฅ ๊ณผ ๊ฐ์ง์ผ ํ๋ฅ ์ด 50%๋ 50%๋ผ๋ ๊ฒ
ํ์ต ๊ณผ์ ์ inner loop์์ D๊ฐ ์ต์ ํ๋๋๋ก ๊ณ์ ํ์ต์ํค๋ ๊ฑด, ๊ณ์ฐ์ ์ผ๋ก ๋ถ๊ฐ๋ฅํ๊ณ overfitting์ด ๋ ์ ์๋ค. ๋์ ์ D๋ฅผ k๋ฒ ํ์ตํ๊ณ , G๋ฅผ 1๋ฒ ํ์ตํ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด, D๊ฐ optimalํ solution์ ๊ฐ๊น๋๋ก ์ ์งํ ์ ์๊ณ , ์ด๋ฅผ ํตํด G๊ฐ ์ถฉ๋ถํ ์ฒ์ฒํ ํฅ์๋๋๋ก ํ์ต์ํฌ ์ ์๋ค.
ํ์ต ์ด๋ฐ์๋ G์ ์ฑ๋ฅ์ด ํํธ ์๋๋ฐ, ์ด๋๋ D๊ฐ data๋ฅผ ๋๋ฌด ์ ๊ตฌ๋ณํด๋ฒ๋ ค์ $log(1-D(G(z)))$๊ฐ saturate(ํฌํ)๋์ด gradient๊ฐ์ด ๋๋ฌด ์์, ํ์ต์ด ์ ๋์ง ์๋๋ค. ๋ฐ๋ผ์, G๊ฐ $log(1-D(G(z)))$๋ฅผ ์ต์ํ์ํค๋๋ก ํ๋ ๊ฒ๋ณด๋ค, G๊ฐ $D(G(z))$๋ฅผ ์ต๋ํํ๋๋ก ํ๋ จ์ํค๋ฉด, ํ์ต ์ด๋ฐ์ ๋ ๋์ gradient๋ฅผ ๋ฐํ์ผ๋ก ํ์ต์ ํจ์จ์ ๋์ผ ์ ์๋ค.
4 Theoretical Results
4.1 Global Optimality of $p_g=p_{data}$
minmax game์ด $p_g=p_{data}$์ global optimum์ ๊ฐ์ง๊ณ ์์์ ์ฆ๋ช ํ๋ค. ์ฆ, $\underset{G}{min}\ \underset{D}{max}V(D,G)$์์ด $p_g=p_{data}$๊ฐ ๋๋๋ก ํ์ต๋ ์ ์์์ ๋ณด์ธ๋ค.
Proposition 1.
๊ณ ์ ๋ G๊ฐ ์์ ๋, ์ต์ ์ discriminator D๋ $D^*G(x)=\frac{p{data}(x)}{p_{data}(x)+p_g(x)}$๊ฐ ๋๋ค.
Proof. ์ด๋ค ๊ณ ์ ๋ G๊ฐ ์์ ๋, discriminator D์ training criterion์ $V(G,D)$๋ฅผ ์ต๋๊ฐ์ผ๋ก ๋ง๋๋ ๊ฒ์ด๋ค. $V(G,D)= \int_{x}^{}p_{data}(x)log(D(x))dx\ + \ \int_{z}^{}p_{z}(z)log(1-D(g(z)))dz\ = \ \int_{x}^{}p_{data}(x)log(D(x))\ +\ p_{x}(x)log(1-D((x)))dx$
์ด ์์ด ์ต๋๊ฐ์ ๊ฐ์ง ๋์ $D(x)$๊ฐ์ ์ฐพ๊ธฐ ์ํด ๋ฏธ๋ถํ๋ค. $V(G,D)$๋ $y\rightarrow a\ log(y)+b\ log(1-y)$์ ํํ๋ก, ๋ฏธ๋ถํ๋ฉด $a/y - b/(1-y)$๊ฐ ๋์ค๊ณ , ์ด ์์ $y$์ ๋ํด ์ ๋ฆฌํ๋ฉด, $y=a/(a+b)$๊ฐ ๋์จ๋ค. $a=p_{data}(x), \ b=p_g(x)$์ด๋ฏ๋ก, $D(x)=p_{data}(x)/(p_{data}(x)+p_g(x))$์ผ๋ ์ต๋๊ฐ์ ๊ฐ์ง๋ค.
D๋ฅผ ํ์ต์ํค๋ ๋ชฉ์ ์ ์กฐ๊ฑด๋ถํ๋ฅ $P(Y=y | x)$์ log-likelihood๋ฅผ ์ต๋ํํ๋ ๊ฒ์ด๋ผ ํด์ํ ์ ์๋๋ฐ, ์ด๋ $Y$๋ $x$๊ฐ $p_{data}(y=1)$์์ ์จ๊ฑด์ง, $p_g(y=0)$์์ ์จ๊ฑด์ง๋ฅผ ๋ํ๋ธ๋ค. |
๋ฐ๋ผ์, $\underset{G}{min}\ \underset{D}{max}V(D,G)$ ์์ ๋ค์๊ณผ ๊ฐ์ด ๋ค์ ์ธ ์ ์๋ค.
$C(G) = \underset{D}{max}V(G,D) = E_{x \sim p_{data}}[log\frac{p_{data}(x)}{p_{data}(x)+p_g(x)}] + E_{x \sim p_g}[log\frac{p_g(x)}{p_{data}(x)+p_g(x)}]$
Theorem 1.
$C(G)$์ ํ์ต ๊ธฐ์ค(training criterion)์ global minimu๊ฐ์ $p_g=p_{data}$์ผ๋๋ง ์ป์ด์ง๋ค. ์ด๋, $C(G)=-log4$์ด๋ค.
Proof.
$p_g=p_{data}$์ผ ๋, $D^_G(x)=\frac{1}{2}$ ๊ฐ์ ๊ฐ์ง๋ค. ($D^G(x)=p{data}(x)/(p_{data}(x)+p_g(x))$)
๋ฐ๋ผ์, $C(G)=log\frac{1}{2}+log\frac{1}{2}=-log4$๊ฐ ๋๋ค.
์ฆ, $C(G)$์ global minimum๊ฐ์ด $-log4$๊ฐ ๋๊ณ , G๊ฐ ์ค์ data์ distribution์ ์๋ฒฝํ๊ฒ ๋ชจ์ฌํ ๋ ($p_g=p_{data}$) ์ป์ด์ง ์ ์๋ค.
6 Advantages and disadvantages
Disadvantages
1) $p_g(x)$์ ๋ํ ๋ช ์์ ์ธ ํํ์ด ์กด์ฌํ์ง ์๋๋ค.
2) ํ๋ จ ์ค D์ G๊ฐ ์๋ก ์ ๋๊ธฐํ ๋์ด์ผ ํ๋ค. ์ฆ, D๊ฐ ํ์ต๋๊ธฐ ์ ์ G๊ฐ ๋๋ฌด ๋นจ๋ฆฌ ๋ง์ด ํ์ต๋์ด์๋ ์๋๋ค. D์ ๊ฐ์ค์น๊ฐ ์ ๋ฐ์ดํธ ๋๊ธฐ ์ ์ G์ ๊ฐ์ค์น๋ง ๋๋ฌด ๋ง์ด ์ ๋ฐ์ดํธ ๋๋ฉด, G๊ฐ $p_{data}$์ ๋ถํฌ๋ฅผ ๋ฐ๋ผ๋๋ฐ ์ถฉ๋ถํ ๋ค์์ฑ์ ์ง๋์ง ๋ชปํ๊ฒ ๋์ด โHelvetica scenarioโ์ ๋น ์ง๊ฒ ๋ ์๋ ์๋ค.
Adavantages
1) backpropagation์ผ๋ก gradient๋ฅผ ๊ตฌํ ์ ์์ด Markov chain์ด ํ์ํ์ง ์๋ค.
2) ํ์ต ์ค inference๋ฅผ ํ ํ์๊ฐ ์๋ค.
3) ๋ค์ํ ํจ์์ Adversarian nets framework๋ฅผ ํฉ์น ์ ์๋ค.
4) Generator network๊ฐ data sample์ ๋ฐํ์ผ๋ก ์ง์ ์ ๋ฐ์ดํธ ๋๋๊ฒ ์๋, discriminator๋ฅผ ํตํด ์ป์ gradient๋ก ์ ๋ฐ์ดํธ๋ฅผ ์งํํ์ฌ statistical advantage๋ฅผ ์ป์ ์ ์๋ค.
7 Conclusions and future work
-
G, D์ c๋ฅผ input์ผ๋ก ์ถ๊ฐํ๋ฉด, Conditional Generative Model $p(x c)$์ ์ป์ ์ ์๋ค. - Auxiliary network๊ฐ $x$๋ฅผ ๊ฐ์ง๊ณ $z$๋ฅผ ์์ธกํ๋๋ก ํ๋ จํ์ฌ Learned approximate inference๋ฅผ ์ํํ ์ ์๋ค.
-
Parameters๋ฅผ ๊ณต์ ํ๋ conditional model์ ํ์ตํ์ฌ, $x$์ ๋ชจ๋ ๋ถ๋ถ์งํฉ $S$์ ๋ํด ์กฐ๊ฑด๋ถํ๋ฅ $p(x_s x_{\not{s}})$๋ฅผ ์ป์ ์ ์๋ค. - Semi-supervised learning : labeled ๋ฐ์ดํฐ๊ฐ ์ ์ ๋ discriminator๋ inference net์์ ์ป์ features๋ก classifier์ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์๋ค.
- Efficiency improvements : G์ D๋ฅผ ์กฐ์ ํ๋ ๋ ์ข์ ๋ฐฉ๋ฒ์ ๊ณ ์ํ๊ฑฐ๋ ํ๋ จ ์ $z$๋ฅผ sampleํ๋ ๋ ์ข์ ๋ฐฉ์์ ์ ํ์ฌ ํ์ต ์๋๋ฅผ ํฌ๊ฒ ๊ฐ์ํ์ํฌ ์ ์๋ค.
์ด ๋ ผ๋ฌธ์ adversarial modeling framework์ ์ค์ฉ ๊ฐ๋ฅ์ฑ์ ์ฆ๋ช ํ์๊ณ , ์ด ์ฐ๊ตฌ์ ๋ฐฉํฅ์ฑ์ด ์ ์ฉํจ์ ์์ฌํ๋ค.
Leave a comment