Generative Adversarial Nets
๐ง Generative Adversarial Networks: ์์ฑ ๋ชจ๋ธ์ ์ ํ์
Ian Goodfellow et al., โGenerative Adversarial Nets,โ NeurIPS 2014.
1๏ธโฃ ์๋ก โ ์์ฑ ๋ชจ๋ธ์ ์๋ก์ด ํจ๋ฌ๋ค์
๋ฅ๋ฌ๋์ ๊ธ๊ฒฉํ ๋ฐ์ ์ดํ, ์ฐ๊ตฌ์ ์ด์ ์ โ์ธ์(recognition)โ์์ โ์์ฑ(generation)โ์ผ๋ก ์ฎ๊ฒจ๊ฐ๋ค.
๊ธฐ์กด์ ํ๋ฅ ์ ์์ฑ ๋ชจ๋ธ(์: Variational Autoencoder, Boltzmann Machine)์
๋ชจ๋ธ๋ง ๊ณผ์ ์ ๋ณต์ก์ฑ๊ณผ likelihood ๊ณ์ฐ์ ์ด๋ ค์์ผ๋ก ์ธํด ์ค์ฉ์ ํ๊ณ๋ฅผ ๋ณด์๋ค.
2014๋ Goodfellow๊ฐ ์ ์ํ Generative Adversarial Network (GAN) ์
์ด๋ฌํ ์ ์ฝ์ ๊ทน๋ณตํ๋ฉฐ ๋ช ์์ ํ๋ฅ ๋ถํฌ ์์ด ๋ฐ์ดํฐ๋ฅผ ์ง์ ์์ฑํ๋ ์๋ก์ด ์ ๊ทผ ๋ฐฉ์์ ์ด์๋ค.
GAN์ ๋ ๋คํธ์ํฌ ๊ฐ์ ์ ๋์ ํ์ต(adversarial training) ์ ํตํด
๊ณ ์ฐจ์ ๋ฐ์ดํฐ ๋ถํฌ๋ฅผ ๊ทผ์ฌํ๋ ๋น์ง๋ ํ์ต ํ๋ ์์ํฌ๋ค.
2๏ธโฃ ๊ธฐ๋ณธ ์๋ฆฌ โ ์ ๋์ ํ์ต(Adversarial Training)
GAN์ Generator (G) ์ Discriminator (D) ๋ก ๊ตฌ์ฑ๋๋ค.
-
Generator G(z):
์ ์ฌ ๋ฒกํฐ zโผpz(z)z \sim p_z(z)zโผpz(z)๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ฐ์ดํฐ ๊ณต๊ฐ์ผ๋ก ๋งคํ, ๊ฐ์ง ์ํ ์์ฑ
-
Discriminator D(x):
์ ๋ ฅ xxx๊ฐ ์ค์ ๋ฐ์ดํฐ์ธ์ง, ์์ฑ๋ ๊ฐ์ง์ธ์ง ํ๋ณ
๋ ๋คํธ์ํฌ๋ ๋ค์์ ๋ฏธ๋๋งฅ์ค ๊ฒ์์ผ๋ก ์ ์๋๋ค.
minโกGmaxโกDV(D,G)=Exโผpdata(x)[logโกD(x)]+Ezโผpz(z)[logโก(1โD(G(z)))]\min_G \max_D V(D, G) = \mathbb{E}{x \sim p{data}(x)}[\log D(x)] + \mathbb{E}_{z \sim p_z(z)}[\log(1 - D(G(z)))]
GminDmaxV(D,G)=Exโผpdata(x)[logD(x)]+Ezโผpz(z)[log(1โD(G(z)))]
์ด ๊ณผ์ ์์
- D๋ ์ง์ง ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ๋ถ๋ฅํ๋ ค ํ๊ณ ,
- G๋ D๋ฅผ ์์ผ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ง๋ค์ด๋ธ๋ค.
ํ์ต์ด ์ถฉ๋ถํ ์งํ๋๋ฉด,
์ด๋ก ์ ์ผ๋ก pg=pdatap_g = p_{data}pg=pdata์ผ ๋ D(x) = 0.5 ๊ฐ ๋์ด ๋ ์ด์ ๊ตฌ๋ถ ๋ถ๊ฐ๋ฅํ ์ํ์ ๋๋ฌํ๋ค.
3๏ธโฃ ํ์ต์ ๋ถ์์ ์ฑ๊ณผ ๊ฐ์ ์๋
GAN์ ๊ฐ์ฅ ํฐ ์ฝ์ ์ ํ์ต ๋ถ์์ ์ฑ์ด๋ค.
๋ ๋คํธ์ํฌ์ ํ์ต ๊ท ํ์ด ๋ง์ง ์์ผ๋ฉด gradient vanishing ๋๋ mode collapse ํ์์ด ๋ฐ์ํ๋ค.
(1) Mode Collapse
โ Generator๊ฐ ํน์ ํจํด๋ง ๋ฐ๋ณต ์์ฑ, ๋ค์์ฑ์ด ์ฌ๋ผ์ง
(2) Gradient Vanishing
โ Discriminator๊ฐ ๊ณผ๋ํ๊ฒ ์ฐ์ธํ ๊ฒฝ์ฐ, Generator์ ํ์ต ์ ํธ๊ฐ ์ฌ๋ผ์ง
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์๋ง์ ๋ณํ ๋ชจ๋ธ์ด ์ ์๋์๋ค.
4๏ธโฃ ์ฃผ์ ๋ณํ ๋ชจ๋ธ ๋ฐ ๊ธฐ์ ์ ์งํ
| ์ฐ๋ | ๋ชจ๋ธ | ์ฃผ์ ๊ธฐ์ฌ | ํต์ฌ ๊ธฐ์ |
|---|---|---|---|
| 2015 | DCGAN | CNN ๊ธฐ๋ฐ ๊ตฌ์กฐ ์ ์ | Conv/Deconv, BatchNorm |
| 2017 | WGAN | ํ์ต ์์ ํ, ์งํ ๊ฐ์ | Wasserstein Distance, Weight Clipping |
| 2017 | WGAN-GP | Gradient Penalty ๋์ | Lipschitz ์ ์ฝ ์ํ |
| 2017 | CycleGAN | ๋น์ง๋ ์ด๋ฏธ์ง ๋ณํ | Cycle Consistency Loss |
| 2018 | StyleGAN | ์คํ์ผ ์ ์ด ๊ธฐ๋ฐ ์์ฑ | Style-based architecture, AdaIN |
| 2019 | BigGAN | ๋๊ท๋ชจ ํ์ต ์์ ํ | Spectral Norm, Orthogonal Reg. |
๐ฌ DCGAN (Radford et al., 2015)
CNN ๊ตฌ์กฐ๋ฅผ ์ด์ฉํด GAN ํ์ต์ ์์ ํ.
Fully Connected Layer๋ฅผ ์ ๊ฑฐํ๊ณ , BatchNorm๊ณผ LeakyReLU๋ฅผ ๋์ ํจ์ผ๋ก์จ
์ด๋ฏธ์ง ์์ฑ ํ์ง์ด ๋น์ฝ์ ์ผ๋ก ํฅ์๋์๋ค.
๐ฌ WGAN (Arjovsky et al., 2017)
JensenโShannon divergence ๋์ Wasserstein distance (Earth Moverโs distance) ์ฌ์ฉ.
์ด๋ก์จ ํ์ต ์์ ์ฑ๊ณผ loss์์ ์๊ด์ฑ์ด ํ๋ณด๋์ด
โGAN loss๊ฐ ์๋ฏธ ์๋ ์๋ ด ๊ณก์ โ์ ๊ฐ๊ฒ ๋์๋ค.
W(pdata,pg)=infโกฮณโฮ (pdata,pg)E(x,y)โผฮณ[โฅxโyโฅ]W(p_{data}, p_g) = \inf_{\gamma \in \Pi(p_{data}, p_g)} \mathbb{E}_{(x, y) \sim \gamma} [|x - y|]
W(pdata,pg)=ฮณโฮ (pdata,pg)infE(x,y)โผฮณ[โฅxโyโฅ]
๐ฌ StyleGAN (Karras et al., 2019)
Latent space๋ฅผ ์คํ์ผ ๊ณต๊ฐ์ผ๋ก ๋ณํํด,
์ธ๋ถ ์์ค๋ณ ์ ์ด๊ฐ ๊ฐ๋ฅํ โstyle-based generatorโ ๊ตฌ์กฐ๋ฅผ ๋์ ํ๋ค.
์ด๋ฅผ ํตํด ์ผ๊ตด ํฉ์ฑ, ์ง๊ฐ ๋ณํ ๋ฑ์์ ์ธ๊ฐ ์์ค์ ์ฌ์ค๊ฐ์ ๋ฌ์ฑํ๋ค.
5๏ธโฃ ํ๊ฐ ์งํ์ ์งํ
GAN์ ํ์ง์ ๊ฐ๊ด์ ์ผ๋ก ํ๊ฐํ๊ธฐ ์ํด ๋ค์ํ ์งํ๊ฐ ์ ์๋์๋ค.
| ์งํ | ์๋ฏธ | ๋จ์ |
|---|---|---|
| Inception Score (IS) | ๋ค์์ฑ๊ณผ ๋ช ํ๋ ํ๊ฐ | ์ค์ ๋ถํฌ์์ ์ฐจ์ด ๋ฐ์ ๋ถ๊ฐ |
| Frรฉchet Inception Distance (FID) | ๋ ๋ถํฌ ๊ฐ ๊ฑฐ๋ฆฌ | ์ด๋ฏธ์ง ๋๋ฉ์ธ ์ข ์์ฑ ์กด์ฌ |
| Precision & Recall for GANs | ์์ฑ ๋ค์์ฑ/ํ์ง ๋์ ํ๊ฐ | ๊ณ์ฐ ๋ณต์ก๋ ๋์ |
ํ์ฌ๋ FID๊ฐ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ํ์ค ์งํ๋ก ์๋ฆฌ์ก์๋ค.
6๏ธโฃ GAN์ ์์ฉ ์์ญ
- ์ด๋ฏธ์ง ํฉ์ฑ ๋ฐ ๋ณํ: DeepFake, Face Aging, Super Resolution
- ๋ฐ์ดํฐ ์ฆ๊ฐ: ์๋ฃ ์์, ์์จ์ฃผํ ๋ฐ์ดํฐ ๋ณด๊ฐ
- ๋๋ฉ์ธ ์ ํ: ๋ฎโ๋ฐค, ์ฌ๋ฆโ๊ฒจ์ธ ์ด๋ฏธ์ง ๋ณํ
- Representation Learning: ๋น์ง๋ ํน์ง ์ถ์ถ
์ต๊ทผ์๋ GAN์ด Diffusion Model์ ๋นํด ์ฃผ๋ชฉ๋๋ ์ค์์ผ๋,
์ํ ํจ์จ์ฑ๊ณผ ์ค์๊ฐ์ฑ ์ธก๋ฉด์์ ์ฌ์ ํ ๊ฐ์ ์ ๋ณด์ธ๋ค.
7๏ธโฃ Diffusion Model๊ณผ์ ๋น๊ต
| ํญ๋ชฉ | GAN | Diffusion |
|---|---|---|
| ํ์ต ์์ ์ฑ | ๋ฎ์ | ๋์ |
| ํ์ต ์๋ | ๋น ๋ฆ | ๋๋ฆผ |
| ์์ฑ ํ์ง | ์ผ๋ถ ๋ ธ์ด์ฆ ์์กด | ๋งค์ฐ ๊ณ ํ์ง |
| ์ํ๋ง ์๋ | ๋น ๋ฆ (1-step) | ๋๋ฆผ (์๋ฐฑ step) |
Diffusion์ด ํ์ง ๋ฉด์์๋ ์ฐ์์ง๋ง,
GAN์ ์ฌ์ ํ ์ค์๊ฐ ์์ ์์ฑ, ๋ชจ๋ฐ์ผ ํ๊ฒฝ, ์ ํ๋ ๋ฐ์ดํฐ์ ํ์ต์ ์ ๋ฆฌํ๋ค.
8๏ธโฃ ๊ฒฐ๋ก ๋ฐ ์ ๋ง
GAN์ ์์ฑ ๋ชจ๋ธ ์ฐ๊ตฌ์ ๋ฐฉํฅ์ฑ์ ์์ ํ ๋ฐ๊ฟ๋์ ๊ธฐ๋ ๋น์ ๊ธฐ์ ์ด๋ค.
๊ทธ ์์ฒด์ ํ๊ณ(๋ถ์์ ํ ํ์ต, ํ๊ฐ ์งํ์ ๋ชจํธ์ฑ)์๋ ๋ถ๊ตฌํ๊ณ
์์ฑ์ ํจ๋ฌ๋ค์์ ์๋ง์ ์ฐ ๋ชจ๋ธ์ด๋ผ๋ ์ ์์ ๊ทธ ์์๋ ์ฌ์ ํ ํฌ๋ค.
์ต๊ทผ ์ฐ๊ตฌ๋ค์ GAN์ ์์ ํ ๋์ฒดํ๊ธฐ๋ณด๋ค๋,
Diffusion ๋ชจ๋ธ๊ณผ์ ํ์ด๋ธ๋ฆฌ๋ ๊ตฌ์กฐ(์: Diffusion-GAN, MaskGIT ๋ฑ)๋ก ์งํํ๋ ์ถ์ธ๋ค.
๊ฒฐ๊ตญ GAN์ โ๋๋ ๊ธฐ์ โ์ด ์๋๋ผ,
์์ฑ ์ธ๊ณต์ง๋ฅ์ ๊ทผ๋ณธ ์ฒ ํ์ ๋ด๊ณ ์๋ ์ถ๋ฐ์ ์ด๋ผ ํ ์ ์๋ค.
๐ ์ฐธ๊ณ ๋ฌธํ
- Goodfellow, I. et al. Generative Adversarial Nets. NeurIPS 2014.
- Radford, A. et al. DCGAN: Unsupervised Representation Learning with Deep Convolutional GANs. arXiv 2015.
- Arjovsky, M. et al. Wasserstein GAN. ICML 2017.
- Karras, T. et al. A Style-Based Generator Architecture for GANs. CVPR 2019.
- Heusel, M. et al. GANs Trained by a Two Time-Scale Update Rule Converge to a Local Nash Equilibrium. NeurIPS 2017.