๐ก ๋ณธ ๋ฌธ์๋ '[Gen AI] Generative Adversarial Network(GAN) ์ค๋ช : ๊ธฐ์ด'์ ๋ํด ์ ๋ฆฌํด๋์ ๊ธ์ ๋๋ค.
GAN์ generative adversarial network์ ์ค์๋ง๋ก, VAE, diffusion model๊ณผ ๊ฐ์ generative model์ ํ ์ข ๋ฅ๋ก์จ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ generator์ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ๋ณํ๋ discriminator๊ฐ ๊ฒฝ์ํ๋ ๊ณผ์ ์ ํตํด์ ๋ฐ์ดํฐ๋ฅผ ํ์ตํฉ๋๋ค. ์ด๋ฒ ๊ธ์์๋ GAN์ด ๋ฌด์์ธ์ง์ ํจ๊ป, ์ด๋ค ์๋ฆฌ๋ก ๋์ํ๋์ง์ ๋ํด ์์๊ณผ ํจ๊ป ์ดํด๋ณด๊ฒ ์ต๋๋ค.
1. Motivation
GAN์ ์์ ์ธ๊ธํ๋ฏ์ด, ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ generator์ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ๋ณํ๋ discriminator๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. Generator๋ ์ต๋ํ ์ค์ ์ฒ๋ผ ๋ณด์ด๋ ๋ฐ์ดํฐ๋ฅผ ์์ฑํจ์ผ๋ก์จ discriminator๋ฅผ ์์ด๋ ค๊ณ ์๋ํ๊ณ , ์ด์ ๋ฐํด discriminator๋ ์ค์ ๋ฐ์ดํฐ์ ๋ง๋ค์ด์ง ๊ฐ์ง ๋ฐ์ดํฐ๋ฅผ ๊ตฌ๋ณํ๋ ค๊ณ ๋ ธ๋ ฅํ๋ค. ์ด๋ฅผ ๊ทธ๋ฆผ์ผ๋ก ํํํ๋ฉด ์๋์ ๊ฐ๋ค.
์ด๋ ๊ฒ ์๋ก ๊ฒฝ์ํ๋ฉด์ ํ์ต์ ํจ์ผ๋ก์จ, generator๋ ์ ์ ๋ ์ค์ ์ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๊ฒ ๋๊ณ , discriminator๋ ์ ์ ๋ ์ค์ ์ ๊ฐ์ง ๋ฐ์ดํฐ๋ฅผ ์ ๊ตฌ๋ณํ ์ ์๊ฒ ๋ ๊ฒ์ด๋ค. ๊ฒฐ๋ก ์ ์ผ๋ก, generator๊ฐ ์ค์ ๋ฐ์ดํฐ์ ๊ต์ฅํ ๋น์ทํ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ generative model๋ก์์ ์ญํ ์ ํ ์ ์๊ฒ ๋๋ ๊ฒ์ด๋ค.
GAN์ ๊ธฐ๊ณํ์ต์์์ ์์น์ ์๋ฏธ
GAN์ ๊ธฐ๊ณํ์ต์ ํ์ ๋ถ์ผ์ธ ์์ฑ ๋ชจ๋ธ๋ง์์ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ์์ฑ ๋ชจ๋ธ๋ง์ ์ฃผ์ด์ง ๋ฐ์ดํฐ ๋ถํฌ๋ฅผ ํ์ตํ์ฌ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. GAN์ ๋น์ง๋ ํ์ต(Unsupervised Learning) ๋ฐฉ๋ฒ์ ์ผ์ข ์ผ๋ก, ๋ ์ด๋ธ์ด ์๋ ๋ฐ์ดํฐ๋ก๋ถํฐ ํ์ตํ ์ ์๋ ๊ฐ๋ ฅํ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ ํนํ ๋๋์ ๋น๋ ์ด๋ธ ๋ฐ์ดํฐ๊ฐ ์กด์ฌํ๋ ์ํฉ์์ ์ ์ฉํ๋ฉฐ, ์ด๋ฏธ์ง ์์ฑ, ๋ฐ์ดํฐ ์ฆ๊ฐ, ์คํ์ผ ๋ณํ ๋ฑ ๋ค์ํ ๋ถ์ผ์์ ํ์ ์ ์ธ ์ฑ๊ณผ๋ฅผ ๋ด๊ณ ์์ต๋๋ค.
2. ํ๋ จ ์ ํ ๋ฐ ์ ์ฐจ
GAN์ ํ์ต์ ์ํด์๋ ํ๋ จ ๋ฐ์ดํฐ์ ๊ตฌ์ฑ, ๊ฐ ๋คํธ์ํฌ์ ์์ค ํจ์ ์ ์, ๊ทธ๋ฆฌ๊ณ ์ต์ข ์์ค ๊ณ์ฐ ๋ฐฉ๋ฒ์ ๋ช ํํ ์ค์ ํด์ผ ํฉ๋๋ค. ์ด ์น์ ์์๋ ๊ตฌ์ฒด์ ์ธ ๋ฐ์ดํฐ ์ ํ ๋ฐฉ๋ฒ๊ณผ ๊ฐ ๋คํธ์ํฌ๋ณ ์์ค ๊ฐ ๊ณ์ฐ ๋ฐฉ๋ฒ, ์ต์ข ์์ค ๊ณ์ฐ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํ๊ฒ ์ต๋๋ค.
๊ตฌ์ฒด์ ์ธ ๋ฐ์ดํฐ ์ ํ ๋ฐฉ๋ฒ
GAN์ ํ์ต์๋ ์ง์ง ์ด๋ฏธ์ง, ๊ฐ์ง ์ด๋ฏธ์ง, ๊ทธ๋ฆฌ๊ณ ๊ฐ ์ด๋ฏธ์ง์ ๋ํ ๋ ์ด๋ธ(์ฐธ์กฐ ๋ ์ด๋ธ)์ด ํ์ํฉ๋๋ค. ์ด๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
[์ง์ง ์ด๋ฏธ์ง]
์ง์ง ์ด๋ฏธ์ง๋ ์ค์ ๋ฐ์ดํฐ๋ฅผ ์๋ฏธํฉ๋๋ค. ์ด๋ ์ธํฐ๋ท์์ ํฌ๋กค๋งํ๊ฑฐ๋ ๊ธฐ์กด์ ๊ณต๊ฐ๋ ๋ฐ์ดํฐ์ ์์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, CIFAR-10, MNIST ๊ฐ์ ๋ฐ์ดํฐ์ ์ด ์ง์ง ์ด๋ฏธ์ง๋ก ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
[๊ฐ์ง ์ด๋ฏธ์ง]
๊ฐ์ง ์ด๋ฏธ์ง๋ ์์ฑ์๊ฐ ์์ฑํ ์ด๋ฏธ์ง์ ๋๋ค. ์์ฑ์๋ ๋๋คํ ๋ ธ์ด์ฆ ๋ฒกํฐ๋ฅผ ์ ๋ ฅ๋ฐ์ ๊ฐ์ง ์ด๋ฏธ์ง๋ฅผ ์์ฑํฉ๋๋ค. ์ด ๋ ธ์ด์ฆ ๋ฒกํฐ๋ ์ผ๋ฐ์ ์ผ๋ก ์ ๊ท ๋ถํฌ๋ฅผ ๋ฐ๋ฅด๋ ๋๋ค ๋ฒกํฐ๋ก ์ค์ ๋ฉ๋๋ค.
[์ฐธ์กฐ ๋ ์ด๋ธ (Reference Label)]
- ์ง์ง ์ด๋ฏธ์ง์ ๋ ์ด๋ธ: ๋ชจ๋ ์ง์ง ์ด๋ฏธ์ง๋ ๋ ์ด๋ธ 1(์ง์ง)๋ก ์ค์ ๋ฉ๋๋ค.
- ๊ฐ์ง ์ด๋ฏธ์ง์ ๋ ์ด๋ธ: ๋ชจ๋ ๊ฐ์ง ์ด๋ฏธ์ง๋ ๋ ์ด๋ธ 0(๊ฐ์ง)๋ก ์ค์ ๋ฉ๋๋ค.
์ด ๋ ์ด๋ธ์ ํ๋ณ์๊ฐ ์ ํ๋ จ๋๋๋ก ํ๋ ์ ๋ต์ผ๋ก ์๋ํฉ๋๋ค.
ํ๋ณ์ ํ๋ จ
์์์ ์ ๋ฆฌํ ๋ฐ์ดํฐ๋ค์ ์ด์ฉํด ํ๋ณ์๋ฅผ ํ๋ จ์ํฌ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ์ ๋น์จ์ ๋์์ธ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์์ผ๋ ๊ฐ์ฅ ๋จ์ํ๊ฒ๋ ์ค์ ์ด๋ฏธ์ง์ ์์ฑ์์ ์ํด ์์ฑ๋ ์ด๋ฏธ์ง๋ฅผ 5:5 ๋ก ์์ด ํ๋ จ์ํต๋๋ค. ํ๋ณ์๋ ์ค์ ์ด๋ฏธ์ง์ ๋ํด์๋ 1์ ๊ฐ๊น์ด ๊ฐ์, ์์ฑ์๊ฐ ์์ฑํ ์ด๋ฏธ์ง์ ๋ํด์๋ 0์ ๊ฐ๊น์ด ๊ฐ์ ๋ํ๋ด๋๋ก ํ์ต๋ฉ๋๋ค.
์์ฑ์ ํ๋ จ
์์ฑ์์ ๊ฒฝ์ฐ์๋ ์ง์ ์ ์ผ๋ก ์ข์ ์ด๋ฏธ์ง์ธ์ง ์๋์ง๋ฅผ ๊ฐ๋ฅด์ณ์ค ์ ์์ผ๋ฏ๋ก ์์ ์ด ์์ฑํ ์ด๋ฏธ์ง๊ฐ ํ๋ณ์๋ฅผ ์์ผ ์ ์๋๋ก ํ๋ ํ์ต ๋ฐฉํฅ์ ์ทจํ๊ฒ ๋ฉ๋๋ค. ์ฆ ์์ฑ์ ์ ์ฅ์์๋ ์์ฑ๋ ์ด๋ฏธ์ง์ ํด๋นํ๋ ์ต์ข Label ๊ฐ์ด ๋ชจ๋ 1๋ก ๋์ด ๊ณ์ฐ๋๋ ํํ๋ก ์งํ๋๋ฉด ๋ฉ๋๋ค.
๊ฐ ๋คํธ์ํฌ๋ณ ์์ค ๊ฐ ๊ณ์ฐ ๋ฐฉ๋ฒ
GAN์ ํ์ต ๊ณผ์ ์์๋ ์์ฑ์์ ํ๋ณ์ ๊ฐ๊ฐ์ ์์ค ํจ์๋ฅผ ์ ์ํ๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ต์ ์งํํฉ๋๋ค. ์ด๋ฅผ ์ดํดํ๊ธฐ ์ํด ๋ช ๊ฐ์ง ์ฃผ์ ๊ฐ๋ ๊ณผ ์ฉ์ด๋ฅผ ์ค๋ช ํ๊ฒ ์ต๋๋ค.
1) ์ฃผ์ ๊ฐ๋ ๋ฐ ์ฉ์ด
- x : ์ค์ ๋ฐ์ดํฐ ํฌ์ธํธ์ ๋๋ค. ์๋ฅผ ๋ค์ด, ์ค์ ์ด๋ฏธ์ง์ ๋๋ค. ์ค์ ์ด๋ฏธ์ง๊ฐ ์กด์ฌํ ๋ฒํ ๋ฐ์ดํฐ ๋ถํฌ p_data ๋ก๋ถํฐ ์ํ๋ง๋ ๋ฐ์ดํฐ๋ผ ๊ฐ์ ํฉ๋๋ค.
- z : ์ ์ฌ ๊ณต๊ฐ(latent space)์์ ์ํ๋ง๋ ๋๋ค ๋ ธ์ด์ฆ ๋ฒกํฐ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ ๊ท ๋ถํฌ p_z ~ N(0,1) ๋ก ๋ถํฐ ์ํ๋ง ๋ฐ์ดํฐ์ ๋๋ค.
- G(z): ์์ฑ์ G๊ฐ ๋๋ค ๋ ธ์ด์ฆ z๋ฅผ ์ ๋ ฅ๋ฐ์ ์์ฑํ ๊ฐ์ง ๋ฐ์ดํฐ(์ด๋ฏธ์ง)์ ๋๋ค.
- D(x): ํ๋ณ์ D๊ฐ ์ ๋ ฅ ๋ฐ์ดํฐ x์ ๋ํด ์ถ๋ ฅํ๋ ๊ฐ์ผ๋ก, ์ด ๊ฐ์ ํด๋น ๋ฐ์ดํฐ๊ฐ ์ง์ง์ผ ํ๋ฅ ์ ๋ํ๋ ๋๋ค.
2) ํ๋ณ์์ ์์ค ํจ์
ํ๋ณ์์ ์์ค ํจ์๋ ์ค์ ์ด๋ฏธ์ง์ ๊ฐ์ง ์ด๋ฏธ์ง๋ฅผ ๊ตฌ๋ถํ๋ ์ฑ๋ฅ์ ํ๊ฐํฉ๋๋ค. ์ฆ real ์ด๋ฏธ์ง๊ฐ ์ ๋ ฅ์ผ ๋์ ์์คํจ์์ fake ์ด๋ฏธ์ง๊ฐ ์ ๋ ฅ์ผ ๋์ ์์คํจ์๋ฅผ ๊ฐ๊ฐ ๊ณ ๋ฏผํด ๋ณผ ์ ์๊ณ , ์ ์ฒด์ ์ผ๋ก๋ ๊ทธ ๋ ๊ฐ์ ๊ฒฝ์ฐ๋ฅผ ๋ชจ๋ ํฉํ ๊ฐ์ด ์ต์ข ํ๋ณ์ ์์คํจ์๊ฐ ๋ฉ๋๋ค. ๊ฐ๊ฐ ์์ธํ๊ฒ ์ดํด๋ณด์ฃ .
[์ง์ง ์ด๋ฏธ์ง๊ฐ ์ ๋ ฅ์ธ ๊ฒฝ์ฐ]
- ์ง์ง ์ด๋ฏธ์ง๋ฅผ ์ง์ง๋ก ํ๋จํ ๊ฒฝ์ฐ:
- D(x) = 0.9 (์ค์ ์ด๋ฏธ์ง x์ ๋ํด ํ๋ณ์๊ฐ 0.9์ ๊ฐ์ ์ถ๋ ฅ)
- ์์ค ๊ฐ: -log(0.9)≈ 0.105
2. ์ง์ง ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ง๋ก ํ๋จํ ๊ฒฝ์ฐ: <๋์ Loss ์ฌ์ผ ํจ>
- D(x) = 0.1
- ์์ค ๊ฐ: -log(0.1) = 1.0
[๊ฐ์ง ์ด๋ฏธ์ง๊ฐ ์ ๋ ฅ์ธ ๊ฒฝ์ฐ]
1. ๊ฐ์ง ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ง๋ก ํ๋จํ ๊ฒฝ์ฐ:
- D(G(z)) = 0.2
- ์์ค ๊ฐ: -log(1–0.2) = -log(0.8) ≈ 0.223
2. ๊ฐ์ง ์ด๋ฏธ์ง๋ฅผ ์ง์ง๋ก ํ๋จํ ๊ฒฝ์ฐ: <๋์ Loss ์ฌ์ผ ํจ>
- D(G(z)) = 0.8
- ์์ค ๊ฐ: -log(1–0.8) = -log(0.2) = 1.609
ํ๋ณ์์ ์ต์ข ์์ค์ ์ง์ง ์ด๋ฏธ์ง์ ๊ฐ์ง ์ด๋ฏธ์ง์ ๋ํ ์์ค ๊ฐ์ ๋ชจ๋ ํฉํ์ฌ ๊ณ์ฐ๋ฉ๋๋ค.
์ฆ, ๋ค์์ ์์์ผ๋ก ์ ๋ฆฌํด ๋ณผ ์ ์์ต๋๋ค.
- ์ฒซ ๋ฒ์งธ ํญ: ์ค์ ๋ฐ์ดํฐ x์ ๋ํด ํ๋ณ์๊ฐ 1์ ๊ฐ๊น์ด ๊ฐ์ ์ถ๋ ฅํ๋๋ก ํฉ๋๋ค.
- ๋ ๋ฒ์งธ ํญ: ์์ฑ๋ ๊ฐ์ง ๋ฐ์ดํฐ G(z)์ ๋ํด ํ๋ณ์๊ฐ 0์ ๊ฐ๊น์ด ๊ฐ์ ์ถ๋ ฅํ๋๋ก ํฉ๋๋ค.
์ด ์์ค ํจ์๋ ํ๋ณ์๊ฐ ์ค์ ์ด๋ฏธ์ง๋ฅผ 1๋ก, ๊ฐ์ง ์ด๋ฏธ์ง๋ฅผ 0์ผ๋ก ๊ตฌ๋ณํ๋ ๋ฅ๋ ฅ์ ์ต๋ํํ๋ ๋ฐฉํฅ์ผ๋ก ํ์ต๋ฉ๋๋ค.
3) ์์ฑ์์ ์์ค ํจ์
ํ์ง๋ง ์ objective function์ ํ์ฉํด์ GAN์ ํ์ตํ๋ฉด ์ค์ ๋ก๋ ํ์ต์ด ์ ๋์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ๊ทธ ์ด์ ๋, generator์ ์ฑ๋ฅ์ด ์ ์ข์ ๋, ํด๋น objective function์ ๋ฐ๋ฅด๋ฉด gradient๊ฐ ๊ต์ฅํ ์์์ ํ์ต์ด ๋น ๋ฅด๊ฒ ๋ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ค์ ๊ทธ๋ํ๋ฅผ ๋ณด์.
์ ๊ทธ๋ํ๋ฅผ ๋ณด๋ฉด, log(1−D)๋ D(G(z))๊ฐ 0์ ๊ฐ๊น์ธ ๋, gradient๊ฐ 0์ ๊ฐ๊น๊ธฐ ๋๋ฌธ์ ํ์ต์ด ์ ๋์ง ์์ ์ ์๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๋, ์์ Fake ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ generator objective function ๋์ ์ ๋ค์ objective function์ ํ์ต์ ํ์ฉํ๋ค.
์์ฑ์๊ฐ ์์ฑํ ๊ฐ์ง ๋ฐ์ดํฐ G(z)์ ๋ํด ํ๋ณ์๊ฐ 1์ ๊ฐ๊น์ด ๊ฐ์ ์ถ๋ ฅํ๋๋ก ํฉ๋๋ค. ์ด๋ ์์ฑ์๊ฐ ํ๋ณ์๋ฅผ ์์ด๋ ๋ฐ ์ฑ๊ณตํ ๋ ์์ค์ด ์ค์ด๋ญ๋๋ค. ๋ํ ์ด objective function์ ๊ธฐ์กด์ generator์ objective function๊ณผ ๊ฐ์ ์๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉด์๋, ์ ๊ทธ๋ํ์์ ๋ณผ ์ ์๋ฏ์ด generator๊ฐ ์ ํ์ต์ด ๋์ง ์์์ ๋์ gradient๊ฐ ํฌ๊ธฐ ๋๋ฌธ์ ํ์ต์ด ๋น๊ต์ ์ ๋๋ค.
์๋ฅผ ๋ค์ด ์ดํด๋ณด์ฃ .
1. ๊ฐ์ง ์ด๋ฏธ์ง๋ฅผ ์ง์ง๋ก ํ๋จํ ๊ฒฝ์ฐ:
- D(G(z)) = 0.8
- ์์ค ๊ฐ: -log(0.8) ≈ 0.223
2. ๊ฐ์ง ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ง๋ก ํ๋จํ ๊ฒฝ์ฐ:
- D(G(z)) = 0.1
- ์์ค ๊ฐ: -log(0.1) = 2.303
์์ฑ์์ ์ต์ข ์์ค์ ํ๋ณ์๋ฅผ ์์ด๋ ๋ฐฉํฅ์ผ๋ก ์ต์ ํ๋ฉ๋๋ค.
4) ์ต์ข ์์ค ๊ณ์ฐ
GAN์ ํ์ต์ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ฉด์ ์ด๋ฃจ์ด์ง๋๋ค.
1. ํ๋ณ์ ํ์ต:
- ์ง์ง ์ด๋ฏธ์ง๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ์์ค์ ๊ณ์ฐํ๊ณ , ๊ฐ์ง ์ด๋ฏธ์ง๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ์์ค์ ๊ณ์ฐํฉ๋๋ค.
- ๋ ์์ค ๊ฐ์ ํฉ์ฐํ์ฌ ํ๋ณ์๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.
2. ์์ฑ์ ํ์ต:
- ๋๋ค ๋ ธ์ด์ฆ๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ๊ฐ์ง ์ด๋ฏธ์ง๋ฅผ ์์ฑํฉ๋๋ค.
- ์์ฑ๋ ๊ฐ์ง ์ด๋ฏธ์ง๋ฅผ ํ๋ณ์์ ์ ๋ ฅํ์ฌ ์์ค์ ๊ณ์ฐํ๊ณ , ์์ฑ์๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.
์ด๋ฌํ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ฉด์ ์์ฑ์์ ํ๋ณ์๋ ์๋ก์ ์ฑ๋ฅ์ ํฅ์์ํค๋ฉฐ, ์ต์ข ์ ์ผ๋ก ์์ฑ์๋ ํ๋ณ์๋ฅผ ์์ผ ์ ์๋ ๋์ ํ์ง์ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๊ฒ ๋ฉ๋๋ค.
3. ์ต์ข ํ๋ จ ํ์ ํ์ฉ
GAN์ ํ์ต์ด ๋๋๋ฉด ์์ฑ์์ ํ๋ณ์ ์ค ์ด๋ ๊ฒ์ ์ฌ์ฉํ ๊ฒ์ธ์ง ๊ฒฐ์ ํด์ผ ํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ต์ข ์ ์ผ๋ก ํ์ฉ๋๋ ๊ฒ์ ์์ฑ์์ ๋๋ค. ์์ฑ์๋ ์ค์ ์ ์ ์ฌํ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ ์ ์๊ธฐ ๋๋ฌธ์, ๋ค์ํ ์์ฉ ๋ถ์ผ์์ ํ์ฉ๋ฉ๋๋ค.
์์ฑ์์ ํ์ฉ
- ์ด๋ฏธ์ง ์์ฑ: ์๋ก์ด ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์๋ก์ด ์ธ๋ฌผ์ ์ผ๊ตด์ ์์ฑํ๊ฑฐ๋, ํน์ ์คํ์ผ์ ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค์ด๋ผ ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ ์ฆ๊ฐ: ์ ํ๋ ๋ฐ์ดํฐ์ ์ ๋ณด์ํ๊ธฐ ์ํด ๊ฐ์ง ๋ฐ์ดํฐ๋ฅผ ์์ฑํ์ฌ ํ์ต์ ํ์ฉํ ์ ์์ต๋๋ค.
- ์คํ์ผ ๋ณํ: ํ ์ด๋ฏธ์ง์ ์คํ์ผ์ ๋ค๋ฅธ ์ด๋ฏธ์ง๋ก ๋ณํํ๋ ๋ฐ์๋ ์ฌ์ฉ๋ฉ๋๋ค.
ํ๋ณ์์ ํ์ฉ
ํ๋ณ์๋ ์ฃผ๋ก ์์ฑ์์ ์ฑ๋ฅ์ ํ๊ฐํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์์ฑ๋ ๋ฐ์ดํฐ๊ฐ ์ผ๋ง๋ ์ค์ ์ ์ ์ฌํ์ง๋ฅผ ํ๊ฐํ๋ ์งํ๋ก ํ์ฉ๋ ์ ์์ต๋๋ค.
4. GAN์ ์ฅ๋จ์
GAN์ ๋งค์ฐ ๊ฐ๋ ฅํ ์์ฑ ๋ชจ๋ธ์ด์ง๋ง, ๋ช ๊ฐ์ง ๋จ์ ๋ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์ฅ์
- ๊ณ ํ์ง์ ์ด๋ฏธ์ง ์์ฑ: GAN์ ๋งค์ฐ ์ ๊ตํ๊ณ ํ์ค์ ์ธ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
- ๋ค์ํ ์์ฉ ๊ฐ๋ฅ์ฑ: ์ด๋ฏธ์ง ์์ฑ, ๋ฐ์ดํฐ ์ฆ๊ฐ, ์คํ์ผ ๋ณํ ๋ฑ ๋ค์ํ ๋ถ์ผ์ ํ์ฉํ ์ ์์ต๋๋ค.
๋จ์
- ํ์ต ๋ถ์์ ์ฑ: GAN์ ํ์ต์ ๋งค์ฐ ๋ถ์์ ํ ์ ์์ผ๋ฉฐ, ์ ์ ํ ํ์ดํผํ๋ผ๋ฏธํฐ ์ค์ ์ด ํ์ํฉ๋๋ค.
- ๋ชจ๋ ๋ถ๊ดด: ์์ฑ์๊ฐ ํน์ ์ ํ์ ์ด๋ฏธ์ง๋ง ์์ฑํ๊ณ ๋ค์ํ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ์ง ๋ชปํ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
- ์์ค๊ฐ ๋ชจ๋ํฐ๋ง์ ์ด๋ ค์: GAN์ ์์ค ํจ์๋ฅผ ๋ชจ๋ํฐ๋งํ๊ธฐ ์ด๋ ค์ ํ์ต ๊ณผ์ ์ ์ถ์ ํ๋ ๋ฐ ์ด๋ ค์์ด ์์ต๋๋ค.
๊ฒฐ๋ก
GAN(Generative Adversarial Network)์ ๋ฅ๋ฌ๋ ๋ถ์ผ์์ ๋งค์ฐ ์ค์ํ ์์ฑ ๋ชจ๋ธ๋ก, ๋ค์ํ ์์ฉ ๊ฐ๋ฅ์ฑ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์์ฑ์(Generator)์ ํ๋ณ์(Discriminator)์ ๊ฒฝ์์ ํตํด ์ค์ ์ ์ ์ฌํ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ GAN์ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์ด๋ฅผ ๋ค์ํ ๋ถ์ผ์ ํ์ฉํ ์ ์์ต๋๋ค.
์ด๋ฒ ๊ธ์์ ์ดํด๋ณธ GAN์ ์ต์ด์ ๊ตฌ์กฐ๋ฅผ ๊ทธ๋๋ก ์ค๋ช ํ ๊ฒ์ด๊ณ , ์ดํ์ ๋๋จํ ๋ง์ ๋ณํ GAN ๋ฑ์ด ๋ํ๋ฌ์ต๋๋ค. ๋ํ์ ์ผ๋ก, CGAN(Conditional GAN), Pix2Pix, CycleGAN, StyleGAN, BigGAN ๋ฑ์ด ์์ฃ . ๋ค์ ๊ธ์์๋ CGAN๊ณผ CycleGAN์ ๋ํด ์ดํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
ํ๊ณ
GAN์ ๋ํ์ ์ธ generative model๋ก, image generation ๋ฑ์์ ์์ฃผ ์ข์ ์ฑ๋ฅ์ ๋ณด์๋ค. ํ์ง๋ง ์ด๋ฌํ GAN๋ ํ๊ณ์ ์ ๊ฐ์ง๊ณ ์๋ค. GAN์ ๋ํ์ ์ธ ํ๊ณ์ ์ mode-collapse์ด๋ค. Mode-collapse๋ generator์ discriminator ์ค ํ๋๊ฐ ๋๋ฌด ํ์ต์ด ์ ๋ผ์ ๋ค๋ฅธ ํ๋์ ํ์ต์ด ์งํ๋์ง ์๋ ๊ฒ์ ๋งํ๋ค. ์๋ฅผ ๋ค์ด, generator๊ฐ ํ๋์ ์ ๋ง ์ง์ง๊ฐ์ ๊ฐ์ง ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ค๋ฉด, discriminator๋ ์ด๋ฅผ ํญ์ ๊ตฌ๋ณํ ์ ์์ ๊ฒ์ด๊ณ , discriminator๋ ๋ ์ด์ ํ์ต์ ์งํํ ์ ์์ ๊ฒ์ด๋ค.
์ด๋ฒ ๊ธ์์๋ GAN์ด ๋ฌด์์ธ์ง์ ๋ํด ์์์ ํตํด ์ดํด๋ณด์๊ณ , GAN์ ํ๊ณ์ ์ด ๋ฌด์์ธ์ง์ ๋ํด์๋ ๊ฐ๋จํ๊ฒ ์์๋ณด์๋ค.
์ฐธ๊ณ
- [Paper] Goodfellow, I., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., ... & Bengio, Y. (2014). Generative adversarial nets. Advances in neural information processing systems, 27.
- [Paper] Berthelot, D., Schumm, T., & Metz, L. (2017). Began: Boundary equilibrium generative adversarial networks. arXiv preprint arXiv:1703.10717.
- [Blog] GAN ์ค๋ช (Generative Adversarial Network๋?, GAN ์ฆ๋ช , GAN ํ๊ณ): https://process-mining.tistory.com/169
- [Blog] GAN์ ๋ํ ์ดํด: https://medium.com/@hugmanskj/gan%EC%97%90-%EB%8C%80%ED%95%9C-%EC%9D%B4%ED%95%B4-a073a5425ef2
'Study: Artificial Intelligence(AI) > AI: 2D Vision(Det, Seg, Trac)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Vision] Graph Neural Networks (GNN), Graph Convolutional Networks (GCN) (0) | 2024.10.06 |
---|---|
[Gen AI] Diffusion Model ์ค๋ช : ์์ฉ (0) | 2024.09.14 |
[Gen AI] ์์ฑํ ๋ชจ๋ธ๋ค์ ์๋ฆฌ ๋น๊ต: VAE, GAN, Flow-based, Diffusion (0) | 2024.09.14 |
[Gen AI] Diffusion Model ์ค๋ช : ๊ธฐ์ด (0) | 2024.09.13 |
[Gen AI] Stable Diffusion WebUI Docker ํ๊ฒฝ ์ค์ ๋ฐ ์ฌ์ฉํ๊ธฐ (0) | 2024.08.03 |