Study: Artificial Intelligence(AI)/AI: 2D Vision(Det, Seg, Trac)

[Gen AI] Generative Adversarial Network(GAN) ์„ค๋ช…: ๊ธฐ์ดˆ

DrawingProcess 2024. 10. 2. 19:42
๋ฐ˜์‘ํ˜•
๐Ÿ’ก ๋ณธ ๋ฌธ์„œ๋Š” '[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๋Š” ์‹ค์ œ ๋ฐ์ดํ„ฐ์™€ ๋งŒ๋“ค์–ด์ง„ ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ณ„ํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•œ๋‹ค. ์ด๋ฅผ ๊ทธ๋ฆผ์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

GAN์˜ ๊ตฌ์กฐ

 ์ด๋ ‡๊ฒŒ ์„œ๋กœ ๊ฒฝ์Ÿํ•˜๋ฉด์„œ ํ•™์Šต์„ ํ•จ์œผ๋กœ์จ, generator๋Š” ์ ์  ๋” ์‹ค์ œ์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๊ฒŒ ๋˜๊ณ , discriminator๋Š” ์ ์  ๋” ์‹ค์ œ์™€ ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ๊ฒฐ๋ก ์ ์œผ๋กœ, generator๊ฐ€ ์‹ค์ œ ๋ฐ์ดํ„ฐ์™€ ๊ต‰์žฅํžˆ ๋น„์Šทํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” generative model๋กœ์„œ์˜ ์—ญํ• ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

GAN์˜ ๊ธฐ๊ณ„ํ•™์Šต์—์„œ์˜ ์œ„์น˜์™€ ์˜๋ฏธ

GAN์€ ๊ธฐ๊ณ„ํ•™์Šต์˜ ํ•˜์œ„ ๋ถ„์•ผ์ธ ์ƒ์„ฑ ๋ชจ๋ธ๋ง์—์„œ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ƒ์„ฑ ๋ชจ๋ธ๋ง์€ ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ ๋ถ„ํฌ๋ฅผ ํ•™์Šตํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. GAN์€ ๋น„์ง€๋„ ํ•™์Šต(Unsupervised Learning) ๋ฐฉ๋ฒ•์˜ ์ผ์ข…์œผ๋กœ, ๋ ˆ์ด๋ธ”์ด ์—†๋Š” ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํŠนํžˆ ๋Œ€๋Ÿ‰์˜ ๋น„๋ ˆ์ด๋ธ” ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•˜๋Š” ์ƒํ™ฉ์—์„œ ์œ ์šฉํ•˜๋ฉฐ, ์ด๋ฏธ์ง€ ์ƒ์„ฑ, ๋ฐ์ดํ„ฐ ์ฆ๊ฐ•, ์Šคํƒ€์ผ ๋ณ€ํ™˜ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ํ˜์‹ ์ ์ธ ์„ฑ๊ณผ๋ฅผ ๋‚ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

2. ํ›ˆ๋ จ ์…‹ํŒ… ๋ฐ ์ ˆ์ฐจ

GAN์˜ ํ•™์Šต์„ ์œ„ํ•ด์„œ๋Š” ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ์˜ ๊ตฌ์„ฑ, ๊ฐ ๋„คํŠธ์›Œํฌ์˜ ์†์‹ค ํ•จ์ˆ˜ ์ •์˜, ๊ทธ๋ฆฌ๊ณ  ์ตœ์ข… ์†์‹ค ๊ณ„์‚ฐ ๋ฐฉ๋ฒ•์„ ๋ช…ํ™•ํžˆ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์„น์…˜์—์„œ๋Š” ๊ตฌ์ฒด์ ์ธ ๋ฐ์ดํ„ฐ ์…‹ํŒ… ๋ฐฉ๋ฒ•๊ณผ ๊ฐ ๋„คํŠธ์›Œํฌ๋ณ„ ์†์‹ค ๊ฐ’ ๊ณ„์‚ฐ ๋ฐฉ๋ฒ•, ์ตœ์ข… ์†์‹ค ๊ณ„์‚ฐ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ตฌ์ฒด์ ์ธ ๋ฐ์ดํ„ฐ ์…‹ํŒ… ๋ฐฉ๋ฒ•

GAN์˜ ํ•™์Šต์—๋Š” ์ง„์งœ ์ด๋ฏธ์ง€, ๊ฐ€์งœ ์ด๋ฏธ์ง€, ๊ทธ๋ฆฌ๊ณ  ๊ฐ ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ๋ ˆ์ด๋ธ”(์ฐธ์กฐ ๋ ˆ์ด๋ธ”)์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

[์ง„์งœ ์ด๋ฏธ์ง€]

