[๋ ผ๋ฌธ์ ๋ฆฌ๐] Generative Adversarial Nets
Generative Adversarial Nets
- GAN -
๋ ผ๋ฌธ์๋ณธ๐
์ด๋ฒ ๋ ผ๋ฌธ์ GAN ์ ์์ด๊ฐ ๋๋ ์ด์ ๊ตฟํ ๋ก์ ๋ ผ๋ฌธ์ ๋ฆฌ๋ทฐํ๊ฒ ์ต๋๋ค~.
Generative Adversarial Nets
๋ฅผ ์ง์ญํด ๋ณด๋ฉด ์์ฑ์ ์ธ ๊ฒฝ์ ๋คํธ์ํฌ ์ด๋ค. ๋
ผ๋ฌธ์ ์ฝ์ด๋ณด๋ฉด ์ดํด๊ฐ ๊ฐ๊ฒ ์ง๋ง ์ ๋ง GAN ์ ์ ํํ ํํํ๋ ๋จ์ด๊ฐ๋ค.
๐ Abstract
์ด ๋ ผ๋ฌธ์์๋ ๊ฒฝ์ ํ๋ก์ธ์ค๋ฅผ ํตํ ์์ฑ๋ชจ๋ธ์ ์์ธกํ๋ ์๋ก์ด ํ๋ ์์ํฌ๋ฅผ ์ ์ํฉ๋๋ค. ์ฌ๊ธฐ์ ๊ฒฝ์ ํ๋ก์ธ์ค๋ ์์ฑ๋ชจ๋ธ G(Generator)๋ ๋ฐ์ดํฐ ๋ถํฌ๋ฅผ ํฌ์ฐฉํ๊ณ , ๊ตฌ๋ถ ๋ชจ๋ธ D(Discriminator)๋ ์ํ์ด G(์์ฑ๋ ๋ชจ๋ธ) ๋ณด๋ค ํ์ต ๋ฐ์ดํฐ์์ ์์ฑ๋๊ฑด์ง์ ํ๋ฅ ๊ฐ์ ์์ธกํ๋ ๊ฒ์ ๋งํฉ๋๋ค. G์ ๋ชฉํ๋ D์ ์ค์ํ ํ๋ฅ ์ ์ต๋ํ ์ํค๋ ๊ฒ์ด๋ค. (ํ๋ง๋๋ก ๊ตฌ๋ถ์ D๊ฐ G๊ฐ ๋ง๋ค์ด๋ธ ๋ชจ๋ธ์ธ์ง ์ค์ ๋ชจ๋ธ์ธ์ง ์ ๋ชป ๋ง์ถ๊ฒ ํด์ผํ๋ค๋ ๊ฒ์ด๋ค.)
์์์ ํจ์ G์ D์ ๊ณต๊ฐ์์๋ ํ ๊ฐ์ ์๋ฃจ์
์ด ๋์ค๋๋ฐ, G๋ ํ์ต๋ฐ์ดํฐ ๋ถํฌ๋ชจ์์ผ๋ก ํ๋ณต๋๋ฉฐ, D๋ ์ด๋๋ 1/2 ๊ฐ์ ๊ฐ๋ ๊ฒ
์ด๋ค.
์์ ๊ทธ๋ฆผ์ฒ๋ผ ํ์ตํ ์๋ก ์ ์ generator์ ์๋ ๋ฐ์ดํฐ ๋ถํฌ ์์์ฒ๋ผ ๋ณํ๊ณ , discriminator ๋ชจ๋ธ์ ๋ชจ๋ $x$๊ตฌ๊ฐ์ ๋ํด 1/2 ๊ฐ์ ๊ฐ๋ ์ง์ ์ ํํ๋ก ์กด์ฌํ๋ค. ์ด ๊ทธ๋ํ๊ฐ ๋ฌด์์ ๋ปํ๋์ง 3. Adversary nets์ ๋์์๋ค.
์ด ๋ง ์ค์ํ๋๊น ์ ์์๋์!โญ๏ธโญ๏ธ
G์ D๋ ๋ค์ธต ํผ์ ํธ๋ก ์ผ๋ก ์ ์๋์ด์์ด์ ์ญ์ ํ๋ก ์ ์ฒด ์์คํ ์ ํ์ตํ ์ ์๋ค. ๋ ์ด์ ํ์ต์ ํ๊ฑฐ๋ ์ํ์ ์์ฑํ ๋ ๋ง๋ฅด์ฝํ ์ฒด์ธ์ด๋ unrolled approximate inference(๊ทผ์ฌ ์ถ๋ก ) ๋คํธ์ํฌ๋ ํ์์๋ค. ์คํ์ ์์ฑ๋ ์ํ๋ค์ ์ง์ ์ด๊ณ ์์ ์ธ ํ๊ฐ๋ฅผ ํตํ ํ๋ ์์ํฌ์ ์ ์ฌ์ฑ์ ๋ํ๋ธ๋ค.
๋ง๋ฅด์ฝํ ์ฒด์ธ๊ณผ approximate inference๐
๋ง๋ฅด์ฝํ ์ฒด์ธ(Markov chain)์ด๋?
๋ง๋ฅด์ฝํ ์ฒด์ธ์ ์ ์๋ ๋ง๋ฅด์ฝํ ์ฑ์ง์ ๊ฐ์ง ์ด์ฐ ํ๋ฅ ๊ณผ์ ์ ๋ปํ๋ค. ๋ง๋ฅด์ฝํ ์ฑ์ง์ โํน์ ์ํ์ ํ๋ฅ ์ ์ค์ง ๊ณผ๊ฑฐ์ ์ํ์ ์์กดํ๋คโ๋ผ๋ ๊ฒ์ด๋ค. ๋ํ์ ์ธ ๋ฌธ์ ๋ก๋ ์ด์ ์ ์ค๋์ ๋ ์จ๋ก ๋ด์ผ์ ๋ ์จ์ ๋ํด ํ๋ฅ ์ ์ผ๋ก ํํํ๋ ๊ฒ์ด ๊ทธ ์์ด๋ค. ์ด๋ฌํ ์ฐ์์ ์ธ ํ์์ ๋จ์ํ ํํํ ๋๋ ๋ง๋ฅด์ฝํ ์ฒด์ธ์ ๊ฐ์ ํ๊ณ ์ธ ์ ์๊ณ , ์ข ์ข ๋จ์ํ ๋ชจ๋ธ์ด ๊ฐ๋ ฅํ ํจ๊ณผ๋ฅผ ๋ฐํํ ๋๋ ์๋ค.
๊ทผ์ฌ ์ถ๋ก (approximate inference)์ด๋?
์ฌ๊ธฐ์ ๋งํ๋ inference๋ ์ด๋ค ํ์์ ์ค๋ช ํ๊ธฐ ์ํ Model์ด ์์ฑ๋ ์ดํ ์ด Model์ ๊ทผ๊ฑฐ๋ก ๋ค๋ฅธ ์ง๋ฌธ์ ๋์ง๋ค๋ ๋ป์ด๋ค. Inference๋ ์ฐ๋ฆฌ๊ฐ ๋ง๋ Model๋ก๋ถํฐ ์ง์ ์ ์ธ ๋ต(ํ๋ฅ ๊ฐ)์ ๋์ถํ๋ ๊ฒฝ์ฐ์ ์ฌ์ฉ๋๋ค.
** ์ฌ๊ธฐ์ ๋งํ๊ณ ์ ํ๋ ๊ฒ์ ์์ฑ๋ ๋ชจ๋ธ์์ ํ๋ฅ ๊ฐ์ ๋ฐ๋ก ๋์ถํ๋ ํ๋ก์ธ์ค๊ฐ ํ์ ์๋ค๋ ๊ฒ ๊ฐ๋ค. GAN ๊ตฌ์กฐ์์๋ ํ๋ฅ ๊ฐ์ ๋ฐ๋ก ๋์ถํ๋๊ฒ์ด ์๋๋ผ ๋ ๋คํธ์ํฌ๋ฅผ ๊ฐ์ง๊ณ ๊ฒฝ์์ ์์ผ ํ๋ฅ ๊ฐ์ ๋ง๋๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ํด์ํด ๋ณด์๋ค.๐ฒ
1. Introduction
๋ฅ๋ฌ๋์ ๊ฐ๋ฅ์ฑ์ ์์ฐ์ ์ด๋ฏธ์ง, ์คํผ์น๋ฅผ ํฌํจํ ์ค๋์ค ํํ, ์์ฐ์ธ์ด ๋ง๋ญ์น์ ์์ง๊ณผ ๊ฐ์ AI applications์ด ๋ง์ฃผํ๋ ๋ฐ์ดํฐ ์ข ๋ฅ์ ํ๋ฅ ๋ถํฌ๋ฅผ ๋ํํ๋ ํ๋ถํ๊ณ ๊ณ์ธต์ ์ธ ๋ชจ๋ธ์ ๋ฐ๊ฒฌํ๋ ๊ฒ์ด๋ค. ๋ ๋์๊ฐ ๋ฅ๋ฌ๋์ ์์ด์ ๊ฐ์ฅ ํฐ ์ฑ๊ณต์ ๊ณ ์ฐจ์์ ํ๋ถํ sensory input์ ํด๋์ค ๋ผ๋ฒจ์ ๋งคํํ๋ discriminative model์ด ํฌํจ๋์ด ์๋ค. ์ด ํฐ ์ฑ๊ณต์ ํน์ ๋ถ๋ถ์ ์ ์ ์ฉ๋๋ ๊ธฐ์ธ๊ธฐ(gradient)๋ฅผ ๊ฐ์ง๋ piecewise linear units๋ฅผ ์ฌ์ฉํ๋ ์ญ์ ํ์ ๋๋กญ์์ ์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ๋ฐ๋์ด ์๋ค.
deep generative ๋ชจ๋ธ์ ์ต๋๊ฐ๋ฅ๋ํจ์(maximum likelihood) ์์ธก๊ณผ ๊ด๋ จ ์ ๋ต์ผ๋ก ์ธํด ์ผ์ด๋๋ ๋ง์ interactiveํ ํ๋ฅ ์ ๊ณ์ฐ๋ค์ ์ถ๋ก ํ๋ ๋ฐ์ ์ด๋ ค์์ด ์์ด ๊ทธ ์ํฅ์ด ์์๋ค. ๋, ์์ฑ์ ๋ฌธ๋งฅ(generative context)์์ piecewise linear unit์ ์ด์ต์ ๋์ด๋ ๊ฒ์ ์ด๋ ค์ ๋๋ฌธ์ด๋ผ๋ ์ด์ ๋ ์๋ค. ๋ฐ๋ผ์ ์ด ๋ ผ๋ฌธ์์๋ ์์ ์ด๋ ค์๋ค์ ํํผํ๋ ์๋ก์ด ์์ฑ๋ชจ๋ธ ์์ธก ํ๋ก์์ ๋ฅผ ์ ์ํ๊ณ ์๋ค.
์ ์ํ๋ adversarial net(๊ฒฝ์ ๋คํธ์ํฌ) framework์์๋ ์์ฑ ๋ชจ๋ธ์ด ์ ๋ ๊ด๊ณ์ ์ ๊ณผ ๊ฒฝ์ํ๋ค : ์๋ณ์/๊ตฌ๋ถ์(D)๋ ์ํ์ด ๋ชจ๋ธ ๋ถํฌ(์์ฑ๋ ๊ฐ์ง)์์ ๋์๋์ง ์๋๋ฉด ๋ฐ์ดํฐ ๋ถํฌ(์๋ณธ)์์ ๋์๋์ง๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒ์ ํ์ตํ๋ค. ๋น์ ๋ฅผ ํด๋ณด์๋ฉด, ์์ฑ ๋ชจ๋ธ์ ์งํ ์์กฐ์์ ๋น์ ๋๋ฉฐ ํ์ง์์ด ์์กฐ์งํ๋ฅผ ์์ฑํ๋ค(์ค๋ก์ง ์์ฑ๋ง ํ๋ ๋คํธ์ํฌ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง). ๊ฒฝ์ฐฐ์ ๋น์ ๋๋ ์๋ณ๋ชจ๋ธ์ ์์ฑ์๊ฐ ์์กฐ์งํ๋ฅผ ์์ฑํ๋ ๋์ ์์กฐ์งํ๋ฅผ ํ์งํ๋ค. ์ด ๊ฒ์์์์ ๊ฒฝ์์ ์์กฐ์งํ์ ์ค์ ์งํ๊ฐ ๊ตฌ๋ถ์ด ๋์ง ์์ ๋ ๊น์ง ์งํ๋์ด ๋ ํ์ผ๋ก ํ์ฌ๊ธ ๊ฐ๊ฐ์ ๋ฐฉ๋ฒ์ ํฅ์์ํค๊ฒ ํ๋ค. (๊ฒฝ์ํ๋ฉด์ ๋ ๋คํธ์ํฌ์ ์ฑ๋ฅ์ด ํฅ์๋จ)
์ด ํ๋ ์์ํฌ๋ ๋ง์ ์ข
๋ฅ์ ๋ชจ๋ธ๊ณผ ์ต์ ํ ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ํน์ ํ์ต ์๊ณ ๋ฆฌ์ฆ์ ์์ฑํ ์ ์๋ค. ๋ณธ ๋
ผ๋ฌธ์์ ์์ฑ ๋ชจ๋ธ์ด ๋ค์ธตํผ์
ํธ๋ก ์ ํตํด ๋๋ค ๋
ธ์ด์ฆ๋ฅผ ํต๊ณผํ๋ฉฐ ์ํ์ ์์ฑํ๋ ํน๋ณํ ๊ฒฝ์ฐ๋ฅผ ํํํ๋ฉฐ ์๋ณ์ ๋ชจ๋ธ ๋ํ ๋ค์ธตํผ์
ํธ๋ก ๊ตฌ์กฐ์ด๋ค. ์ด ํน๋ณํ ๊ฒฝ์ฐ๋ฅผ adversary nets
๋ผ๊ณ ํ๋ค. ์ด ๊ฒฝ์ฐ์ ์์ด์ ๋ ๋ชจ๋ธ์ ์ฑ๊ณต์ ์ธ ์ญ์ ํ
์ ๋๋กญ์์ ์๊ณ ๋ฆฌ์ฆ๋ง
์ฌ์ฉํด ํ์ตํ ์ ์์ผ๋ฉฐ ์์ฑ ๋ชจ๋ธ์์ ๋์จ ์ํ์ forward propagation ๋ง ์ฌ์ฉํ๊ฒ ๋๋ค. ๊ทผ์ฌ ์ถ๋ก ์ด๋ ๋ง๋ฅด์ฝํ ์ฒด์ธ์ ๋์ด์ ํ์ํ์ง ์๋ค. => ๋ค๋ฅธ ๋ณต์กํ ๋คํธ์ํฌ ํ์ ์์ด ์ค์ง forward propagation/ back propagation / dropout algorithm์ผ๋ก ํ์ต ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ๊ฐ์กฐํ๊ณ ์๋ค. ๊ตฌ์กฐ๊ฐ ๋ ์ฌํํด์ก๋ค. ๊ทธ๋ผ ์๊ฐ ์ฑ๋ฅ๋ ์ฌ๋์ ๋ฏ
๐ GAN์ ํต์ฌ์ ๊ฐ๊ฐ์ ์ญํ ์ ๊ฐ์ง ๋ ๋ชจ๋ธ์ ํตํด ์ ๋์ ํ์ต์ ํ๋ฉด์ โ์ง์ง ๊ฐ์ ๊ฐ์งโ๋ฅผ ์์ฑํด๋ด๋ ๋ฅ๋ ฅ์ ๋์ด๋ ๊ฒ์ด๋ผ๊ณ ๋ณผ ์ ์๊ฒ ๋ค์
2. Relative works
โ ์๋ต โ
3. Adversarial nets
adversarial modeling framework๋ ๋ชจ๋ธ๋ค์ด ๋ชจ๋ ๋ค์ธตํผ์ ํธ๋ก ๊ตฌ์กฐ์ด๋ฉด ์ ์ฉํ๊ธฐ๊ฐ ์์ฃผ ๊ฐ๋จํ๋ค. ์์ฑ์์ ๋ถํฌ์ธ $p_g$์ ์๋ ๋ฐ์ดํฐ $x$๋ฅผ ํ์ตํ๊ธฐ ์ํด, generator์ input์ผ๋ก ๋ค์ด๊ฐ noise variables $p_z(z)$์ ๋ํ prior๋ฅผ ์ ์ํ๋ค
๊ทธ๋ฆฌ๊ณ $G$๋ $\theta_g$๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ๊ฐ์ง๊ณ ์๋ ๋ค์ธตํผ์ ํธ๋ก ์ ์ํด ๋ฏธ๋ถ ๊ฐ๋ฅํ ํจ์๋ผ๊ณ ํ์ ๋, ๋ฐ์ดํฐ ๊ณต๊ฐ์ $G(z;\theta_g)$๋ก ๋งคํํด ํํํ ์ ์๋ค.
ํํธ, ๋๋ฒ์งธ ๋ค์ธต ํผ์ ํธ๋ก ์ธ Discriminator์ $D(x;\theta_d)$๋ก ๋ํ๋ด๋ฉฐ output์ single scalar(์ค์นผ๋ผ) ๊ฐ์ด ๋์จ๋ค(ํ๋ฅ ๊ฐ). $D(x)$๋ $x$๊ฐ $p_g$(์์ฑ๋ฐ์ดํฐ๋ถํฌ-๊ฐ์ง)๊ฐ ์๋ ๋ฐ์ดํฐ ๋ถํฌ๋ก๋ถํฐ ๋์ฌ ํ๋ฅ ์ ๋ํ๋ธ๋ค.
๋ฐ๋ผ์, ์ด๋ฅผ ์์์ผ๋ก ์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ์ value function $V(G,D)$์ ๋ํ minimax problem์ ํธ๋ ๊ฒ๊ณผ ๊ฐ์์ง๋ค. (real data๋ผ๊ณ ํ๋จํ๋ฉด 1 ๋ฐํ, fake data๋ก ํ๋จํ๋ฉด 0 ๋ฐํ)
$\displaystyle \min_{G} \max_{D}V(D,G)=E_{x\sim P_{data}(x)}[logD(x)]+ E_{x\sim p_{z}(z)}[log(1-D(G(z)))]]$
$E_{x\sim P_{data}(x)}[logD(x)]$ : ์๋ณธ(real)data $x$๋ฅผ discriminator ์ ๋ฃ์์ ๋ ๋์ค๋ ๊ฒฐ๊ณผ๋ฅผ log๋ก ์ทจํ์ ๋ ์ป๋ ๊ธฐ๋๊ฐ
$E_{x\sim p_{z}(z)}[log(1-D(G(z)))]]$ : ์์ฑ๋(fake)data $z$๋ฅผ generator์ ๋ฃ์์ ๋ ๋์ค๋ ๊ฒฐ๊ณผ๋ฅผ discriminator์ ๋ฃ์์ ๋ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ $log(1-$๊ฒฐ๊ณผ$)$ํ์ ๋ ์ป๋ ๊ธฐ๋๊ฐ
๐ D ์ G ์ ๋ํด์ ๊ฐ๊ฐ ์ดํด๋ณด์!
๋จผ์ D๊ฐ ์์ฃผ ๋ฐ์ด๋ ์ฑ๋ฅ์ ๊ฐ์ ธ ๊ฐ์ง๋ฅผ ์ ํ๋ณํ๋ค๊ณ ๊ฐ์ ํ๊ณ value function์ธ $V(D,G)$์ผ๋ก ์ดํด๋ณด์!
๋จผ์ D๊ฐ ํ๋ณํ๋ ค๋ ๋ฐ์ดํฐ๊ฐ ์๋ณธ(real)data ์์ ์จ ์ํ์ผ ๊ฒฝ์ฐ, $D(x)$๊ฐ 1์ด ๋์ด $logD(x)$์ 0์ด ๋์ด ์ฌ๋ผ์ง๊ณ $G(z)$๊ฐ ์์ฑํ ๊ฐ์ง ์ด๋ฏธ์ง๋ฅผ ๊ตฌ๋ถํ ์ ์์ผ๋ฏ๋ก $D(G(z)) = 0$ ์ด ๋์ด $log(1-D(G(z)))$๋ $log(1-0)=log1=0$์ด ๋์ด ์ ์ฒด ์ $V(D,G) = 0$์ด ๋๋ค.
๋ฐ๋ผ์ D๊ฐ ์ ๋ํ ์ ์๋ ์ต๋๊ฐ์ 0 ์์ ํ์ธํ ์ ์์ต๋๋ค.
์ด๋ฒ์๋ ๋ฐ๋๋ก G๊ฐ D๋ฅผ ์์ผ๋งํผ ์ค์ ๊ฐ์ ๊ฐ์ง ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ค๊ณ ์๊ฐํด๋ณด์. ๊ทธ๋ ๋ค๋ฉด $E_{x\sim P_{data}(x)}[logD(x)]$ ๋ D์ ์์ด๋ฏ๋ก G์ฑ๋ฅ๊ณผ๋ ์๊ด์ด ์์ผ๋ฏ๋ก ๋ณด์ง ์์๋ ๋๋ค.
๋์ $E_{x\sim p_{z}(z)}[log(1-D(G(z)))]]$ ์์ G๊ฐ ์์ฑํ ์ด๋ฏธ์ง๋ D๊ฐ ์ง์ง๋ผ๊ณ ํ๋จํด์ผ ํ๋ฏ๋ก 1์ ๋ฐํํ๋ค.
๊ทธ๋ฌ๋ฏ๋ก $D(G(z)) =1$ ๊ฐ ๋๊ณ , $log(1-1)=log0= -\infty$ ์ผ๋ก ๋ง์ด๋์ค ๋ฌดํ๋๊ฐ ๋์จ๋ค.
์ ๋ฆฌํ์๋ฉด, D๋ V(D,G) ํ๋ฅ ์ ์ต๋ํ์ํค๊ธฐ ์ํด ํ์ตํ๊ณ , G๋ V(D,G)๋ฅผ ์ต์ํ์ํค๋ ๋ฐฉํฅ์ผ๋ก ํ์ต๋๋ค.
ํ์ง๋ง ์ค์ ๋ก , ์์ minmax ๋ฐฉ์ ์์ด G๊ฐ ํ์ตํ๊ธฐ ์ข์ ์ถฉ๋ถํ ํฐ ๊ธฐ์ธ๊ธฐ๋ฅผ ์ ๊ณตํด์ฃผ์ง ์๋๋ค. ํ์ต ์ด๋ฐ์ G์ ์ฑ๋ฅ์ด ์ ์กฐํด G๊ฐ ๋ง๋ ์ํ์ด ์ค์ ์ ๋๋ฌด ๋ฌ๋ผ D๊ฐ ์ํ์ ๋๋ฌด ์ ๊ตฌ๋ถํด๋ฒ๋ฆฐ๋ค. ์ด๋ฐ ๊ฒฝ์ฐ์๋ $log(1-D(G(z)))$์ด ์ผ์ ์ด์ ์ฆ๊ฐํ์ง ๋ชปํ๊ณ ๋นจ๋ฆฌ ์๋ ดํด๋ฒ๋ฆฌ๋ saturate ํ์์ด ๋ฐ์ํ๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ผ๋ก $log(1-D(G(z)))$ ๋ฅผ ์ต์ํํ๋ ์์ผ๋ก G๋ฅผ ํ์ตํ๊ธฐ ๋ณด๋ค๋ $log(D(G(z)))$ ๋ฅผ ์ต๋ํํ๋ ์์ผ๋ก G๋ฅผ ํ์ตํ๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ด๊ธฐ ํ์ต์ ํจ์ฌ ๋ ๊ฐ๋ ฅํ ๊ธฐ์ธ๊ธฐ๋ฅผ ์ ๊ณตํ๋ค.
์ด๊ฒ ๋ฌด์จ ๋ป์ด๋๋ฉด.. logํจ์ ํน์ฑ์ $log(1-\alpha)$์ ๋ฏธ๋ถ๊ฐ์ด ์ ์๋ฏธํ ๊ฐ์ด ๋ ์ ์๋ค. ๋ฐ๋ผ์ $log(1-\alpha)$์ ๋ฐ๋์ธ $log(\alpha)$์ max ๊ฐ์ ์ฐพ๋ ์์ ์ ๋ํ ๊ฒ์ด๋ค. ์๋ ๊ทธ๋ฆผ์ผ๋ก ์ฐธ๊ณ ํด๋ณด์!
์๋ Fig.1์ ๋ณด๋ฉด
ํ๋์ ์ ์ : discriminative ๋ถํฌ
๊ฒ์์ ์ ์ : real ๋ฐ์ดํฐ ๋ถํฌ (์ง์ง)
์ด๋ก์ ์ค์ : generative ๋ถํฌ (๊ฐ์ง)
GAN์ ํ์ต๊ณผ์ ์ ์ด ๊ทธ๋ฆผ์ ํตํด ํ์ธํด๋ณด๋ฉด,
(a): ํ์ต์ด๊ธฐ์๋ real๊ณผ fake์ ๋ถํฌ๊ฐ ์ ํ ๋ค๋ฅด๋ฉฐ D์ ์ฑ๋ฅ๋ ๋ํ ์ ์กฐ
(b): D๊ฐ (a)๋ณด๋ค๋ ์์ ์ ์ผ๋ก real๊ณผ fake๋ฅผ ํ๋ณํด๋ด๊ณ ์์์ ํ์ธ. ์ฆ, D์ ์ฑ๋ฅ์ด ์ฌ๋ผ๊ฐ
(c): D์ ํ์ต์ด ์ด๋์ ๋ ์ด๋ฃจ์ด์ง๋ฉด, G๋ ์ค์ ๋ฐ์ดํฐ์ ๋ถํฌ๋ฅผ ๋ชจ์ฌํ๋ฉฐ D๊ฐ ๊ตฌ๋ณํ๊ธฐ ํ๋ ๋ฐฉํฅ์ผ๋ก ํ์ต
(d): ์ด ๊ณผ์ ์ ๋ฐ๋ณตํ๋ฉด real๊ณผ fake์ ๋ถํฌ๊ฐ ๊ฑฐ์ ๋น์ทํด์ ธ ๊ตฌ๋ถํ ์ ์์ ๋งํผ G๊ฐ ํ์ต๋๊ณ , ๋ง์นจ๋ด D๊ฐ ์ด ๋์ ๊ตฌ๋ถํ ์ ์๊ฒ ๋์ด 1/2์ ํ๋ฅ ๋ก ๊ณ์ฐ
์ด ๊ณผ์ ์ ํตํด ์ง์ง์ ๊ฐ์ง ์ด๋ฏธ์ง๋ฅผ ๊ตฌ๋ณํ ์ ์์ ๋งํ ๋ฐ์ดํฐ๋ฅผ G๊ฐ ์์ฑํด๋ด๊ณ ์ด๊ฒ์ด GAN์ ์ต์ข
๊ฒฐ๊ณผ
๋ผ๊ณ ๋ณผ ์ ์๋ค.
4. Theoretical Results
G๋ $z \sim p_z$์ผ๋ ์ป์ด์ง๋ ์ํ๋ค์ ํ๋ฅ ๋ถํฌ $G(z)$๋ก์จ $p_g$ ๋ฅผ ์๋ฌต์ ์ผ๋ก ์ ์ํ๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์๋์์ ์ดํด๋ณด๋ ์๊ณ ๋ฆฌ์ฆ์ด $p_{data}$์ ๋ํ ์ข์ estimator(์ถ์ ๋)๋ก ์๋ ด๋๋๋ก ํ๋ ๊ฒ์ด ๋ ผ๋ฌธ์ ๋ชฉํ์ด๋ค.
ํด๋น value function์ ์ต์ ํํด์ฃผ๋ ๋ฐฉ์์, ์๋์ ๊ฐ์ด Discriminator์ ๋ํ weight๋ฅผ ๋จผ์ ์ ๋ฐ์ดํธ ํด์ฃผ๊ณ , Generator์ ๋ํด์๋ weight update๋ฅผ ๋ฒ๊ฐ์๊ฐ๋ฉฐ ํด์ค๋ค. G์ ๊ฒฝ์ฐ $logD(x^{(i)})$์ ๊ด์ฌํ์ง ์์ผ๋ฏ๋ก ์์์ ์ ์ธ๋์๋ค.
1 epoch๋ง๋ค ์๋์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
์๋๋ฅผ k๋ฒ ๋ฐ๋ณต (๋ ผ๋ฌธ์์ k = 1๋ก ์คํ)
- m๊ฐ์ ๋ ธ์ด์ฆ ์ํ์ $p_g(z)$๋ก๋ถํฐ ์ํ๋ง
- m๊ฐ์ ์ค์ ๋ฐ์ดํฐ์ํ์ $p_{data}(x)$๋ก๋ถํฐ ์ํ๋ง
- ๊ฒฝ์ฌ์์น๋ฒ์ ์ด์ฉํด $V(G,D)$์ ์ ์ฒด๋ฅผ ์ต๋ํํ๋๋ก discriminator ํ๋ผ๋ฏธํฐ ์ ๋ฐ์ดํธ!
๊ทธ ๋ค์์,
- m๊ฐ์ ๋ ธ์ด์ฆ ์ํ์ $p_g(z)$๋ก๋ถํฐ ์ํ๋ง
- $V(G, D)$์์ $log(1-D(G(z)))$๋ฅผ ์ต์ํํ๋๋ก ๊ฒฝ์ฌํ๊ฐ๋ฒ์ ์ด์ฉํด generator ํ๋ผ๋ฏธํฐ ์ ๋ฐ์ดํธ!
๋ ผ๋ฌธ์์ ๋ชฉํํ๋ ๊ฒ์, Generator๋ฅผ ํตํด ๋์ค๋ $G(z)$ ๊ฐ์ด $P_{data}$ ์ ์ข์ estimator๊ฐ ๋๊ธฐ๋ฅผ ๊ธฐ๋ํ๋ฉฐ, ํด๋น ์กฐ๊ฑด์ด ์ถฉ์กฑํ๋ฉด์ ์๋ ดํ๋์ง ํ์ธํด์ผ ํ๋ค. ์ด์ ๋ํ optimality๋ฅผ ์ด์ด์ ํ์ธํด ๋ด ์๋ค!
4.1 Global Optimality of $p_g = p_{data}$
๋ชจ๋ ๊ฐ๋ฅํ G์ ๋ํด ์ต์ ์ discriminator D๋ฅผ ๊ตฌํด๋ณด์.
(G๊ฐ ์ง์ง ๊ฐ์ ๊ฐ์ง๋ฅผ ์ ์์ฑํ๋ค๋ฉด $p_g(x) = p_{data}(x)$๊ฐ ๋ ๊ฒ์ด๋ฏ๋ก $1 \over 2$์ผ ๋ G๊ฐ ์ข์ ๋ชจ๋ธ์ด๋ค.
์ฆ๋ช ์ ๋ค์๊ณผ ๊ฐ๋ค. ๋ชจ๋ ๊ฐ๋ฅํ G์ ๋ํด D๋ฅผ ์ํ ํ์ต๊ธฐ์ค์ $V(G, D)$๋ฅผ ์ต๋ํ ์ํค๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ์๋์ ์์ $D(x)$์ ๋ํด ํธ๋ฏธ๋ถํ๊ณ ๊ฒฐ๊ณผ๊ฐ์ 0์ด๋ผ๊ณ ๋๋ฉด optimalํ D๋ ์์ Proposition 1. ์ ๊ฐ์ด ์ ๋๋๋ค.
์ฆ๋ช ์ ๋์์ ์๋์ ๊ฐ๋ค.
์ด๋ ๊ฒ ์ป์ optimal D๋ฅผ ์๋์ ๋ชฉ์ ํจ์ ์์ ๋์ ํ์ฌ G์ ๋ํ Virtual Training Criterion C(G)๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ ๋ํ ์ ์๋ค.
์์ C(G)๋ generator๊ฐ ์ต์ํํ๊ณ ์ ํ๋ ๊ธฐ์ค์ด ๋๋ฉฐ, ์ด๊ฒ์ global minimum์ ์ค์ง $p_g(x) = p_{data}(x)$์ผ๋ ๋ฌ์ฑ๋๋ค. ๊ทธ ์ ์์์ C(G)๊ฐ์ $log{1 \over 2} + log{1 \over 2} = -log4$๊ฐ ๋๋ค
์์ ์์์ ์ฒ์ฒํ ํ์ด์ ์ฆ๋ช ํด๋ณธ ์์ ์๋๋ฅผ ์ฐธ๊ณ ํ๋ฉด ๋๋ค. ์ญ์ ์ง์ ํ์ด๋ณด๋๊ฒ ์ดํด์ ๋น ๋ฅธ ๊ฒ ๊ฐ๋ค.
=> ์ด ๊ณผ์ ์์ ๋์จ kl-divergence ๋ js-divergence์ ๋ํ ์์ธํ ๋ด์ฉ์ KL-divergence & JS-divergence & Maximum Likelihood Estimation์ ๊ฐ๋ ์ ๋ฆฌ ์ด๊ณณ์์ ๋ค๋ฃจ์์ผ๋ ์ฐธ๊ณ !โ๏ธโ๏ธ
4.2 Convergence of Algorithm 1
G์ D๊ฐ ์ถฉ๋ถํ capacity๋ฅผ ๊ฐ์ง๋ฉฐ, algorithm 1์ ๊ฐ ์คํ ์์ discriminator๊ฐ ์ฃผ์ด์ง G์ ๋ํด ์ต์ ์ ์ ๋๋ฌํ๋๊ฒ ๊ฐ๋ฅํจ๊ณผ ๋์์ $p_g$ ๊ฐ ์์์ ์ ์ํ criterion์ ํฅ์์ํค๋๋ก ์ ๋ฐ์ดํธ ๋๋ ํ, $p_g$๋ $p_{data}$ ์ ์๋ ดํ๋ค.
ํ์ง๋ง, adversarial nets๋ ํจ์ $G(z;\theta)$๋ฅผ ํตํด ๋ถํฌ $p_g$์ ์ ํ๋ family๋ง์ ๋ํ๋ด๊ฒ ๋๋ฉฐ, ๋ ผ๋ฌธ์์ ์ํํ๋ ์ต์ ํ๋ ์ฌ์ค $p_g$๋ฅผ ์ง์ ์ต์ ํ ํ๋๊ฒ ์๋ $\theta_g$๋ฅผ ์ต์ ํํ๋ ๊ฒ์ด๋ค. ๊ทธ๋์ ์์ ํ ์ฆ๋ช ์ด ์ ์ฉ๋์ง ์์ผ๋ฉฐ ์ต์ ์ ๋ชจ๋ธ๋ก์ ์๋ ด์ด ๋ณด์ฅ๋์ง ์๋๋ค.
๊ทธ๋ฌ๋ ์ค๋ฌด์์ MLP๊ฐ ๋ณด์ฌ์ฃผ๋ ํ๋ฅญํ ํผํฌ๋จผ์ค๋ ์์ ๊ฐ์ ์ด๋ก ์ gurantee ์๋ ๋ถ๊ตฌํ๊ณ ์ฌ์ฉํ ์ ์๋ ํฉ๋ฆฌ์ ์ธ ๋ชจ๋ธ์ด๋ผ๋ ์ฌ์ค์ ๋งํด์ค๋ค.
5. Experiments
MNIST, TFD(Toronto Face Database), CIFAR-10์ ๋ํด ํ๋ จ.
generator์์๋ ReLU, sigmoid activation์ ์์ด ์ฌ์ฉ.
discriminator์์๋ maxout activation๋ง์ ์ฌ์ฉ.
discriminator ํ๋ จ์ ๋๋์์ ์ฌ์ฉ.
(์ ์๋ค์ด ์ ์ํ๋ ํ๋ ์์ํฌ๋ generator์ ์ค๊ฐ ๋ ์ด์ด๋ค์ dropout๊ณผ noise ์ถ๊ฐ๋ฅผ ์ด๋ก ์ ์ผ๋ก ํ์ฉํ์ง๋ง, ์ค์ง generator์ ์ตํ๋จ ๋ ์ด์ด์๋ง ๋ ธ์ด์ฆ๋ฅผ ์ถ๊ฐํ๋ค๊ณ ํจ)
Gaussian Parzen window๋ฅผ G์ ์ํด ์์ฑ๋ ์ํ๋ค์ fittingํ๊ณ ์ด๋ ๊ฒ ์ถ์ ๋ ๋ถํฌ ํ์ ์ป์ด์ง log-likelihood๋ฅผ ํ์ธํจ์ผ๋ก์จ $p_g$ ํ์์ test set ๋ฐ์ดํฐ์ ํ๋ฅ ์ ์ถ์ ํ์๋ค. ์ด๋ ์ ๊ท๋ถํฌ์ ๋ถ์ฐ ํ๋ผ๋ฏธํฐ๋ ๊ต์ฐจ๊ฒ์ฆ์ ํตํด ์ป์๋ค๊ณ ํ๋ค. ์ฌ์ค ์ด๋ฌํ ๋ฐฉ์์ผ๋ก likelihood๋ฅผ ์ถ์ ํ๋ ๊ฒ์ ๋ค์ ๋ถ์ฐ์ด ํฌ๋ฉฐ ๊ณ ์ฐจ์ ๋ฐ์ดํฐ ๊ณต๊ฐ์์์ ํ์ง์ด ์ข์ง ๋ชปํ์ง๋ง ์ต์ ์ method์ฌ์ ์ด์ฉํ๋ค๊ณ ํ๋ค.
์๋๋ ์์ ๋ฐฉ๋ฒ์ผ๋ก ํ๊ฐ๋ฅผ ์งํํ์ ๋, GAN์ ์ฐ์ํจ์ ๋ณด์ฌ์ฃผ๋ ํ์ด๋ค.
ํ์ต ํ generator์ ์ํด ์์ฑ๋ ์ด๋ฏธ์ง๋ค์ ์๋์ ๊ฐ๋ค.
Advantages and disadvantages
disadvantages
- $p_g(x)$์ ๋ํ ๋ช ์์ ์ธ ํํ์ด ์๋ค.
- ํ๋ จ๋์ D์ G์ ๊ท ํ์ ์ ๋ง์ถฐ์ ํ์ตํด์ผ ํ๋ค.
- ์ต์ ํด ์๋ ด์ ์์ด ์ด๋ก ์ ๋ณด์ฅ์ด ๋ถ์กฑํ๋ค.
advantages
- Markov chain ๊ณผ inference ์ ๋ถํ์
- ๋ชจ๋ธ์ ๋ค์ํ ํจ์๋ค์ด ํตํฉ๋ ์ ์์
- generator network๊ฐ ๋ฐ์ดํฐ๋ก๋ถํฐ ์ง์ ์ ์ผ๋ก ์ ๋ฐ์ดํธ ๋์ง ์๊ณ ์ค์ง discriminator ๋ก ๋ถํฐ ํ๋ฌ๋ค์ด์ค๋ gradient๋ง์ ์ด์ฉํด ํ์ต๋ ์ ์๋ค.
์ฐธ๊ณ
[3] https://tobigs.gitbook.io/tobigs/deep-learning/computer-vision/gan-generative-adversarial-network
[4] https://velog.io/@changdaeoh/Generative-Adversarial-Nets-GAN
๋๊ธ๋จ๊ธฐ๊ธฐ