ProGAN๋ถํฐ StyleGAN2๊น์ง, style transfer์์ ๊ฐ์ฅ ์ ๋ช ํ ๋ชจ๋ธ์ธ StyleGAN์ ๋ณ์ฒ์ฌ์ ๊ฐ ๋ชจ๋ธ์ ํน์ง์ ๊ฐ๋จํ ์ ๋ฆฌํด ๋ณด๊ณ ์ ํ๋ค.
1. ProGAN/PGGAN (ICLR 2018)
Paper: Progressive Growing of GANs for Improved Quality, Stability, and Variation (link)
GAN์ ์ด์ฉํด ๊ณ ํด์๋ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ๊ฒ์ ์ฝ์ง ์๋ค. ๋ฐ๋ผ์ latent vector์์ ํ๋ฒ์ ๊ณ ํด์๋์ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๊ธฐ๋ณด๋ค๋, ๋ฎ์ ํด์๋์ ์ด๋ฏธ์ง(4x4)๋ฅผ ์์ฑํ๋ ๊ฒ๋ถํฐ ํ์ตํด์ ์ ์ง์ ์ผ๋ก(progressive) ๋ ์ด์ด๋ฅผ ์ถ๊ฐํ๋ฉฐ ๊ณ ํด์๋ ์ด๋ฏธ์ง(1024x1024)๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ํ์ตํ๋ค.
๋ ์ด์ด๋ฅผ ์ถ๊ฐํ ๋๋ fade in ๋ฐฉ์์ผ๋ก ๋ถ๋๋ฝ๊ฒ ๋ผ์ ๋ฃ๋๋ค. ์๋ ๊ทธ๋ฆผ์ (a) -> (b) -> (c) ์์๋ก ๋ ์ด์ด ์ถ๊ฐ๊ฐ ์งํ๋๋ค.
(b) ๊ทธ๋ฆผ์ด ๋ ์ด์ด ์ถ๊ฐ ๊ณผ์ ์ ๋ณด์ฌ์ค๋ค. ์ด์ ๋ ์ด์ด์ output๊ณผ, ์๋ก์ด ๋ ์ด์ด์ output์ ์ ์ ํ๊ฒ ๋ํด์ ์ต์ข output์ผ๋ก์จ discriminator์ ์ ๋ฌํ๋ ๊ฒ์ด๋ค.
- weight $\alpha$๋ 0๋ถํฐ 1๋ก linearํ๊ฒ ์ฆ๊ฐํ๋ค.
- toRGB operation์ feature์ RGB(num_channel=3)๋ก ๋ง๋๋ 1x1 conv์ด๋ค.
- ์ด๋ฌํ ๊ตฌ์กฐ๋ StyleGAN2 ๋ถํฐ๋ ์ฌ์ฉํ์ง ์๋๋ค.
2. StyleGAN (CVPR 2019)
Paper: A Style-Based Generator Architecture for Generative Adversarial Networks (link)
์ฐธ๊ณ ํ ๊ธ
ProGAN์ ๋ฌธ์ ์
ProGAN์ ๊ฒฝ์ฐ latent vector๊ฐ generator์ ๋ฐ๋ก ์ ๋ ฅ์ผ๋ก ๋ค์ด๊ฐ๋ค. ์ด ๊ฒฝ์ฐ GAN์ latent space๋ฅผ ํ์ต ๋ฐ์ดํฐ์ ๋ถํฌ์ ๋ง์ถฐ ํ์ตํ๊ฒ ๋๊ณ , entangleํ latent space๋ฅผ ๊ฐ๊ฒ ๋๋ค.
ํ์ต ๋ฐ์ดํฐ์ ์ ๋ถํฌ๊ฐ ์ ์ฒด ๋ฐ์ดํฐ์ ๋ถํฌ๋ฅผ ๋ค ๋ด์ง ๋ชปํ๊ณ ๋น์ด์๋ ๊ณต๊ฐ์ด ์๋ ๊ฒฝ์ฐ, latent space๊ฐ ํ์ต ๋ฐ์ดํฐ์ ์ ๋ถํฌ์ ๋ง์ถฐ์ง๋ ค ํ๋ค ๋ณด๋ curvedํ mapping์ ํ์ตํ๊ฒ ๋๋ ๊ฒ์ด๋ค (warping). Warping์ด ๋ฐ์ํ๊ฒ ๋๋ฉด ๊ฐ style์ด ๊ธ์ง์ ์ผ๋ก ๋ณํํ๊ฒ ๋์ด, ์์ฑ๋ ์ด๋ฏธ์ง ์ญ์ ๊ธ๊ฒฉํ๊ฒ ๋ณํ๊ฒ ๋๋ ํน์ฑ์ด ์กด์ฌํ๋ค.
Mapping network
Entanglement๋ฅผ ํผํ๊ธฐ ์ํด mapping network๋ฅผ ์ด์ฉํ๋ค. ๋ฐ๋ก generator์ ์ ๋ ฅ์ผ๋ก latent vector z๋ฅผ ๋ฃ์ด์ฃผ๋ ๊ฒ์ด ์๋๋ผ, ํ์ต ๋ฐ์ดํฐ์ ๊ณผ ๋น์ทํ ํ๋ฅ ๋ถํฌ๋ฅผ ๊ฐ๋๋ก non-linearํ mapping์ ์ฐ์ ์ ์ผ๋ก ํ ๋ค์, ์ด mapping๋ vector๋ฅผ ๋ ์ด์ด ์ค๊ฐ์ค๊ฐ์ ๋ฃ์ด ์ค์ผ๋ก์จ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋๋ก ํ๋ค. ์ฆ, style์ ์ ํ์ฃผ๋ ๊ณผ์ ์ด๋ค.
- Mapping network๋ 8๊ฐ์ fc layer๋ฅผ ํตํด input vector z๋ฅผ intermediate vector w๋ก mapping์ํจ๋ค.
- ์์ชฝ์ ๋ค์ด๊ฐ๋ style์ ๋ ๋ง์ layer์ ํต๊ณผํ๋ฏ๋ก ๋ ๋ง์ ์ํฅ์ ๋ผ์น๋ค (coarse style). ๋ค์ชฝ์ ๋ค์ด๊ฐ๋ style์ ๋ฐ๋ (fine style).
- Input z์ output w๋ ๋์ผํ ํฌ๊ธฐ๋ฅผ ๊ฐ๋๋ค. (512*1)
- ์ดํ mapping๋ w๋ฅผ synthesis network์ ๊ฐ scale์ ์ ๋ ฅ์ผ๋ก ๋ฃ์ด ํ์ต์ํจ๋ค.
- Mapping network์ ๋ชฉ์ ์ w์ ๊ฐ element๊ฐ ๊ฐ๊ฐ ๋ค๋ฅธ visual feature์ ์กฐ์ ํ๋๋ก encodeํ๋ ๊ฒ์ด๋ค.
- ์ด๋ ๊ฒ ํ๋ฉด w์ ๋ถํฌ์ธ W๋ ํ์ต ๋ฐ์ดํฐ์ ์ ๋ถํฌ์ ๋น์ทํ ๋ชจ์์ผ๋ก mapping๋๊ธฐ ๋๋ฌธ์ latent space๊ฐ disentangleํ๊ฒ ๋๋ค.
AdaIN
w๋ฅผ ๊ฐ scale์ ์ ๋ ฅ์ผ๋ก ๋ฃ๋ ๋ฐฉ๋ฒ์ AdaIN์ ์ด์ฉํ๋ค.
$AdaIN(x_i, y)=y_{s,i}\frac{x_i-\mu(x_i)}{\sigma(x_i)}+y_{b,i}$
w๋ learned affine transformation A (fc layer)์ ๊ฑฐ์ณ input channel๊ณผ ๋์ผํ ํฌ๊ธฐ์ vector $y_{s,i}$, $y_{b,i}$ ๋ ๊ฐ์ง๋ก ๋ณํ๋๋ค.
AdaIN์์ ์ ๊ทํ๋ฅผ ํ ๋๋ง๋ค ํ ๋ฒ์ ํ๋์ฉ๋ง w๊ฐ ๊ธฐ์ฌํ๋ฏ๋ก ํ๋์ style์ด ๊ฐ๊ฐ์ scale์์๋ง ์ํฅ์ ๋ฏธ์น ์ ์๋๋ก ๋ถ๋ฆฌ๋ฅผ ํด์ฃผ๋ ํจ๊ณผ๋ฅผ ๊ฐ๋๋ค. ๋ฐ๋ผ์ style์ ๋ถ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ผ๋ก AdaIN์ด ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉ๋ ์ ์๋ค.
๋ํ, generator์ ๋งค layer๋ง๋ค AdaIN์ ํตํด ์๋ก์ด style์ ์ ํ๊ฒ ๋๋ฏ๋ก, ํน์ layer์์ ์ ํ์ง style์ ๋ฐ๋ก ๋ค์ conv layer์๋ง ์ํฅ์ ๋ผ์น๋ค. ๋ฐ๋ผ์ ๊ฐ layer์ style์ด ํน์ ํ ์๊ฐ์ ํน์ฑ๋ง ๋ด๋นํ๋ ๊ฒ์ด ์ฉ์ดํด์ง๋ค.
Initial input
Generator์ input์ผ๋ก latent vector๋ฅผ ๋ฐ๋ก ๋ฃ์ด์ฃผ๋ ๊ฒ์ด ์๋๋ผ, layer ์ค๊ฐ์ค๊ฐ์ mapping network๋ฅผ ํต๊ณผํ latent vector ๊ฐ์ ๋ฃ์ด์ฃผ๋ ๋ฐฉ์์ ์ด์ฉํ๊ธฐ ๋๋ฌธ์, ๋์ generator์ input์ผ๋ก๋ constant ๊ฐ์ ๋ฃ์ด์ค๋ค.
ProGAN์์๋ 4*4 ํฌ๊ธฐ์ random input์ generator์ ์ ๋ ฅ์ผ๋ก ์ฃผ์์ง๋ง, StyleGAN์ ๊ฒฝ์ฐ image feature์ด w์ AdaIN์ ์ํด ์ ์ด๋๋ฏ๋ก, constant ๊ฐ์ผ๋ก ๋์ฒดํ ์ ์๋ค.
Stochastic variation
๊ฐ ์ด๋ฏธ์ง์ ์์ ๋ํ ์ผ์ ํด๋นํ๋ stochasticity๋ฅผ ๋ํ๊ธฐ ์ํ์ฌ, input vector์ random noise๋ฅผ ์ถ๊ฐํ๋ค. ์ด๋ AdaIN ์ง์ ์ ๋ํด์ง๋ค.
fine layer์ noise๋ ๋ ์์์์ํ ๋ํ ์ผ์, coarse layer์ noise๋ ๋ ํผ์งํ ๋ํ ์ผ์ ์ฑ ์์ง๋ ๊ฒ์ ์ ์ ์๋ค.
Style mixing
๋๊ฐ์ latent vector์ ๋ฝ์์, crossover point๋ฅผ ๊ธฐ์ค์ผ๋ก ์์ชฝ/๋ค์ชฝ์ ๋ค๋ฅธ latent vector์ ์ด์ฉํด style transfer์ ํ๋ค. ์ด๋ฅผ ํตํด ์ธ์ ํ layer์ style์ด ์๊ด๊ด๊ณ๋ฅผ ๊ฐ์ง ์๋๋ก ํ ์ ์๋ค. ์ฆ, correlation์ ์ค์ด๊ณ ๋์ฑ ์ง์ญํํ๋ ๊ฒ์ด๋ค.
์ด๋ฅผ ์ด์ฉํ๋ฉด style mxing์ด ๊ฐ๋ฅํ๋ฐ, ์๋ฅผ ๋ค์ด A vector๋ฅผ low resolution์ ์ฌ์ฉํ๊ณ , B vector์ high resolution์ ์ฌ์ฉํ๋ฉด, A vector์ ์์ํ๋ ์ด๋ฏธ์ง์ ํน์ฑ์ด coarse style์ ๋ํ๋๊ฒ ๋๊ณ , B vector์ ์์ํ๋ ์ด๋ฏธ์ง์ ํน์ฑ์ด fine style์ ๋ํ๋๊ฒ ๋๋ ๊ฒ์ด๋ค.
3. StyleGAN2 (CVPR 2020)
paper: Analyzing and Improving the Image Quality of StyleGAN (link)
PyTorch ์ฝ๋ with ์ค๋ช : https://bo-10000.tistory.com/169
์ฐธ๊ณ ํ ๊ธ
๊ธฐ์กด StyleGAN์ ๋ฌธ์ ์ ๋๊ฐ์ง๋ฅผ ํด๊ฒฐํ๋ค.
- blob-like artifact -> normalization ๊ตฌ์กฐ ๊ฐ์
- phase artifact -> alternative progressive growing
Blob-like artifact
StyleGAN์ผ๋ก ์์ฑ๋ ์ด๋ฏธ์ง์์ ์ผ๋ฃฉ(blob) ๊ฐ์ artifact๊ฐ ๋ฐ์ํ๋ ํ์์ด ์์๋ค. ์ด ์ผ๋ฃฉ์ 64*64 resolution๋ถํฐ ๋ฐ์ํ๊ธฐ ์์ํด์ ๊ณ ํด์๋๋ก ๊ฐ์๋ก ๋ ์ฌํด์ง๋ ๊ฒฝํฅ์ด ์์๊ณ , discriminator์ ์ด๋ฅผ ๊ฐ์งํ์ง ๋ชปํ๋ค.
์ ์๋ค์ ์ด ํ์์ ์์ธ์ AdaIN์ผ๋ก ๋ณด์๋ค. AdaIN์ ๊ฐ๊ฐ์ feature map์ ๋ ๋ฆฝ์ ์ผ๋ก normalizeํ๋๋ฐ, ์ด ๊ณผ์ ์์ ์๋ก ์ฐ๊ด๋์ด ์๋ feature map๋ค์ ๊ด๊ณ๊ฐ ๋ฌด์๋๋ ๊ฒ์ด ์์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๋ฐ์์ํจ๋ค๊ณ ํด์ํ๋ค. ๋ฐ๋ผ์ ์ด๋ฅผ ํด๊ฒฐํ ์ ์๋ ์๋ก์ด instance normalization ๋ฐฉ๋ฒ์ ์ ์ํ๋ค.
(a)์ StyleGAN์ generator ๊ตฌ์กฐ๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ์จ ๊ฒ์ด๊ณ , (b)๋ StyleGAN์ generator ๊ตฌ์กฐ์์ AdaIN ๋ถ๋ถ์ ๋ณด๋ค ์์ธํ๊ฒ ๋ํ๋ธ ๊ฒ์ด๋ค. AdaIN์ feature์ mean๊ณผ std๋ฅผ ์ด์ฉํด normalizationํ๋ ๋ถ๋ถ๊ณผ, style vector์ ์ด์ฉํด ๋ค์ feature์ mean๊ณผ std๋ฅผ modulation ํ๋ ๋ถ๋ถ์ผ๋ก ๋๋ ์๊ฐํ ์ ์๋ค. ์ด ๋ ํ๋์ style์ด ๊ด์ฌํ๋ ๋ถ๋ถ์ ํ๋์ "style block"์ผ๋ก ๋ณธ๋ค๋ฉด, modulation์ด ์ ์ฉ๋ ์ดํ๋ถํฐ ๋ค์ modulation์ด ์ ์ฉ๋๊ธฐ ์ ๊น์ง์ ์ฐ์ฐ๋ค์ด ๋ชจ๋ ํฌํจ๋๋ค. (modulation->conv->add noise->normalization)
StyleGAN2์ ์ฌ๊ธฐ์ ๋ ๊ฐ์ง ํฐ ์์ ์ ๊ฐํ๋ค. ์ฐ์ (c)๋ ๋คํธ์ํฌ ๊ตฌ์กฐ๋ฅผ ์์ ํ๋ค. ์ฐ์ add noise ๋ถ๋ถ์ style block ๋ฐ์ผ๋ก ๋นผ๊ณ style block๊ณผ style block ์ฌ์ด์์ ์ํํ๋ค. ๋ํ, normalization๊ณผ modulation ์ฐ์ฐ์ std์์๋ง ์ ์ฉํ๊ธฐ๋ก ํ๋ค. ์ฆ, mean๊ฐ์ ์์ ํ์ง ์๋ ๊ฒ์ด๋ค.
(d)๋ style์ ์ ํ๋ ๊ณผ์ ์ ์์ ํ๊ฒ ๋๋ค. (c)์ style block์ ๋ณด๋ฉด, ์ฐ์ feature map์ std modulation์ ์ํํ ์ดํ convolution์ ์ด์ด์ ์ํํ๋๋ฐ, ์ด๋ ๋จ์ํ convolution weight์ scalingํ๋ ๊ฒ๊ณผ ๋์ผํ๋ค.
$w'_{ijk}=s_i\cdot w_{ijk}$
์ด๋ input์ด ํ์ค์ ๊ท๋ถํฌ๋ฅผ ๋ฐ๋ฅธ๋ค๊ณ ๊ฐ์ ํ๋ฉด output์ std๋ ๋ค์๊ณผ ๊ฐ๋ค.
$\sigma_j=\sqrt{\sum_{i,k}{s'_{ijk}}^2}$
std normalization์ output์ ์ด output std ๊ฐ์ผ๋ก ๋๋ ์ฃผ๋ ๊ฒ๊ณผ ๋์ผํ๊ธฐ ๋๋ฌธ์ (demodulation), ๋ง์ฐฌ๊ฐ์ง๋ก ์ด๋ convolution weight์ scaling์ผ๋ก ๊ตฌํํ ์ ์๋ค.
$w''_{ijk}=w'_{ijk}/\sqrt{\sum_{i,k}{w'_{ijk}}^2+\epsilon}$
์ฆ ์ ์ฒด style block (modulation -> convolution -> normalization)์ ํ๋์ convolution layer์ weight์ ์์ ํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํํ ์ ์๋ ๊ฒ์ด๋ค. (modulation -> demodulation -> convolution)
Phase artifact
Progressive growing์ ์์ ์ ์ผ๋ก ๊ณ ํด์๋ ์ด๋ฏธ์ง๋ฅผ ํฉ์ฑํ๋ ๋ฐ์ ๋งค์ฐ ์ ์ฉํ์ง๋ง, ์น์๋ ๋ ๋ฑ์ด ํน์ ์์น์ ๊ณ ์ ๋๋ phase artifact (strong location preference) ํ์์ด ๋ฐ์ํ๋ค. ์ด๋, ๊ฐ resolution์ด output resolution์ ๋ํด ์ต๋ frequency detail์ ์์ฑํ๊ณ ์ ํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ด์ ๋ํ ๋์์ผ๋ก ์ธ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๋ค.
- (a) MSG-GAN: ๋์ผ res์ G์ D๋ฅผ skip connection์ผ๋ก matching์์ผ์ค๋ค.
- (b) skip connection: G์ output์ ๋ค ๋ํด์ decoder๋ก ์ ๋ฌํ๋ค.
- (c) residual connection
Generator๊ณผ discriminator์ ๋ํด ๊ฐ๊ฐ ์ธ ๊ฐ์ง ๊ตฌ์กฐ๋ฅผ ์ ์ฉํด ์ด 9๊ฐ์ง๋ฅผ ์คํํด๋ณด๊ณ , ๊ทธ ์ค ๊ฐ์ฅ ์ฑ๋ฅ์ด ๋์ ์กฐํฉ์ ์ฑํํ๋ค (Generator-(b), discriminator - (c))
4. StyleGAN3 (NeurIPS 2021)
paper: Alias-Free Generative Adversarial Networks (link)
'๐ Deep Learning > Overview' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[GAN Overview] GAN ์ฃผ์ ๋ชจ๋ธ ์ ๋ฆฌ (GAN survey ๋ ผ๋ฌธ ๋ฆฌ๋ทฐ) (0) | 2022.01.23 |
---|---|
[Overview] Attention ์ ๋ฆฌ - (2) seq2seq, +attention (0) | 2021.01.26 |
[Overview] Attention ์ ๋ฆฌ - (1) LSTM (0) | 2021.01.26 |
[Overview] YOLO ๊ณ์ด Object Detection ์ ๋ฆฌ - (1) YOLO (0) | 2021.01.19 |
[Overview] R-CNN ๊ณ์ด Object Detection ์ ๋ฆฌ (Two-stage detector) (0) | 2021.01.08 |