์ง„์งœ ์ด๋ฏธ์ง€๋Š” ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ธํ„ฐ๋„ท์—์„œ ํฌ๋กค๋งํ•˜๊ฑฐ๋‚˜ ๊ธฐ์กด์˜ ๊ณต๊ฐœ๋œ ๋ฐ์ดํ„ฐ์…‹์—์„œ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, CIFAR-10, MNIST ๊ฐ™์€ ๋ฐ์ดํ„ฐ์…‹์ด ์ง„์งœ ์ด๋ฏธ์ง€๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[๊ฐ€์งœ ์ด๋ฏธ์ง€]

๊ฐ€์งœ ์ด๋ฏธ์ง€๋Š” ์ƒ์„ฑ์ž๊ฐ€ ์ƒ์„ฑํ•œ ์ด๋ฏธ์ง€์ž…๋‹ˆ๋‹ค. ์ƒ์„ฑ์ž๋Š” ๋žœ๋คํ•œ ๋…ธ์ด์ฆˆ ๋ฒกํ„ฐ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ๊ฐ€์งœ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด ๋…ธ์ด์ฆˆ ๋ฒกํ„ฐ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ •๊ทœ ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅด๋Š” ๋žœ๋ค ๋ฒกํ„ฐ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

[์ฐธ์กฐ ๋ ˆ์ด๋ธ” (Reference Label)]

  • ์ง„์งœ ์ด๋ฏธ์ง€์˜ ๋ ˆ์ด๋ธ”: ๋ชจ๋“  ์ง„์งœ ์ด๋ฏธ์ง€๋Š” ๋ ˆ์ด๋ธ” 1(์ง„์งœ)๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
  • ๊ฐ€์งœ ์ด๋ฏธ์ง€์˜ ๋ ˆ์ด๋ธ”: ๋ชจ๋“  ๊ฐ€์งœ ์ด๋ฏธ์ง€๋Š” ๋ ˆ์ด๋ธ” 0(๊ฐ€์งœ)๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

์ด ๋ ˆ์ด๋ธ”์€ ํŒ๋ณ„์ž๊ฐ€ ์ž˜ ํ›ˆ๋ จ๋˜๋„๋ก ํ•˜๋Š” ์ •๋‹ต์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

ํŒ๋ณ„์ž ํ›ˆ๋ จ

์œ„์—์„œ ์ •๋ฆฌํ•œ ๋ฐ์ดํ„ฐ๋“ค์„ ์ด์šฉํ•ด ํŒ๋ณ„์ž๋ฅผ ํ›ˆ๋ จ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ์˜ ๋น„์œจ์€ ๋””์ž์ธ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์œผ๋‚˜ ๊ฐ€์žฅ ๋‹จ์ˆœํ•˜๊ฒŒ๋Š” ์‹ค์ œ ์ด๋ฏธ์ง€์™€ ์ƒ์„ฑ์ž์— ์˜ํ•ด ์ƒ์„ฑ๋œ ์ด๋ฏธ์ง€๋ฅผ 5:5 ๋กœ ์„ž์–ด ํ›ˆ๋ จ์‹œํ‚ต๋‹ˆ๋‹ค. ํŒ๋ณ„์ž๋Š” ์‹ค์ œ ์ด๋ฏธ์ง€์— ๋Œ€ํ•ด์„œ๋Š” 1์— ๊ฐ€๊นŒ์šด ๊ฐ’์„, ์ƒ์„ฑ์ž๊ฐ€ ์ƒ์„ฑํ•œ ์ด๋ฏธ์ง€์— ๋Œ€ํ•ด์„œ๋Š” 0์— ๊ฐ€๊นŒ์šด ๊ฐ’์„ ๋‚˜ํƒ€๋‚ด๋„๋ก ํ•™์Šต๋ฉ๋‹ˆ๋‹ค.

Discriminator Training Batch Dataset Construction

์ƒ์„ฑ์ž ํ›ˆ๋ จ

์ƒ์„ฑ์ž์˜ ๊ฒฝ์šฐ์—๋Š” ์ง์ ‘์ ์œผ๋กœ ์ข‹์€ ์ด๋ฏธ์ง€์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ ๊ฐ€๋ฅด์ณ์ค„ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์ž์‹ ์ด ์ƒ์„ฑํ•œ ์ด๋ฏธ์ง€๊ฐ€ ํŒ๋ณ„์ž๋ฅผ ์†์ผ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ํ•™์Šต ๋ฐฉํ–ฅ์„ ์ทจํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰ ์ƒ์„ฑ์ž ์ž…์žฅ์—์„œ๋Š” ์ƒ์„ฑ๋œ ์ด๋ฏธ์ง€์— ํ•ด๋‹นํ•˜๋Š” ์ตœ์ข… Label ๊ฐ’์ด ๋ชจ๋‘ 1๋กœ ๋˜์–ด ๊ณ„์‚ฐ๋˜๋Š” ํ˜•ํƒœ๋กœ ์ง„ํ–‰๋˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

Generator Training Batch Dataset Construction

๊ฐ ๋„คํŠธ์›Œํฌ๋ณ„ ์†์‹ค ๊ฐ’ ๊ณ„์‚ฐ ๋ฐฉ๋ฒ•

