๐ ํด๋น ํฌ์คํ ์ OREILLY์ '๋ฏธ์ ๊ด์ GAN ๋ฅ๋ฌ๋ ์ค์ ํ๋ก์ ํธ' ์์ ์ ์ฝ๊ณ ๊ฐ์ธ์ ์ธ ๋ชฉ์ ํ์ ์์ฑ๋๋ ๊ธ์ ๋๋ค. ํฌ์คํ ์ ์ฌ์ฉ๋๋ ๋ชจ๋ ์๋ฃ๋ ์ ๊ฐ ์ง์ ์ฌ๊ตฌ์ฑํ์์์ ์๋ฆฝ๋๋ค.
์ด๋ฒ ํฌ์คํ ์์๋ ์ง๋ ํฌ์คํ ์์ ๋ฐฐ์ด AE, VAE ๋ชจ๋ธ๊ณผ๋ ๋ค๋ฅธ ๋ฉ์ปค๋์ฆ์ผ๋ก ๋์ํ๋ ์์ฑ์ ์ ๋ ์ ๊ฒฝ๋ง ์ด๋ฅธ๋ฐ GAN ์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ๋ชจ๋ธ์ ๋ํด ๋ฐฐ์๋ณด์. ๊ทธ๋ฆฌ๊ณ GAN์ ํ๊ณ์ ์ ๊ทน๋ณตํ๋ WGAN, WGAN-GP ๋ชจ๋ธ์ ๋ํด์๋ ๋ฐฐ์๋ณด์.
1. ์์ฑ์ vs ํ๋ณ์ ๊ฐ์ ๋๊ฒฐ๋ก ๋ง๋ค์ด์ง๋ ๋คํธ์ํฌ
GAN์ 'A'๋ Adversarial์ ์๋ฏธํ๋ค. ํ๊ตญ๋ง๋ก ํ๋ฉด '์ ๋์ ์ธ'์ ๋ปํ๋ค. ์ ์ ๋์ ์ธ ์๋ฏธ๋ฅผ ๋ด๊ณ ์์๊น? GAN์ ์์ฑ์(Generator)์ ํ๋ณ์(Discriminator) ๋ผ๋ ๋ ๋คํธ์ํฌ์ '์ ๋์ ์ธ' ๊ด๊ณ๋ฅผ ํตํด ๋ง๋ค์ด์ง๋ค. ์ฆ, ์์ฑ์์ ํ๋ณ์๊ฐ ์๋ก ์ด๊ธฐ๋ ค๊ณ ๊ฒฝ์ํ๋ค๋ ๊ฒ์ด๋ค.
์ข ๋ ๊ตฌ์ฒด์ ์ผ๋ก ์ด์ผ๊ธฐํ์๋ฉด, ์์ฑ์๋ ๋๋คํ ์ก์(noise) ๋ฐ์ดํฐ๋ฅผ ๋ง์น ์๋ณธ ๋ฐ์ดํฐ์ ์์ ์ํ๋งํ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ์ํ๋ก ๋ณํํ๋ค. "๋ฐ์ดํฐ๋ฅผ ๋ง์น ์๋ณธ ๋ฐ์ดํฐ์ ์์ ์ํ๋งํ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ์ํ๋ก ๋ณํ" ์ด๋ผ๋ ํ ์คํธ๋ฅผ ๋ณด๋ ์ฝ๊ฐ ์ต์ํ๋ค. ๋ฐ๋ก ๊ทธ ์ ์ ์์๋ณธ AE, VAE ๋ชจ๋ธ์์์ ๋์ฝ๋์ ๋ชฉ์ ๊ณผ ๋งค์ฐ ๋น์ทํ๋ค. ๋จ, AE, VAE์์๋ '๋๋คํ ์ก์' ๋ฐ์ดํฐ๊ฐ ์๋ '์ธ์ฝ๋๊ฐ ์ถ๋ ฅํ ์ ์ฌ ๊ณต๊ฐ์ ๋ฒกํฐ ๋ฐ์ดํฐ'๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฃ์ด ์์ฑํ์๋ค. ๊ทธ๋์ GAN์์์ ์์ฑ์ ๋ชจ๋ธ์ ๋ง์น AE, VAE์์์ ๋์ฝ๋์ ๋งค์ฐ ์ ์ฌํ๋ค.
GAN์์๋ ๋ ํ๋์ ๋ชจ๋ธ์ด ์กด์ฌํ๋ค. ๋ฐ๋ก ํ๋ณ์์ด๋ค. ํ๋ณ์๋ ์์ฑ์๊ฐ ๋ง๋ค์ด๋ธ ์ํ๋ง ๋ฐ์ดํฐ๊ฐ ์๋ณธ ๋ฐ์ดํฐ์ ์์ ์ถ์ถํ ์ํ์ธ์ง ์๋์ง ์ฆ, ์ง์ง์ธ์ง ์๋์ง ๊ตฌ๋ณํ๋ ๋ชจ๋ธ์ด๋ค. ํ๋ณ์๋ ์คํ๋ ค ์ฐ๋ฆฌ์๊ฒ ๋ ์ต์ํ ๋ชจ๋ธ์ ์ข ๋ฅ๋ค. ์ปดํจํฐ ๋น์ (ํน์ ์ด๋ฏธ์ง ๋ถ๋ฅ) ๋ถ์ผ์ ์ ๋ฌธํ๊ฒ ๋๋ฉด ๊ฐ์ฅ ๋จผ์ ํ๋ ํํ ๋ฆฌ์ผ์ด MNIST ์๊ธ์จ ๋ถ๋ฅ, ๊ฐ/๊ณ ์์ด ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด๋ณธ๋ค. ๋ฐ๋ก ์ด๋ ๊ฒ ์ธํ ๋ฐ์ดํฐ๊ฐ ์ด๋ค ํด๋์ค ๋๋ ๋ ์ด๋ธ์ ์ํ๋ ๊ฒ์ธ์ง '๋ถ๋ฅํ๊ณ ํ๋ณ' ํ๋ ๋ชจ๋ธ์ด๋ค.
GAN์ด ํ์ตํ๋ ๋จ๊ณ๋ ์๋ ๋ชฉ์ฐจ์์ ์ข ๋ ์์ธํ ์์๋ณด๊ธด ํ๊ฒ ์ง๋ง ๊ฐ๋จํ ์์๋ฅผ ์ ์ํ๋ฉด ์๋์ ๊ฐ๋ค.
- ์ต์ด์ ์์ฑ์๊ฐ ๋๋คํ ์ก์์ ์ฌ์ฉํด์ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ค.(์ด ๋ ์์ฑ๋ ์ด๋ฏธ์ง๋ ์๋ณธ ์ด๋ฏธ์ง์ ํฐ๋ฌด๋ ์์ด ๋ค๋ฅผ ๊ฒ์)
- ํ๋ณ์๋ (์์ฑ์๊ฐ) ์์ฑํ ์ด๋ฏธ์ง๋ฅผ ๋ณด๊ณ ์๋ณธ ์ด๋ฏธ์ง์ ์ผ๋ง๋ ๊ฐ์์ง 0 ~ 1 ์ฌ์ด์ ํ๋ฅ ๊ฐ์ผ๋ก ์์ธก
- ์ด๋ ๊ฒ 1,2 ๋จ๊ณ๋ฅผ ๋ฒ๊ฐ์๊ฐ๋ฉด์ ๋ฐ๋ณต์ ์ผ๋ก ํ์ต
๊ฒฐ๊ตญ, ์ ๋จ๊ณ๋ฅผ ๊ฐ๋จํ๊ฒ ์ ์ํ๋ฉด ์์ฑ์๋ ํ๋ณ์๋ฅผ ์์ด๊ธฐ ์ํด ์๋ณธ ๋ฐ์ดํฐ์ ๊ฐ์ฅ ๋น์ทํ ๋ฐ์ดํฐ๋ฅผ ๋ง๋ค๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ด๊ณ , ํ๋ณ์๋ ์์ฑ์๊ฐ ์ฌ๊ธฐ๊พผ(?)์ด๋ผ๋ ๊ฒ์ ์ฆ๋ช ํ๊ธฐ ์ํด ์์ฑ๋ ๋ฐ์ดํฐ๋ฅผ ์๋ณธ ๋ฐ์ดํฐ์ ์ ํํ๊ฒ ๊ตฌ๋ถํ๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ด๋ค. ์ด๋ ๊ฒ ์๋ก 2๊ฐ์ ๋ชจ๋ธ์ด ์๋ก ์ํ๋ ค๊ณ ๊ฒฝ์ํ๋ฉด์ GAN ์ด๋ผ๋ ์์ฑ ๋ชจ๋ธ์ ๋ชฉ์ ์ธ "์๋ณธ ๋ฐ์ดํฐ์๋ ๋ค๋ฅด์ง๋ง ๋งค์ฐ ๋น์ทํ ๋ค๋ฅธ ์ด๋ฏธ์ง"๋ฅผ ๋ฌ์ฑํ ์ ์๊ฒ ๋๋ค.
2. GAN ๋ชจ๋ธ์ ๋ง๋ค์ด๋ณด์
๊ทธ๋ฌ๋ฉด ์ด์ GAN ๋ชจ๋ธ์ ์ง์ ์ฝ๋๋ก ๊ตฌํํด๋ณด์. ์ฑ ์ ์์ ๊นํ ์ฝ๋๋ ์๊ธด ํ์ง๋ง, 2019๋ ๋๋ผ Tensorflow, Keras ๋ฒ์ ์ด ๋ค์ ์๋ ์ด๊ณ , ํ์ฌ ์ง์์ด ์๋๋ ๋ฌธ๋ฒ์ด๋ ํจ์๊ฐ ์์ด AE, VAE๋ฅผ ๊ตฌํํ ๋๋ ์ ์ ์ฝ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก pytorch๋ก ์๋ก ๊ตฌํํ๋ค. ์ด๋ฒ์ GAN๋ ๊ทธ๋ ๊ฒ ์์ฑํ๋ค. ๊ฐ๋ฐํ๋ ๋ฐ ๋ค์ ์๊ฐ์ ์ข ์ค๋ ๊ฑธ๋ฆฌ์ง๋ง pytorch๋ ํ์ตํ ๊ฒธ ์ ์ ์ฝ๋๋ฅผ ๋ฏ์ด๋ณด๋ ๊ฒ์์๋ ๋งค์ฐ ๋ง์ ๋ฐฐ์์ ์ป์ด๊ฐ๋ค.
๋จผ์ ์ฐ๋ฆฌ์๊ฒ ์ต์ํ ํ๋ณ์ ๋ชจ๋ธ์ ๋ง๋ค์ด๋ณด์. ํ๋ณ์์ ๋ชฉํ๋ ๋ค์ ๋งํ์ง๋ง ์์ฑ์๊ฐ ์์ฑํ ์ด๋ฏธ์ง๊ฐ ์ง์ง์ธ์ง ๊ฐ์ง์ธ์ง ์์ธกํ๋ ๊ฒ์ด๋ค. ์ฆ, ์ง๋ ํ์ต์์์ ๋ถ๋ฅ ๋ฌธ์ ์ด๋ค. ์ฐธ๊ณ ๋ก GAN์ ์๋ณธ ๋ ผ๋ฌธ์์๋ ํฉ์ฑ๊ณฑ(์ปจ๋ณผ๋ฃจ์ )์ด ์๋ ์์ ์ฐ๊ฒฐ์ธต(Fully-Connected)๋ง์ ์ฌ์ฉํ๋ค. ํ์ง๋ง ๊ทธ ์ดํ๋ก, GAN์์๋ ํฉ์ฑ๊ณฑ์ ์ ์ฉํจ์ผ๋ก์จ ํ๋ณ์์ ๋ชจ๋ธ ์์ธก ์ฑ๋ฅ์ด ํฌ๊ฒ ํฅ์๋์๋ค๊ณ ํ๋ค. ๊ทธ๋์ ํฉ์ฑ๊ณฑ์ด ์ ์ฉ๋ GAN์ DCGAN(Deep Convolutional GAN)์ด๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ๋ค. ํ์ง๋ง ์์ฆ์ ๋ฑ์ฅํ๋ GAN์ ํ์๋ชจ๋ธ๋ค์ ๋๋ถ๋ถ ํฉ์ฑ๊ณฑ์ ์ด์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ด ํฌ์คํ ์์ ์ธ๊ธํ๋ GAN๋ DCGAN์ด๋ผ๊ณ ์ดํดํ๋ฉด ๋๋ค. ํ๋ณ์ ๋ชจ๋ธ์ ๋ง๋๋ ์ฝ๋๋ ์ฌ๊ธฐ๋ฅผ ์ฐธ์กฐํ์.
๋ค์์ ์์ฑ์ ๋ชจ๋ธ์ด๋ค. ์ ๊ทธ๋ฆผ์์ ๋ณด์๋ค ์ํผ ์์ฑ์ ๋ชจ๋ธ์ ์ ๋ ฅ์ ์ผ๋ฐ์ ์ผ๋ก ๋ค๋ณ์ ํ์ค ์ ๊ท ๋ถํฌ์์ ์ถ์ถํ ๋ฒกํฐ์ด๋ค. ์ง๋ AE, VAE์์ ๋ค๋ณ์ ํ์ค ์ ๊ท ๋ถํฌ ๊ฐ๋ ์ ๋ํด ๋ฐฐ์ ์๋ค. ๊ทธ ๋ ์๊ฐํ ์ฉ์ด๋ก๋ '์ ์ฌ ๊ณต๊ฐ์ ๋ฒกํฐ'๊ฐ ๋ฐ๋ก ์์ฑ์์ ์ ๋ ฅ์ด ๋๋ ์ ์ด๋ค. ์์ฑ์ ๋ชจ๋ธ์ ๋ง๋๋ ์ฝ๋๋ ์ฌ๊ธฐ๋ฅผ ์ดํด๋ณด์.
์์ฑ์ ๋ชจ๋ธ์ ์ฝ๋๋ก ๊ตฌํํ ๋ ํ ๊ฐ์ง ํน์ดํ ํจ์๋ฅผ ์ฌ์ฉํ๋ค. ๋ฐ๋ก ์ ์ํ๋ง์ด๋ค. Tabular ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ๋๋ '์ ์ํ๋ง'์ด๋ผ๋ ์ฉ์ด์ ๋ํด ๋ฐฐ์ด์ ์ด ์์๋๋ฐ, ๊ทธ ๋๋ ์ฃผ๋ก ํด๋์ค ๋ถ๊ท ํ์ด ์กด์ฌํ๋ ๋ฐ์ดํฐ์ ์์ ๋ถ๊ท ํ์ ์ ๊ฑฐํ๋ ์๋จ ์ค ํ๋๋ก์ ์ธ๊ธ์ด ๋์๋ค. ํ์ง๋ง ์ด๋ฏธ์ง ์ฒ๋ฆฌ์์์ ์ ์ํ๋ง์ ์๋ฏธ๊ฐ ๋ค๋ฅด๋ค. ๋ง ๊ทธ๋๋ก ์ ๋ ฅ ์ด๋ฏธ์ง์ ๋์ด, ๋๋น๋ฅผ ์ฆ๊ฐ(Up) ์ํค๋ ๊ฒ์ด๋ค. pytorch ์ฝ๋๋ฅผ ์์๋ก ํ๋ ์ดํด๋ณด์. ๋ง์ฝ ์๋์ ๊ฐ์ด ๋์ด, ๋๋น๊ฐ 2์ฉ์ด๊ณ ์ฑ๋ ์๊ฐ 1์ด๋ฉฐ ๋ฐฐ์น ๊ฐ์๊ฐ 1๊ฐ์ธ ์ฆ shape๊ฐ (1, 1, 2, 2)์ธ ๋ฐ์ดํฐ๊ฐ ์๋ค๊ณ ๊ฐ์ ํด๋ณด์.
import torch
raw_img = torch.arange(1, 5, dtype=torch.float32).view(1, 1, 2, 2)
raw_img
# shape: (1, 1, 2, 2)
# tensor([[[[1., 2.],
# [3., 4.]]]])
์ด๋ด ๊ฒฝ์ฐ, ์ฐ๋ฆฌ๋ pytorch์์๋ Upsample ์ด๋ผ๋ ํจ์๋ฅผ ์ฌ์ฉํด์ ์ํ๋ ํฌ๊ธฐ๋งํผ ๋์ด์ ๋๋น๋ฅผ ๋๋ฆด ์ ์๋ค.
import torch
raw_img = torch.arange(1, 5, dtype=torch.float32).view(1, 1, 2, 2)
up_img = torch.nn.Upsample(scale_factor=2)(raw_img)
print(up_img)
# shape: (1, 1, 4, 4)
# tensor([[[[1., 1., 2., 2.],
# [1., 1., 2., 2.],
# [3., 3., 4., 4.],
# [3., 3., 4., 4.]]]])
ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๋ ๊ฒ์ scale_factor ๊ฐ์ผ๋ก ์กฐ์ ํ ์ ์๋ค. ํ ์คํธ ์ผ์ scale_factor๋ฅผ ๋ค๋ฅธ ์ซ์๋ก ํ์ ๋ ์ด๋ป๊ฒ shape์ด ๋ณํ๋์ง๋ ์ดํด๋ณด๋ฉด ์ดํดํ๋ ๋ฐ ๋ ๋์์ด ๋ ๊ฒ์ด๋ค.
์ด๋ฌํ ์ ์ํ๋ง ๋ฐฉ๋ฒ์ AE, VAE์์์ ๋์ฝ๋ ๋ถ๋ถ์ ๊ตฌํํ ๋ ์ฌ์ฉํ๋ ์ ์น ํฉ์ฑ๊ณฑ(Transpose Convolution) ์ฐ์ฐ๊ณผ ๊ธฐ๋ฅ์ด ์ ์ฌํ๋ค. ์ฆ, ๋ชจ๋ ์ด๋ฏธ์ง ์๋ณธ ์ฌ์ด์ฆ ์ฐจ์์ผ๋ก ๋๋๋ฆฌ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์ ์ฉํ ๋ฐฉ๋ฒ๋ค์ด๋ค. ํ์ง๋ง ์ ์ํ๋ง ๋ฐฉ๋ฒ์ ์ ์น ํฉ์ฑ๊ณฑ๊ณผ๋ ๋ค๋ฅด๊ฒ ์ด๋ฏธ์ง ๋์ด, ๋๋น๋ฅผ ๋๋ฆด ๋ ํฝ์ ์ฌ์ด์ ๊ณต๊ฐ์ 0์ผ๋ก ์ฑ์ฐ๋ ๊ฒ์ด ์๋๋ผ ๊ธฐ์กด ํฝ์ ๊ฐ์ ์ฌ์ฉํด์ ์ฑ์๋ฃ๋ ์ ์ด ๋ค๋ฅด๋ค.
๋น๋ก ์ ์น ํฉ์ฑ๊ณฑ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ถ๋ ฅ ์ด๋ฏธ์ง ๊ฒฝ๊ณ์ ๊ณ๋จ ๋ชจ์์ด๋ ์์ ์ฒดํฌ๋ฌด๋ฌ ํจํด์ ๋ง๋ค๊ฒ ๋์ด ์ถ๋ ฅ ํ์ง์ ๋จ์ด๋จ๋ฆฐ๋ค๊ณ ์๋ ค์ ธ ์์ง๋ง ๋ชจ๋ ๋ฐ์ดํฐ์ ์ผ๋ฐํ์ํค๊ธฐ๋ ์ด๋ ต๋ค. ๋ค์ ๋งํด ์ฌ์ฉํ๋ ค๋ ์ด๋ฏธ์ง ๋ฐ์ดํฐ๊ฐ ์ด๋ค์ง์ ๋ฐ๋ผ ํจ๊ณผ๊ฐ ๋ฌ๋ผ์ง ์ ์๊ธฐ ๋๋ฌธ์ ๋ฐ๋์ ์ ์ํ๋ง๊ณผ ์ ์นํฉ์ฑ๊ณฑ ๋ ๋ฐฉ๋ฒ ๋ชจ๋ ํ ์คํธ ํด๋ณด๋ฉด์ ๋ ๋์ ์ฑ๋ฅ์ ๋ฐํํ๋ ๊ธฐ๋ฒ์ ์ ํํ๋๋ก ํ์.
3. GAN์ ํ์ต ๋ฐฉ๋ฒ
๋ค์์ ๊ฐ์ฅ ์ค์ํ๋ค๊ณ ํ ์ ์์ผ๋ฉฐ ์ฐ๋ฆฌ๊ฐ ๊ธฐ์กด์ ๋ฐฐ์์๋ ๋ชจ๋ธ๊ณผ๋ ํ์ฐํ ๋ค๋ฅธ ์ฆ, GAN๋ง์ ํน์ดํ ์ ์ด๋ผ๊ณ ํ ์ ์๋ ํ์ต ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์. ์ฐ๋ฆฌ๋ ์ง๊ธ๊น์ง GAN์๋ ์์ฑ์์ ํ๋ณ์๋ผ๋ 2๊ฐ์ ๋ชจ๋ธ๋ก ๊ตฌ์ฑ๋์ด ์๋ค๋ ์ ์ ๋ฐฐ์ ๊ณ , ๊ฐ ๋ชจ๋ธ์ ๋ชฉ์ ์ฑ๋ ์ดํด๋ณด์๋ค. ๊ทธ๋ฌ๋ฉด ์ด์ GAN์ ํ์ต ์์์ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์.
๋จผ์ ํ๋ณ์ ๋ชจ๋ธ์ ํ์ต์์ผ์ ํ๋ณ์๊ฐ '์ด๋ค ์ด๋ฏธ์ง๋ฅผ ๋ณด๊ณ ์ด๊ฒ์ด ์ง์ง ์ด๋ฏธ์ง๋ผ๊ณ ํ๋จํ ์ ์๋ ๋ฅ๋ ฅ'์ ๊ฐ๋๋ก ํด์ฃผ์ด์ผ ํ๋ค. ๊ทธ๋ ๊ฒ ํ๊ธฐ ์ํด์๋ ํ๋ณ์ ๋ชจ๋ธ์ ํ์ต์ํค๋ ๋ฐ์ดํฐ์ ์๋ ์ง์ง ์ด๋ฏธ์ง์ ๊ฐ์ง ์ด๋ฏธ์ง '๋ชจ๋' ์กด์ฌํด์ผ ํ๋ค. ๋ง ๊ทธ๋๋ก ์ง์ง ์ด๋ฏธ์ง๋ ์ด๋ฏธ ์ฐ๋ฆฌ๊ฐ ๊ฐ๊ณ ์๋ ์ด๋ฏธ์ง ๋ฐ์ดํฐ์ ์์ฒด๊ฐ ์ง์ง ์ด๋ฏธ์ง์ด๊ธฐ ๋๋ฌธ์ ๊ทธ๋๋ก ๊ฐ์ ธ๋ค ์ฌ์ฉํ๋ฉด ๋๋ค. ํ์ง๋ง ๋ฌธ์ ๋ ๊ฐ์ง ์ด๋ฏธ์ง๋ ํ์ํ ์ํฉ์ด๋ค. ์ด๋ฅผ ์ํด ์์ฑ์ ๋ชจ๋ธ์ ์ฌ์ฉํ ์ ์๋ค. ์ฆ, ์์ฑ์ ๋ชจ๋ธ์ด ์์ฑํ๋ ์ด๋ฏธ์ง๋ (์ค์ฌ ์ง์ง ์ด๋ฏธ์ง์ ๋งค์ฐ ๋น์ทํ๋๋ผ๋) ์ด์จ๊ฑด ๊ฐ์ง ์ด๋ฏธ์ง์ด๋ค. ๋ฐ๋ผ์ ์์ฑ์ ๋ชจ๋ธ์ด (์ ์ฌ ๊ณต๊ฐ ๋ฒกํฐ ๊ฐ์) ๋๋คํ ์ก์์ ์ ๋ ฅ์ผ๋ก ๋ฐ์์ ๋ง๋ค์ด๋ธ ์ถ๋ ฅ ์ด๋ฏธ์ง๋ฅผ ํ๋ณ์์ ํ์ต ๋ฐ์ดํฐ์ ์ ํฌํจ์ํค๋ ๊ฒ์ด๋ค. ์ด ๊ณผ์ ์ ์ฝ๊ฒ ๋์ํ ํ๋ฉด ์๋์ ๊ฐ๋ค.
์ฐธ๊ณ ๋ก ์ ํ๋ณ์ ๋ชจ๋ธ์ ์์คํจ์๋ ์ด์ง ๋ถ๋ฅ์ ์์ฃผ ํ์ฉ๋๋ ์ด์ง ํฌ๋ก์ค์ํธ๋กํผ๋ฅผ ์ฌ์ฉํ๋ค. ์ ์ด์ ํ๋ณ์ ๋ชจ๋ธ์ ํ์ต์์ผ ํ๋ณ ๋ฅ๋ ฅ์ ๊ฐ์ถ๊ฒ ๋ง๋ค์๋ค.
๋ค์ ์์๋ ์์ฑ์ ๋ชจ๋ธ๊ณผ ํ๋ณ์ ๋ชจ๋ธ์ ์ฐ๊ฒฐ์ํจ ์ฆ, GAN ์ ์ฒด ๋ชจ๋ธ์ ํ์ต์์ผ๋ณด๋๋ก ํ์. ์ด ๋ ์ ์ฒด ๋ชจ๋ธ์ ํ์ต์ํฌ ๋๋ ์ฃผ์ํด์ผ ํ ์ ์ด ์๋ค. ๋ฐ๋ก ์์ฑ์์ ๊ฐ์ค์น๋ง ์ ๋ฐ์ดํธ ๋๋๋ก ํ์ต์์ผ์ผ ํ๋ค.(๊ทธ๋์ ์ฌ์ค์ 'GAN ์ ์ฒด ๋ชจ๋ธ์ ํ์ต ์ํจ๋ค' ๋ผ๊ณ ํ์ง๋ง ์ค์ง์ ์ผ๋ก๋ ์์ฑ์๋ฅผ ํ์ต์ํค๋ ์ ์ด๋ค.) ์ด์ ๋ ๋ฌด์์ผ๊น? ์ด๋ฅผ ์ดํดํ๊ธฐ ์ํด GAN์ ๋ณธ์ง์ ์ธ ๋ชฉ์ ์ฑ์ ๋ค์ ์ง์ด๋ณด์. GAN์ ์ฐ๋ฆฌ๊ฐ ๋ฐฐ์ฐ๊ณ ์ด์ฉํ๋ ๋ชฉ์ ์ "์ง์ง ์ด๋ฏธ์ง์ ๋น์ทํ ๊ฐ์ง ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ๊ฒ"์ด ๋ชฉํ์ด๋ค. ์ด ๋ง์ ๊ณง GAN์ ๊ตฌ์ฑํ๋ ํ๋ณ์์ ์์ฑ์ ๋ชจ๋ธ ๋ ์ค ์์ฑ์์ ๋ฅ๋ ฅ์ ํค์ฐ๋ ๋ชฉ์ ์ ์ข ๋ ํฌ์ปค์ค๊ฐ ์๋ค๋ ๊ฒ์ด๋ค. ํ๋ณ์๋ฅผ ํ์ต์ํค๋ ๊ฒ์ ๋จ์ง ์์ฑ์์ ๋ฅ๋ ฅ์ ํค์ฐ๊ธฐ ์ํ ์๋จ์ผ ๋ฟ์ธ ์ ์ด๋ค.
๋ฐ๋ผ์ ์ต์ด์ ์ฐ๋ฆฌ๋ ๋จผ์ ํ๋ณ์ ๋ชจ๋ธ์ ํ์ต์์ผ์ ์์ฑ์์ ๋ฅ๋ ฅ์ ํค์ฐ๊ธฐ ์ํ ์๋จ์ ๋ง๋ จํ ์ ์ด๋ค. ๊ทธ๋์ ๋ค์์ผ๋ก GAN ๋ชจ๋ธ ์ ์ฒด๋ฅผ ํ์ต์ํฌ ๋๋ ์์ฑ์ ๋ชจ๋ธ ํ์ต์ ํฌ์ปค์ค๋ฅผ ๋ง์ถ์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ํ๋ณ์๊ฐ ํ์ต๋๋ ๊ฒ์ ๋ง์์ผ ํ๊ณ ์ด ๋ง์ ํ๋ณ์์ ๊ฐ์ค์น๊ฐ ์ ๋ฐ์ดํธ๋๋๋ก ํด์๋ ์๋๋ ๊ฒ์ด๋ค. ๋ง์ฝ์ GAN ๋ชจ๋ธ ์ ์ฒด๋ฅผ ํ์ต์ํฌ ๋๋ ํ๋ณ์๊ฐ ํ์ต๋๋๋ก ๋๋๋ฉด ๊ฒฐ๊ณผ๊ฐ ์ด๋ป๊ฒ ๋ ๊น? ์ข ๋ ๋ช ํํ๊ฒ ์ดํดํ๊ธฐ ์ํด์ (์ถํ์ ์ฝ๋๋ก ์ดํด๋ณผํ ์ง๋ง) GAN ๋ชจ๋ธ ์ ์ฒด์ ์ถ๋ ฅ๊ฐ(output)๊ณผ ์์คํจ์๋ฅผ ๊ณ์ฐํด์ผ ํ๋ ์ ๋ต(ํ๊ฒ)๊ฐ์ด ๋ฌด์์ธ๊ฐ๋ฅผ ์ดํด๋ณด๋ฉด ๋๋ค.
GAN ๋ชจ๋ธ์ ๋ชฉ์ ์ "์์ฑ์๊ฐ ์์ฑํ ์ด๋ฏธ์ง๊ฐ ์ง์ง ์ด๋ฏธ์ง์ ๋น์ทํด์ผ ํ๋ค"์ด๋ค. ์ด ๋ง์ ๊ณง ์์ฑ์๊ฐ ์์ฑํ ์ด๋ฏธ์ง๊ฐ ํ๋ณ์๊ฐ ๋ณด์์ ๋ "์ง์ง ์ด๋ฏธ์ง"๋ก ํ๋จํด์ผ ํ๋ค. ํ๋ณ์๊ฐ "์ง์ง ์ด๋ฏธ์ง"๋ก ํ๋จํ๋ค๋ ๊ฒ์ ํ๊ฒ๊ฐ์ด 1(1์ ์ง์ง ์ด๋ฏธ์ง, 0์ ๊ฐ์ง ์ด๋ฏธ์ง๋ฅผ ์๋ฏธ)์ด์ด์ผ ํ๋ค๋ ๊ฒ์ด๋ค. ๋ค์ ๋งํด์ GAN ๋ชจ๋ธ์ ํ๊ฒ๊ฐ์ ๋ชจ๋ 1(์ง์ง ์ด๋ฏธ์ง)์ด๋ค. ์ด๋ฌํ ์ํ์์ GAN ๋ชจ๋ธ์ด ํ์ตํ๊ฒ ๋๋ค.
์ด๋ฌํ ๊ฐ๋ ์ ๋จธ๋ฆฌ์ ๋๊ณ GAN ๋ชจ๋ธ ์ ์ฒด๋ฅผ ํ์ตํ ๋ ๋ง์ฝ ํ๋ณ์ ๋ชจ๋ธ๋ ํ์ตํ๊ฒ ๋๋ค๋ฉด ์ด๋ป๊ฒ ๋ ์ง ์์๋ฅผ ๋ค์ด๋ณด์. GAN ๋ชจ๋ธ ํ์ต ์ด๊ธฐ ์์๋ ์์ฑ์๊ฐ ์์ฑํ๋ ๊ฐ์ง ์ด๋ฏธ์ง๋ค์ ์ง์ง ์ด๋ฏธ์ง๋ค๊ณผ ํฐ๋ฌด๋ ์์ด ๋ค๋ฅธ ์ด๋ฏธ์ง๋ค์ผ ๊ฒ์ด๋ค. ์ด๋ฌํ ์ํ์์ ํ๋ณ์๋ ์ด ํฐ๋ฌด๋ ์์ด ๋ค๋ฅธ ์ด๋ฏธ์ง๋ค์ ์ ๋ ฅ์ผ๋ก ๋ฐ๊ฒ ๋ ๊ฒ์ด๊ณ ์ด๋ฅผ "์ง์ง ์ด๋ฏธ์ง"(ํ๊น๊ฐ์ด ๋ชจ๋ 1์ด๊ธฐ ๋๋ฌธ)๋ก ํ๋จํ๋๋ก ํ๋ณ์์ ๊ฐ์ค์น๊ฐ ์ ๋ฐ์ดํธ ๋ ๊ฒ์ด๋ค. ๊ฒฐ๊ตญ ์ฐ๋ฆฌ๊ฐ ์ต์ด์ ํ๋ณ์ ๋ชจ๋ธ๋ง ํ์ต์์ผ์ ํ๋ณ์ ๋ชจ๋ธ์ ๋ฅ๋ ฅ์ ๊ธฐ๊ป ํค์๋์๋๋ GAN ๋ชจ๋ธ ์ ์ฒด๋ฅผ ํ์ตํ ๋ ์คํ๋ ค ์ด ํ๋ณ์ ๋ชจ๋ธ์ ๋ฅ๋ ฅ์ ๊น์๋จน๋ ์ ์ธ ๊ฒ์ด๋ค.
์ด๋ฌํ ์ด์ ๋ก ์ธํด GAN ๋ชจ๋ธ ์ ์ฒด๋ฅผ ํ์ตํ ๋๋ ํ๋ณ์ ๋ชจ๋ธ์ ๊ฐ์ค์น๋ฅผ ๋๊ฒฐ(frozen)์ํค๊ณ ์์ฑ์ ๋ชจ๋ธ์ ๊ฐ์ค์น๋ง ์ ๋ฐ์ดํธ๋๋๋ก ํ์ต์์ผ์ผ ํ๋ค.
(* ์ ์ค๋ช ์ด ์ ์ดํด๊ฐ ๊ฐ์ง ์๋๋ค๋ฉด ๋๊ธ ๋จ๊ฒจ์ฃผ์ธ์. ์ ์ค๋ช ํ๋ค๊ณ ํ๋๋ฐ ๋๊ตฐ๊ฐ์๋ ์ดํด๊ฐ ์๋ฟ์ง ์์ ์๋ ์์ด์ ์ด์ ๋ํ ์ ๊ทน ์ง๋ฌธ ํ์์ ๋๋ค.)
์ด๋ ๊ฒ [1.ํ๋ณ์ ๋ชจ๋ธ ํ์ต โก๏ธ 2. GAN ๋ชจ๋ธ ์ ์ฒด ํ์ต(์์ฑ์ ๋ชจ๋ธ ํ์ต)] ํ๋ ์ผ๋ จ์ ๊ณผ์ ์ ๊ณ์์ ์ผ๋ก ๋ฐ๋ณตํ๊ฒ ๋๋ฉด ์ฐ๋ฆฌ๊ฐ ์ํ๋ GAN ๋ชจ๋ธ์ด ์ง์ง ์ด๋ฏธ์ง์ ๋งค์ฐ ๋น์ทํ ๊ฐ์ง ์ด๋ฏธ์ง๋ฅผ ์์ฑํด๋ผ ์ ์๊ฒ ๋๋ค. ์ด๋ฅผ ๋์ํ ํ๋ฉด ์๋์ ๊ฐ๋ค.
์ง๊ธ๊น์ง GAN์ ํ์ต ๋ฐฉ๋ฒ์ ์ด๋ก ์ ์ผ๋ก ๋ชจ๋ ์ดํด๋ณด์๋ค. ์ด์ ์ฝ๋๋ก ๊ตฌํํด๋ณด๋๋ก ํ์. ์ฝ๋๋ ์ญ์ Pytorch๋ก ๊ตฌํํ์๋ค. ์ฌ๊ธฐ๋ฅผ ์ฐธ์กฐํด๋ณด๋๋ก ํ์.
4. GAN์ ํ๊ณ์
์์์ ์ฝ๋๋ก ๊ตฌํํ GAN์ ์๊ธ์จ MNIST ๋ฐ์ดํฐ์ ๋ํด์ ์ ์ฉํด๋ณด์๋ค. ์๋ ๊ทธ๋ํ๋ GAN ๋ชจ๋ธ์ Loss ๊ทธ๋ํ์ด๋ค.
์์ฑ์์ ์์ค ํจ์๊ฐ Epoch๊ฐ ์ฝ 30ํ์ผ ๋ ๋งค์ฐ ์ต์ ์ ์ ์ฐ๋ค๊ฐ Epoch๊ฐ ๋์ด๋ ์๋ก Loss ๊ฐ์ด ์ฆ๊ฐํ๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ์ฆ, ์์ฑ์์ ์์ค ํจ์๊ฐ ํ์ต์ด ์งํ๋ ์๋ก ๋ถ์์ ํ ์ํ๋ฅผ ๋ณด์ด๊ฒ ๋๋ค. ํ์ง๋ง Epoch ํ์๊ฐ ๊ฑฐ๋ญ๋ ์๋ก GAN์ ์์ฑ์๊ฐ ์์ฑํด๋ด๋ ์ด๋ฏธ์ง์ ์ํ๋ค์ ์๋์ ๊ฐ๋ค.
4-1. Oscillation : ์ง๋ํ๋ ์์ค
์ฒซ๋ฒ์งธ ๋ฌธ์ ๋ ์์ฑ์์ ํ๋ณ์์ ์์คํจ์๊ฐ ํฐ ํญ์ผ๋ก ๋์์ก๋ค ๋ฎ์์ก๋ค ํ๋ ์ง๋ํ๋ ํ์์ด๋ค. ์ค์ ๋ก GAN์ ์ฌ๋ฌ๋ฒ Epoch๋ฅผ ๋๋ ธ์ ๋์ ์์คํจ์ ๊ทธ๋ํ๋ฅผ ๋ณด๋ฉด ์๋์ ๊ฐ๋ค.
๋ฌผ๋ก ํ์ต ๋ฐฉ์์ด ๋ฏธ๋๋ฐฐ์น ํ์์ด๊ธฐ ๋๋ฌธ์ ์ด๋ ์ ๋์ ์ง๋ ํ์์ ์์ ์ ์๋ค. ํ์ง๋ง ์์ฒ๋ผ ํฐ ํญ์ ์ง๋์ ๋ฏธ๋๋ฐฐ์น ํ์์ ํ์ต ๋๋ฌธ์ด ์๋ ๋ชจ๋ธ ์์ฒด๊ฐ ํ์ต์ด ์ ์๋๋ ๊ฒ์ผ๋ก ๋ด์ผํ๋ค.
4-2. Model collapse : ๋ชจ๋ ๋ถ๊ดด
ํ๋ณ์๊ฐ ๊ฐ๋ ฅํ์ง ์์ผ๋ฉด ์์ฑ์๊ฐ ํ๋ณ์๋ฅผ ์์ด๋ ์์์ ๋ฐ์ดํฐ๋ง์ ์ฌ์ฉํด์ ํ๋ณ์๋ฅผ ์ผ๋งค(?)๋ก ์์ด๋ ๋ฐฉ๋ฒ๋ง์ ์ฐพ๊ฒ๋๋ค. ์ฆ, ์ ๋ง๋ก ์์ฑ์์ ์ ๋ฐ์ ์ธ ๋ฅ๋ ฅ์ด ๋ฐ์ด๋์ ํ๋ณ์๋ฅผ ์์ด๋ ๊ฒ์ด ์๋๋ผ ์์์ ๋ฐ์ดํฐ๋ง ์ฌ์ฉํด์ ํ๋ณ์์ ํน์ ์ฝ์ ๋ง ๊ณต๋ตํด์ ์์ฌ๋ฒ๋ฆฌ๋ ๊ฒ์ด๋ค. ์ด๋ฌํ ํ์์ ๋ชจ๋ ๋ถ๊ดด๋ผ๊ณ ํ๋ค.
์๋ฅผ ๋ค์ด๋ณด์. ํ๋ณ์๋ฅผ ํ์ต์ํจ ๋ค ์์ฑ์๋ฅผ ํ์ต์ํค๋ ์ฐจ๋ก๋ผ๊ณ ํด๋ณด์. ์ด ๋ ์์ฑ์๋ ํ๋ณ์๋ฅผ ํญ์ ์ฝ๊ฒ ์์ผ ์ ์๋ ํ๋์ ์ํ(์ด๋ฅผ '๋ชจ๋(Mode)'๋ผ๊ณ ํจ)์ ์ฐพ๊ฒ ๋๊ณ , ์์ฑ์์ ์ ๋ ฅ์ผ๋ก ๋ค์ด๊ฐ๋ ์ ์ฌ ๊ณต๊ฐ ๋ฒกํฐ๋ฅผ ๋ชจ๋ ํด๋น ์ํ์ ๋งคํํ๊ฒ ๋๋ค. ์ด๋ ๊ฒ ๋๋ฉด ์์ฑ์๋ ์ด์จ๊ฑด ๋น๋ก ์์ฑ์๊ฐ ๋ง๋ค์ด๋ธ ๋ฐ์ดํฐ์ ์ ๋ฐ์ ์ธ ํ๋ฆฌํฐ๊ฐ ์ข์ง ์์์๋ "ํ๋ณ์๋ฅผ ์์๋ค"๋ผ๋ ๋ชฉํ๋ ๋ฌ์ฑํ๊ฒ ๋๋ฏ๋ก ์์ค ๊ฐ์ด 0์ ๊ฐ๊น์์ง๊ณ , ์ด์ ๋ฐ๋ผ ํ๋ผ๋ฏธํฐ์ ๋ณํ๋(Gradient)๋ ๊ฒฐ๊ตญ 0์ ์๋ ดํ๊ฒ ๋๋ค. ์ด๋ฌํ ํ์์ "๋ณํ๋์ด 0์ ๊ฐ๊น์์ ธ ๋ฌด๋์ง๋ค(collapse)"๋ผ๊ณ ํํํ๊ธฐ๋ ํ๋ค.
4-3. ํ์ฌ GAN ์์คํจ์๋ ์ฌ๋์ ํท๊ฐ๋ฆฌ๊ฒ ํ๋ค
๊ธฐ๋ณธ์ ์ผ๋ก ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ์์ค ํจ์๋ผ๋ ๊ฒ์ ๋ชฉํ๋ก ๋๊ณ ์ด ์์ค ํจ์ ๊ฐ์ด ์ต์ํ๋๋๋ก ํ์ต์ด ๋๋ค. ์ด ๋ง์ ์์ฑ์๋ ์์ ์ด ์์ฑํ๋ ์ด๋ฏธ์ง์ ํ๋ฆฌํฐ๋ฅผ ์ธก์ ํ ๋ ์์ ์ ์์คํจ์ ๊ฐ์ ๋ณด๋ฉด์ ํ๋จํ๋ค๋ ์๋ฏธ์ด๋ค. ํ์ง๋ง ์์ฑ์๋ ํ๋ณ์์ ์ํด์๋ง ํ๊ฐ๊ฐ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ๋ณ์๋ ๊ณ์ ํ๋ณ ๋ฅ๋ ฅ์ด ํฅ์๋๊ธฐ ๋๋ฌธ์ ํ์ต ๊ณผ์ ์์ ๋ค๋ฅธ ์ง์ (์ดํ์ iteration ๋๋ Epoch ์ง์ )์์ ํ๊ฐ๋ ์์ฑ์์ ์์ค ๊ฐ์ ๋น๊ตํ ์ ์๊ฒ ๋๋ค. ์ค์ ๋ก ๋ชจ๋ธ ํ์ต์ด ์งํ๋ ์๋ก ์์ฑํ๋ ์ด๋ฏธ์ง ํ์ง์ ์ข์์ง์๋ ์์ ์์ ์์คํจ์ ๊ฐ ์์ฒด๋ ์ฆ๊ฐํ๋ ๊ฒฝํฅ์ ๋ณด์ธ๋ค. ๋ค์ ๋งํด, ์ด๋ฏธ์ง์ ํ๋ฆฌํฐ์ ๋ง๊ฒ ์์คํจ์๊ฐ ๋งคํ์ด ์ ์๋๋ค๋ ๊ฒ์ด๋ค. ์ด๋ฌํ ํ์์ ๋ชจ๋ธ์ ํ์ต์ํค๋ ์ฌ๋ ์ ์ฅ์์ ๋ชจ๋ธ์ด ์ ํ์ต๋๊ณ ์๋์ง ์๋์ง ํ๋จํ๊ธฐ ์ํด ์์ค ํจ์ ๊ฐ์ ๋ณด๊ณ ํ๋จํ๋๋ฐ, ์คํด๋ฅผ ๋ถ๋ฌ์ผ์ผํค๊ธฐ ์ฝ๋ค๋ ๊ฒ์ด๋ค.
4-4. ํ์ดํผํ๋ผ๋ฏธํฐ
๋ฅ๋ฌ๋ ๋ชจ๋ธ์์ ํ์ดํผํ๋ผ๋ฏธํฐ๋ ํ์ต๋ฅ , ๋ชจ๋ธ์ ๋ ์ด์ด ๊ตฌ์กฐ, ๋ด๋ฐ ๊ฐ์ ๋ฑ ๋ค์ํ ํ์ดํผํ๋ผ๋ฏธํฐ๊ฐ ์กด์ฌํ๋ค. GAN์ ์ด๋ฌํ ํ์ดํผํ๋ผ๋ฏธํฐ์ ๋ฐ๋ผ ์ฑ๋ฅ์ด ์ฝ๊ฒ ์ข์ง์ฐ์ง๋๋ค. ๋ฐ๋ผ์ ์๋ง์ ํ์ดํผํ๋ผ๋ฏธํฐ ์กฐํฉ์ ์ฐพ๋ ์ผ์ด ๋งค์ฐ ์ด๋ ค์์ง๋ค.
์ด๋ ๊ฒ GAN์ ๋ค์ํ ํ๊ณ์ ์ ์์๋ณด์๋ค. ํนํ ์ด์ ์ด๋ฅผ ํด๊ฒฐํ ์ ์๋ ์์์คํ ์ธ GAN(Wasserstein GAN, WGAN)๊ณผ ์์์คํ ์ธ GAN-๊ทธ๋๋์ธํธ ํจ๋ํฐ(Wasserstein GAN-Gradient Penalty, WGAN-GP)์ ๋ํด ์์๋ณด๋๋ก ํ์. ํนํ ์ด 2๊ฐ ์ค ํ์๋ ์ค๋๋ ๋งค์ฐ ๋ณต์กํ GAN์ ํ์ต์ํค๋ ๋ฐ ์ต์ ์ ๋ฐฉ๋ฒ์ผ๋ก ์ฑํ๋๋ค.
5. ์์ฑ์์ ์์ค์ ์์ฑ๋ ์ด๋ฏธ์ง์ ํ์ง์ ์ฐ๊ฒฐ์์ผ์ฃผ์: Wasserstein ์์ค
์์์คํ ์ธ GAN์ ํฌ๊ฒ 2๊ฐ์ง ํญ๋ชฉ์ ๊ฐ์ ํ์๋ค. ์ฒซ๋ฒ์งธ๋ก๋ ์์ฑ์๊ฐ ๊ณ์ฐ๋๋ ์์ค์ ์์ฑ์๊ฐ ์์ฑํ ๋ฐ์ดํฐ๋ค์ ํ์ง ์ ๋๋ฅผ ๋ฐ์์์ผ์ค์ผ๋ก์จ ์๋ก์ด ์์คํจ์๋ฅผ ์ ์ํ๋ค. ๋๋ฒ์งธ๋ ๋ชจ๋ธ์ ํ๋ผ๋ฏธํฐ ์ต์ ํ ๊ณผ์ ์ ์์ ์ฑ์ ํฅ์์ํจ ๊ฒ์ด๋ค.
์ฐ์ ์์์คํ ์ธ ์์ค์ ๋ณด๊ธฐ์ ์ ์ฐ๋ฆฌ๊ฐ ์์์ ๋ฐฐ์ ๋ ์ผ๋ฐ์ ์ธ GAN(DCGAN)์ ์์คํจ์์ธ ์ด์ง ํฌ๋ก์ค ์ํธ๋กํผ ์์ค์ ์ดํด๋ณด์.
์ด์ง ํฌ๋ก์ค ์ํธ๋กํผ ํจ์๋ ์๋ ๋ง์ด ๋ณด์ ๋ถ๋ค์ด ๋ง์ ๊ฒ ๊ฐ์ ์์ธํ ์ค๋ช ์ ์๋ตํ๊ฒ ๋ค. ์ ์์์ annotation์ด ๋ญ ์๋ฏธํ๋์ง๋ ์ ์ด๋์๋ค. ๊ทธ๋ฌ๋ฉด ์ด์ ์ ์์์ ๋จธ๋ฆฌ์ ๋๊ณ GAN์ ์์คํจ์๋ฅผ ์ดํด๋ณด์. ์ฐ์ GAN์ ํ๋ณ์ ๋ชจ๋ธ์ ์์ค ์์์ด๋ค. ์์ Binary Cross-entropy ์์ค ํจ์ ์์์์ $y_i = 1$์ ๋์ ํ์ ๊ฒฝ์ฐ์ ์๋ ์์์ด ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ์์์ ์ต์ํํ๋ ๊ฒ์ด ํ๋ณ์์ ํ์ต ๋ชฉํ์ด๋ค.
์ด์ ์์ฑ์ ๋ชจ๋ธ์ ์์ค ์์์ ์ดํด๋ณด์. ์ด๋ฒ์ Binary Cross-entropy ์์ค ํจ์ ์์์์ $y_i = 0$์ ๋์ ํ์ ๊ฒฝ์ฐ์ ์๋ ์์์ด ๋๋ค. ์ด ์์ ๋ํ ์ต์ํํ๋ ๊ฒ์ด ์์ฑ์์ ๋ชฉํ์ด๋ค.
๊ทธ๋์ ์ 2๊ฐ์ ์์คํจ์๋ฅผ ํฉ์น๊ฒ ๋๋ฉด ์๋์ฒ๋ผ GAN์ ์์คํจ์๋ฅผ ํ๋ฒ์ ์ธ ์ ์๋ค.(์์ฑ์๋ minimize, ํ๋ณ์๋ maximize ๋ผ๋ ์ ์ ์ฃผ์)
์ด์ ์ผ๋ฐ์ ์ธ GAN์ ์์คํจ์์ ๋ํด์ ์์๋ณด์์ผ๋ ๋ค์์ ์์์คํ ์ธ ์์ค์ ๋ํด ์์๋ณด์. ์ฐ์ ์์์คํ ์ด์ ์์ค์ $y_i$ ๊ฐ์ 0๊ณผ 1์ ๋ฃ๋ ๊ฒ ๋์ ์ 1 ๋๋ -1์ ์ฌ์ฉํ๋ค. ๋ํ ํ๋ณ์ ๋ชจ๋ธ์ ๋ง์ง๋ง ์ธต์ ์๋ (์ด์ง ๋ถ๋ฅ์ ๋ํ์ ํ์ฑํจ์์ธ) ์๊ทธ๋ชจ์ด๋ ํจ์๋ฅผ ์ ๊ฑฐํ์ฌ ํ๋ณ์ ๋ชจ๋ธ์ ์์ธก๊ฐ ๋ฒ์๊ฐ 0 ~ 1 ์ฌ์ด๋ก ๊ตญํ๋์ง ์๊ณ -∞ ~ +∞ ๋ฒ์์ ์ด๋ค ์ซ์๋ ์ฌ ์ ์๋๋ก ํ๋ค. ๊ทธ๋์ ์ด๋ฌํ ์ด์ ๋๋ฌธ์ ๋ ผ๋ฌธ์์๋ WGAN์ ํ๋ณ์ ๋ชจ๋ธ์ ๋นํ์(critic) ์ด๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค. ๋ฐ๋ผ์ ์์์คํ ์ธ ์์ค์ ์๋์ฒ๋ผ ์ ์ํ ์ ์๋ค.
์ด์ ์ข ๋ ์ธ๋ถ์ ์ผ๋ก ์์์คํ ์ธ ์์ค์ ํ๋ณ์(๋นํ์) ๋ชจ๋ธ์ ์์ค ์์์ ์ดํด๋ณด์. ํ๋ณ์๋ ์ ๋ต ์ฆ, $y_i = 1$ ๊ณผ $p_i = D(x_i)$๋ฅผ ๋์ ํ๊ณ $y_i = -1$ ๊ณผ $p_i = D(G(z_i))$๋ฅผ ๋์ ํ๋ฉด ๋๋ค. ๊ทธ๋์ ์์์ด ์๋์ฒ๋ผ ๋๋ค.
๋ค์์ ์์์คํ ์ธ ์์ค์ ์์ฑ์ ๋ชจ๋ธ์ ์์ค ์์์ ์ดํด๋ณด์. ํ๋ณ์๋ ์์ฑ์๊ฐ ๋ง๋ค์ด๋ธ ๊ฐ์ง ์ด๋ฏธ์ง๋ฅผ ํ๋ณ์๊ฐ ์์ธกํ ํ๋ฅ ์ฆ, $p_i = D(G(z_i))$๋ฅผ ๋์ ํ๊ณ $y_i = 1$์ ๋์ ํ๋ค. ๊ทธ๋ ๊ฒ ํ๋ฉด ์์คํจ์ ์์์ ์๋์ ๊ฐ์์ง๋ค.
์ด๋ ๊ฒ ํด์ ์์์คํ ์ธ ์์คํจ์๋ฅผ ์์ฑํ ์ ์๋ค.
5-1. ํ๋ณ์(=๋นํ์)์ ์์์คํ ์ธ ์์คํจ์์ ์ ์ฝ์ ๊ฐํ์: ๋ฆฝ์์ธ ์ ์ฝ
๋ฐ๋ก ์ง์ ์ ์์๋ณธ ์์์คํ ์ธ ์์คํจ์๋ก ์๋กญ๊ฒ ์์คํจ์๋ฅผ ์ ์ํ๋ฉด์ ํฐ ๋ณํ์ ์ด ์์๋ค. ๋ฐ๋ก ํ๋ณ์ ๋ชจ๋ธ์ ๋ง์ง๋ง ๋ ์ด์ด์ ์๊ทธ๋ชจ์ด๋ ํ์ฑํจ์๋ฅผ ๊ฑท์ด๋์ผ๋ก์จ ํ๋ณ์ ๋ชจ๋ธ์ ์ถ๋ ฅ๊ฐ์ด -∞ ~ +∞ ๋ฒ์๋ก ์ด๋ค ์ซ์๋ ์ถ๋ ฅํ ์ ์๋๋ก ๋์๋ค. ํ์ง๋ง ์ผ๋ฐ์ ์ผ๋ก ์ ๊ฒฝ๋ง ๋ชจ๋ธ์์๋ ์ถ๋ ฅ๊ฐ์ด ๋งค์ฐ ํฌ๊ฑฐ๋ ๋งค์ฐ ์์ ๊ฐ๋ค์ ํผํ๋ ๊ฒ์ด ์ข๋ค. ๋ฐ๋ผ์ WGAN์์๋ ํ๋ณ์๋ฅผ 1-๋ฆฝ์์ธ ์ฐ์ ํจ์(1-Lipschiz continuous function)๋ก ๋ง๋ฆ์ผ๋ก์จ ์ ์ฝ์ ๊ฐํ๋ค.
๊ทธ๋ ๋ค๋ฉด 1-๋ฆฝ์์ธ ์ฐ์ ํจ์๊ฐ ๋ฌด์์ผ๊น? ์ฐ์ 1-๋ฆฝ์์ธ ์ ์ฝ์ด๋ผ๋ ๊ฒ์ ์์๋ณด์. ์๋ ์์์์ $D$ ํจ์๋ ํ๋ณ์ ๋ชจ๋ธ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ์์์ ์ ๋ ฅ ์ด๋ฏธ์ง $x_1, x_2$์ ๋ํด ์๋ ๋ถ๋ฑ์์ ๋ง์กฑํ๊ฒ ๋๋ฉด $D$ ํจ์๋ฅผ 1-๋ฆฝ์์ธ ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
๊ทธ๋ฐ๋ฐ ์ ์์์ ์๊น์๋ ์ฝ๊ฐ ์ ์ฌํ ๋ค๋ฅธ ์์์ ๋ณธ์ ์ด ์๋ ๊ฒ ๊ฐ๋ค. ๋ฐ๋ก ์์น ๋ฏธ๋ถ์ ๊ตฌํ๋ ์์ด๋ค. ๋ฏธ๋ถ ์์์ ์๋์ ๊ฐ๋ค.(์๋ ์์น ๋ฏธ๋ถ์ ์ ๋ฐฉ ์ฐจ๋ถ์ ๋ฐฉ์์ ์ด์ฉํ ์์น ๋ฏธ๋ถ ์์ด๋ค. ํ๋ฐฉ, ์ค์ ์ฐจ๋ถ์ ๋ฐฉ์์ ์ฌ์ฉํ ์์น ๋ฏธ๋ถ์์ ์ฌ์ฉํด๋ ์๊น์๊ฐ ๋น์ทํ ๊ฒ์ ์ ์ ์๋ค)
$${\operatorname{d}\!f(x)\over\operatorname{d}\!x} = \lim_{h \to 0}\frac{f(x+h)-f(x)}{(x+h)-x} = \lim_{h \to 0}\frac{f(x+h)-f(x)}{h}$$
๋ฐ๋ผ์ 1-๋ฆฝ์์ธ ์ ์ฝ ๋ถ๋ฑ์์์ $x1 - x2$๋ ๋ ์ด๋ฏธ์ง์ ํฝ์ ์ ํ๊ท ๊ฐ์ ์ ๋๊ฐ ์ฐจ์ด์ด๊ณ , $D(x_{1}) - D(x_{2})$๋ ํ๋ณ์ ๋ชจ๋ธ์ ์์ธก ๊ฐ ๊ฐ์ ์ ๋๊ฐ ์ฐจ์ด์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ ์์์ด ์์น ๋ฏธ๋ถ ์ฆ, ๋ณํ์จ์ ๊ตฌํ๋ ์๊ณผ ๋์ผํ๋ค๋ผ๋ ๊ฒ์ผ๋ก ๋ณด๊ฒ ๋๋ฉด 1-๋ฆฝ์์ธ ์ ์ฝ ๋ถ๋ฑ์์ ์๋ฏธ๋ ๋ ์ด๋ฏธ์ง ์ฌ์ด์์ ํ๋ณ์ ๋ชจ๋ธ์ ์์ธก ๊ฐ์ด ๋ณํํ ์ ์๋ ๋น์จ์ 1 ์ดํ ๊ฐ์ผ๋ก ์ ํํ๋ค๋ ๊ฒ์ด๋ค.
๋ฆฝ์์ธ ์ ์ฝ๊ณผ ์์์คํ ์ธ ์์คํจ์์ ๋ํด ์ข ๋ ์ํ์ ์ผ๋ก ๊น์ด ๋ค์ด๊ฐ๋ ์ดํด๋ฅผ ์ง๊ด์ ์ผ๋ก ํ๊ณ ์ถ๋ค๋ฉด ์กฐ๋์ ํ์ด์ ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ์กฐํด๋ณด๋๋ก ํ์.
5-2. ๊ฐ์ค์น ํด๋ฆฌํ(Weight Clipping)
์์์ ๋ฆฝ์์ธ ์ ์ฝ์ด ๋ณํ์จ์ ์ ์ฝ์ํค๋ ๊ฒ์ด๋ผ๋ ๊ฑธ ์ดํดํ์ ๊ฒ์ด๋ค. ์ด๋ฅผ ํ๊ธฐ ์ํด์๋ ๊ฐ์ค์น ํด๋ฆฌํ์ด๋ผ๋ ๊ฒ์ ์ฃผ๋ก ์ฌ์ฉํ๋ค.(* Gradient Clipping์ด ์๋์ ์ฃผ์. ๋ฌผ๋ก Gradient Clipping์ ์ฌ์ฉํด๋ ๊ฐ์ค์น ํด๋ฆฌํ์ด ๋ ๊ฒ์ด๋ค. ๋ ๊ฐ์ ์ฐจ์ด์ ์ ๊ธฐ์ธ๊ธฐ ๊ฐ์ ํด๋ฆฌํํ์ฌ ๊ฐ์ค์น๋ฅผ ์ ํํ๋, ๊ฐ์ค์น ์์ฒด๋ฅผ ํด๋ฆฌํํ์ฌ ๊ฐ์ค์น๋ฅผ ์ ํํ๋์ ๋์ ์ฐจ์ด์ ์ด ์๋ค.)
WGAN์์๋ ํ๋ณ์ ๋ชจ๋ธ์ ๊ฐ์ค์น ๊ฐ์ด -0.01 ~ 0.01 ์ฌ์ด์ ๋์ด๋๋ก ๊ฐ์ค์น ํด๋ฆฌํ์ ํตํด ๋ฆฝ์์ธ ์ ์ฝ์ ๋ถ๊ณผํ๋๋ก ํ๋ค.
์ด๋ ๊ฒ WGAN์์ ์ฌ์ฉ๋๋ ๋ค์ํ ๊ธฐ๋ฒ๋ค์ ๋ํด ์์๋ณด์๋ค. WGAN ์๋์ ํต์ฌ์ ์์์คํ ์ธ ์์คํจ์๋ฅผ ์ฌ์ฉํ๋ฉด์ ์์ฑ์๊ฐ ์ ํํ ์ ๋ฐ์ดํธ๋๋๋ก ํ๋ณ์๋ฅผ ํ์ตํ์ฌ ์๋ ด์ํค๋๋ก ํ๋ ๊ฒ์ด๋ค. ์ผ๋ฐ์ ์ธ GAN์ ๊ธฐ์ธ๊ธฐ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๋ง๊ธฐ ์ํด ํ๋ณ์์ ์ฑ๋ฅ์ด ๋๋ฌด ๊ฐํด์ง์ง ์๋๋ก ์กฐ์ ํ๋ค๋ ์ธก๋ฉด์์ WGAN๊ณผ๋ ๋ค๋ฅด๋ค. WGAN์ ์์ฑ์๊ฐ ์ ํ์ต๋๋๋ก ํ๋ฉด์ ํ๋ณ์๋ฅผ ๋ ๊ฐํ๊ฒ ํค์ฐ์ง๋ง GAN์ ํ๋ณ์์ ์ฑ๋ฅ์ด ๋๋ฌด ์ข์์ง์ง ์๋๋ก ์กฐ์ ํด์ผ ํ๋ค. ์ด๋ ๊ฒ WGAN์ ํ๋ณ์์ ์์ฑ์์ ํ์ต ๊ท ํ์ ๋ง์ถ๋๋ก ํ๋ค. ์ผ๋ฐ์ ์ผ๋ก ์์ฑ์๋ฅผ ํ ๋ฒ ํ์ต์ํฌ ๋ ํ๋ณ์๋ฅผ 5๋ฒ ํ์ต์ํค๋๋ก ํ๋ค. WGAN์ ๊ฐ์ ๊ณผ์ ์ ์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
- ์์์คํ ์ธ ์์ค ํจ์๋ฅผ ์ฌ์ฉ
- ์ง์ง ์ด๋ฏธ์ง์๋ ๋ ์ด๋ธ 1์, ๊ฐ์ง ์ด๋ฏธ์ง์๋ ๋ ์ด๋ธ -1์ ์ฌ์ฉํด ํ์ต
- ํ๋ณ์์ ๋ง์ง๋ง ๋ ์ด์ด์๋ ์๊ทธ๋ชจ์ด๋ ํ์ฑํจ์๋ฅผ ๊ฑท์ด๋ด๊ธฐ
- ๋งค ํ์ต ์ ํ๋ณ์์ ๊ธฐ์ธ๊ธฐ๋ฅผ ํด๋ฆฌํ
- ์์ฑ์๋ฅผ ํ ๋ฒ ํ์ตํ ๋, ํ๋ณ์๋ 5๋ฒ ํ์ต์ ์งํ
์์์คํ ์ธ ์์คํจ์์ ๋ฆฝ์์ธ ์ ์ฝ์ ์ํ ๊ฐ์ค์น ํด๋ฆฌํ์ด ์ ์ฉ๋ WGAN ํ์ต ์ฝ๋๋ ์ฌ๊ธฐ์์ ํ์ธํ ์ ์๋ค. ์ฐธ๊ณ ๋ก WGAN์์๋ ์ผ๋ฐ์ ์ธ GAN ๋ณด๋ค ๋ ์์ ํ์ต๋ฅ ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค๊ณ ํ๋ค.
ํ์ง๋ง ์ด๋ฌํ WGAN๋ ๋จ์ ์ด ์กด์ฌํ๋๋ฐ, ๋ฐ๋ก ๋ฆฝ์์ฆ ์ฒด์ฝ์ ๋๊ธฐ ์ํด์ ํ๋ณ์์ ๊ฐ์ค์น๋ฅผ ๋๋ฌด ์์ฃผ ํด๋ฆฌํํ๋ ๊ฒ ๋๋ฌธ์ ํ์ต ์๋๊ฐ ํฌ๊ฒ ๊ฐ์ํ๋ค๋ ์ ์ด๋ค. ์ค์ ๋ก WGAN ๋ ผ๋ฌธ์ ์ ์๋ ์ง์ ์ ์ผ๋ก ๋ฆฝ์์ธ ์ ์ฝ์ ๋๊ธฐ ์ํด ๊ฐ์ค์น ํด๋ฆฌํ์ ํ๋ ๊ฒ์ด ๋์ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ์ด์ผ๊ธฐํ๋ค. ํ์ง๋ง ๊ทธ๋ ๋ค๊ณ ํ๋ณ์์ ๊ฐ์ค์น ํด๋ฆฌํ์ ํฌ๊ธฐํ ์๋ ์๋ค. ์๋ํ๋ฉด WGAN์์๋ ํ๋ณ์์ ์ข์ ์ฑ๋ฅ์ด ์ฑ๊ณต์ ํต์ฌ์ด๊ณ ํ๋ณ์์ ์ ํํ ๊ธฐ์ธ๊ธฐ ๊ฐ์ด ์๋๋ผ๋ฉด ์์ฑ์๊ฐ ๋ ์ข์ ์ํ์ ๋ง๋ค๊ธฐ ์ํด ๊ธฐ์ธ๊ธฐ ๊ฐ์ ์ด๋ป๊ฒ ๋ฐ๊พธ์ด์ผ ํ ์ง ํ์ตํ ์ ์๊ฒ ๋๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋์ ๊ฐ์ค์น ํด๋ฆฌํ์ ์ฌ์ฉํ์ง ์๊ณ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ ๋ฆฝ์์ธ ์ ์ฝ์ ๋๋ ๋ฐฉ๋ฒ์ด ๋ฑ์ฅํ๊ฒ ๋์๋๋ฐ ๊ทธ๊ฒ์ด ๋ฐ๋ก WGAN-GP์ด๋ค.
6. ๊ธฐ์ธ๊ธฐ ํจ๋ํฐ(Gradient Penalty) ํญ์ ์์คํจ์์ ์ถ๊ฐํ์: WGAN-GP
WGAN-GP๋ ๊ฐ์ค์น ํด๋ฆฌํ์ ์ฌ์ฉํ์ง ์๊ณ ๋ฆฝ์์ธ ์ ์ฝ์ ๋๊ธฐ ์ํด์ ์์คํจ์์ ๊ธฐ์ธ๊ธฐ ํจ๋ํฐ ํญ์ ์ถ๊ฐํ๋ค. ๋จ, ์ด๋ฌํ ๊ธฐ์ธ๊ธฐ ํจ๋ํฐ ํญ์ ์์ฑ์๊ฐ ์๋ ํ๋ณ์์ ์์คํจ์์๋ง ์ ์ฉํด์ผ ํ๋ค. ๊ทธ๋์ ๋ฐ๋ก ์์์ ๋ฐฐ์ด WGAN๊ณผ ๋ค๋ฅธ ์ ๋ค์ ์๋์ ๊ฐ๋ค.
- ํ๋ณ์ ๋ชจ๋ธ์ ์์ค ํจ์์ ๊ธฐ์ธ๊ธฐ ํจ๋ํฐ ํญ์ ํฌํจ
- ํ๋ณ์ ๋ชจ๋ธ์ ๊ธฐ์ธ๊ธฐ๋ฅผ ํด๋ฆฌํํ์ง ์์
- ํ๋ณ์ ๋ชจ๋ธ์ ๋ฐฐ์น ์ ๊ทํ ์ธต์ ์ฌ์ฉํ์ง ์์
๊ทธ๋ฌ๋ฉด ์ด์ ๊ตฌ์ฒด์ ์ผ๋ก ํ๋ณ์ ๋ชจ๋ธ์ ๊ธฐ์ธ๊ธฐ ํจ๋ํฐ ํญ์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์. ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋ณ์ ๋ชจ๋ธ ๊ธฐ์ธ๊ธฐ์ L2 Norm์ด 1์์ ํฌ๊ฒ ๋ฒ์ด๋ ๋ ๋ชจ๋ธ์ ํจ๋ํฐ๋ฅผ ๋ถ๊ณผํ๋ ํญ์ ์์คํจ์์ ํฌํจ์ํจ๋ค. WGAN-GP์ ํ๋ณ์ ๋ชจ๋ธ์ ํ์ต ๊ณผ์ ์ ๋์ํํด๋ณด๋ฉด ์๋์ ๊ฐ๋ค.
WGAN-GP์ ํ๋ณ์ ๋ชจ๋ธ์ 2๊ฐ์ ์์ค ํจ์์ ํ๋์ ํจ๋ํฐ ํญ(Scalar ๊ฐ)๋ก ๊ตฌ์ฑ๋๋ค. ๋จผ์ 2๊ฐ์ ์์คํจ์๋ ์ง์ง ์ด๋ฏธ์ง์ ๊ฐ์ง ์ด๋ฏธ์ง ๊ฐ๊ฐ์ ๋ํ ์์์คํ ์ธ ์์ค 2๊ฐ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ํ๋์ ํจ๋ํฐํญ์ ์ง์ง ์ด๋ฏธ์ง์ ๊ฐ์ง ์ด๋ฏธ์ง ๊ฐ ์ผ๋ถ ํน์ฑ์ ํฉ์ณ๋์ ์ผ๋ช '๋ณด๊ฐ๋ ์ด๋ฏธ์ง'๋ฅผ ํ๋ณ์์ ๋ชจ๋ธ์ ๋ฃ์ด ์์ธกํ ํ ์ป๊ฒ ๋๋ ๊ธฐ์ธ๊ธฐ๋ฅผ ํ์ฉํ ๊ทธ๋ ๋์ธํธ ํจ๋ํฐ ํญ์ด๋ค. ์ด ๋, ๊ธฐ์ธ๊ธฐ ํจ๋ํฐ ํญ์ ๊ณ์ฐํ๋ ์์ ๋ณด๊ฐ๋ ์ด๋ฏธ์ง์ ๋ํ ์์ธก์ ๊ธฐ์ธ๊ธฐ L2 Norm๊ณผ 1 ์ฌ์ด์ ์ฐจ์ด๋ฅผ ์ ๊ณฑ(${({{L2\ Norm}_{gradient}} - 1})^2$)ํ ๊ฒ์ด๋ค. ๊ทธ๋ ๋์ธํธ ํจ๋ํฐ ํญ์ ๊ณ์ฐํ๋ ๊ตฌ์ฒด์ ์ธ ์์์ ์๋์ ๊ฐ๋ค.(pytorch ์ฝ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑํ์๋ค)
ํ๋ณ์ ๋ชจ๋ธ์ ์์ ๊ฐ์ Scalar ํํ์ ๊ทธ๋ ๋์ธํธ ํจ๋ํฐ ํญ์ ์ต์ํํ๋ ๊ฐ์ค์น๋ฅผ ์ฐพ์ผ๋ ค๊ณ ํ์ตํ๊ฒ ๋๊ณ ์ด๊ฒ์ด ๊ฒฐ๊ตญ ๋ฆฝ์์ธ ์ ์ฝ์ ๋ฐ๋ฅด๋๋ก ๋ง๋ ๋ค.
ํ์ง๋ง ๊ธฐ์ธ๊ธฐ ํจ๋ํฐ ํญ์ ๊ณ์ฐํ ๋ ๋ชจ๋ ๊ฐ์ค์น์ ๊ธฐ์ธ๊ธฐ๋ฅผ ๊ณ์ฐํ๋ ๊ฒ์ ๋๋ฌด ์ฐ์ฐ๋์ด ๋ง๊ฒ ๋๋ค. ๋ฐ๋ผ์ WGAN-GP๋ ์ผ๋ถ ์ง์ ์์๋ง ๊ธฐ์ธ๊ธฐ๋ฅผ ๊ณ์ฐํ๋ค.
๊ทธ๋ฆฌ๊ณ ์ ๊ทธ๋ฆผ์์ '๋ณด๊ฐ๋ ์ด๋ฏธ์ง'์ ๋ํด์๋ ์ฝ๊ฐ ๋ฏ์ค๊ฒ ๋๊ปด์ง ์ ์๋ค. ๋ง ๊ทธ๋๋ก ๋ณด๊ฐ๋ ์ด๋ฏธ์ง๋ ์ง์ง ์ด๋ฏธ์ง์ ๊ฐ์ง ์ด๋ฏธ์ง์ ์ผ๋ถ ํน์ฑ๋ง ๊ฐ์ ธ์ ํฉ์น ๊ฒ์ธ๋ฐ, ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ฅผ ์ฌ๋์ ๋์ผ๋ก ์ง๊ด์ ์ผ๋ก ๋ณผ ์ ์๋ 2์ฐจ์ ์ ์ ํํ๋ก ๋ณํ์์ผฐ๋ค๊ณ ๊ฐ์ ํด๋ณด์. ๊ทธ๋ด ๋, ๋ณด๊ฐ๋ ์ด๋ฏธ์ง๋ ์๋์ ๊ฐ์ด ๋ง๋ค๊ฒ ๋๋ค.
๋ง์ง๋ง์ผ๋ก WGAN-GP์์๋ ํ๋ณ์ ๋ชจ๋ธ์ ๊ตฌ์ฑํ๋ ๋ ์ด์ด์ ๋ฐฐ์น ์ ๊ทํ ๋ ์ด์ด๋ฅผ ํฌํจ์ํค์ง ์๋๋ค. ์๋ํ๋ฉด ๋ฐฐ์น ์ ๊ทํ ๋ ์ด์ด๋ ๊ฐ์ ๋ฐฐ์น ์์ ์ด๋ฏธ์ง ์ฌ์ด์ ์๊ด๊ด๊ณ๋ฅผ ๋ง๋ค๊ธฐ ๋๋ฌธ์ ๊ธฐ์ธ๊ธฐ ํจ๋ํฐ ์์ค์ ํจ๊ณผ๊ฐ ๋จ์ด์ง๊ธฐ ๋๋ฌธ์ด๋ค. ์ค์ ๋ก WGAN-GP์์ ํ๋ณ์ ๋ชจ๋ธ์ ๊ตฌ์กฐ์์ ๋ฐฐ์น ์ ๊ทํ ๋ ์ด์ด๋ค ๋ชจ๋ ์ ์ธ์ํค๋๋ผ๋ ํ๋ฅญํ ํ๋ฆฌํฐ์ ๊ฐ์ง ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
๋์ผ๋ก WGAN-GP๋ฅผ ๊ตฌํํ ์ฝ๋๋ ์ฌ๊ธฐ์ ํ์ธํด๋ณผ ์ ์๋ค.
์ด๋ ๊ฒ ๊น์ง ํด์ GAN์ ๊ธฐ๋ณธ์ ์ธ ์ด๋ก ์ ์ดํดํ๊ณ ์ฝ๋๋ก ๊ตฌํํด๋ณด์๋ค. ๋ ๋์๊ฐ GAN์ ํ๊ณ์ ์ ๊ทน๋ณตํ๋ WGAN, WGAN-GP์ ๋ํด ์์๋ณด๊ณ ์ฝ๋ ๊ตฌํ๊น์ง ํด๋ณด์๋ค. ๋ค์ ๋ชฉ์ฐจ๋ถํฐ๋ ์ง๊ธ๊น์ง ๋ฐฐ์ด ์์ฑ ๋ชจ๋ธ๋ง ์ด๋ก ๋ค์ ๊ฐ์ง๊ณ ์์ฉํ์ฌ ํน์ ํ ์์ ์ ์์ฉํด๋ณด๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ฐฐ์๋ณด์.
'Data Science > Generative AI' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[GenAI] ์๋ณธ์ ์ ์งํ๋ ์คํ์ผ๋ง ๋ค๋ฅด๊ฒ ํ๊ธฐ: CycleGAN, Style Transfer (1) | 2023.11.24 |
---|---|
[GenAI] ๊ธฐ๋ณธ์ ์ธ ์์ฑ ๋ชจ๋ธ: AE ์ VAE (1) | 2023.09.08 |
[GenAI] ์์ฑ ๋ชจ๋ธ๋ง(Generative AI)์ด๋ (0) | 2023.07.22 |