GAN์˜ ํ•™์Šต ๊ณผ์ •์—์„œ๋Š” ์ƒ์„ฑ์ž์™€ ํŒ๋ณ„์ž ๊ฐ๊ฐ์˜ ์†์‹ค ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•™์Šต์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ๋ช‡ ๊ฐ€์ง€ ์ฃผ์š” ๊ฐœ๋…๊ณผ ์šฉ์–ด๋ฅผ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

1) ์ฃผ์š” ๊ฐœ๋… ๋ฐ ์šฉ์–ด

  • x : ์‹ค์ œ ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‹ค์ œ ์ด๋ฏธ์ง€์ž…๋‹ˆ๋‹ค. ์‹ค์ œ ์ด๋ฏธ์ง€๊ฐ€ ์กด์žฌํ•  ๋ฒ•ํ•œ ๋ฐ์ดํ„ฐ ๋ถ„ํฌ p_data ๋กœ๋ถ€ํ„ฐ ์ƒ˜ํ”Œ๋ง๋œ ๋ฐ์ดํ„ฐ๋ผ ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.
  • z : ์ž ์žฌ ๊ณต๊ฐ„(latent space)์—์„œ ์ƒ˜ํ”Œ๋ง๋œ ๋žœ๋ค ๋…ธ์ด์ฆˆ ๋ฒกํ„ฐ์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ •๊ทœ ๋ถ„ํฌ p_z ~ N(0,1) ๋กœ ๋ถ€ํ„ฐ ์ƒ˜ํ”Œ๋ง ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค.
  • G(z): ์ƒ์„ฑ์ž G๊ฐ€ ๋žœ๋ค ๋…ธ์ด์ฆˆ z๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์ƒ์„ฑํ•œ ๊ฐ€์งœ ๋ฐ์ดํ„ฐ(์ด๋ฏธ์ง€)์ž…๋‹ˆ๋‹ค.
  • D(x): ํŒ๋ณ„์ž D๊ฐ€ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ x์— ๋Œ€ํ•ด ์ถœ๋ ฅํ•˜๋Š” ๊ฐ’์œผ๋กœ, ์ด ๊ฐ’์€ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ์ง„์งœ์ผ ํ™•๋ฅ ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

2) ํŒ๋ณ„์ž์˜ ์†์‹ค ํ•จ์ˆ˜

ํŒ๋ณ„์ž์˜ ์†์‹ค ํ•จ์ˆ˜๋Š” ์‹ค์ œ ์ด๋ฏธ์ง€์™€ ๊ฐ€์งœ ์ด๋ฏธ์ง€๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ์„ฑ๋Šฅ์„ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰ real ์ด๋ฏธ์ง€๊ฐ€ ์ž…๋ ฅ์ผ ๋•Œ์˜ ์†์‹คํ•จ์ˆ˜์™€ fake ์ด๋ฏธ์ง€๊ฐ€ ์ž…๋ ฅ์ผ ๋•Œ์˜ ์†์‹คํ•จ์ˆ˜๋ฅผ ๊ฐ๊ฐ ๊ณ ๋ฏผํ•ด ๋ณผ ์ˆ˜ ์žˆ๊ณ , ์ „์ฒด์ ์œผ๋กœ๋Š” ๊ทธ ๋‘ ๊ฐœ์˜ ๊ฒฝ์šฐ๋ฅผ ๋ชจ๋‘ ํ•ฉํ•œ ๊ฐ’์ด ์ตœ์ข… ํŒ๋ณ„์ž ์†์‹คํ•จ์ˆ˜๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ ์ƒ์„ธํ•˜๊ฒŒ ์‚ดํŽด๋ณด์ฃ .

[์ง„์งœ ์ด๋ฏธ์ง€๊ฐ€ ์ž…๋ ฅ์ธ ๊ฒฝ์šฐ]

Loss for Discriminator when the input comes from   real images
  1. ์ง„์งœ ์ด๋ฏธ์ง€๋ฅผ ์ง„์งœ๋กœ ํŒ๋‹จํ•œ ๊ฒฝ์šฐ:
  • 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 function๋“ค์˜ ๊ทธ๋ž˜ํ”„

์œ„ ๊ทธ๋ž˜ํ”„๋ฅผ ๋ณด๋ฉด, 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๋Š” ๋” ์ด์ƒ ํ•™์Šต์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์—†์„ ๊ฒƒ์ด๋‹ค. 

Mode-collapse

 ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” GAN์ด ๋ฌด์—‡์ธ์ง€์— ๋Œ€ํ•ด ์ˆ˜์‹์„ ํ†ตํ•ด ์‚ดํŽด๋ณด์•˜๊ณ , GAN์˜ ํ•œ๊ณ„์ ์ด ๋ฌด์—‡์ธ์ง€์— ๋Œ€ํ•ด์„œ๋„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์•Œ์•„๋ณด์•˜๋‹ค.

์ฐธ๊ณ 

 

๋ฐ˜์‘ํ˜•