๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Data Science/Generative AI

[GenAI] ์ƒ์„ฑ์  ์ ๋Œ€ ์‹ ๊ฒฝ๋ง: GAN(Generative Adversarial Network), WGAN, WGAN-GP

๋ฐ˜์‘ํ˜•

๐Ÿ”Š ํ•ด๋‹น ํฌ์ŠคํŒ…์€  OREILLY์˜ '๋ฏธ์ˆ ๊ด€์— GAN ๋”ฅ๋Ÿฌ๋‹ ์‹ค์ „ ํ”„๋กœ์ ํŠธ' ์„œ์ ์„ ์ฝ๊ณ  ๊ฐœ์ธ์ ์ธ ๋ชฉ์  ํ•˜์— ์ž‘์„ฑ๋˜๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค. ํฌ์ŠคํŒ…์— ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋“  ์ž๋ฃŒ๋Š” ์ œ๊ฐ€ ์ง์ ‘ ์žฌ๊ตฌ์„ฑํ•˜์˜€์Œ์„ ์•Œ๋ฆฝ๋‹ˆ๋‹ค.

 

์ถœ์ฒ˜: Yes24


์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ง€๋‚œ ํฌ์ŠคํŒ…์—์„œ ๋ฐฐ์šด 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์€ ์ƒ์„ฑ์ž, ํŒ๋ณ„์ž 2๊ฐœ ๋ชจ๋ธ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค

 

GAN์ด ํ•™์Šตํ•˜๋Š” ๋‹จ๊ณ„๋Š” ์•„๋ž˜ ๋ชฉ์ฐจ์—์„œ ์ข€ ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธด ํ•˜๊ฒ ์ง€๋งŒ ๊ฐ„๋‹จํžˆ ์ˆœ์„œ๋ฅผ ์ •์˜ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

  1. ์ตœ์ดˆ์— ์ƒ์„ฑ์ž๊ฐ€ ๋žœ๋คํ•œ ์žก์Œ์„ ์‚ฌ์šฉํ•ด์„œ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.(์ด ๋•Œ ์ƒ์„ฑ๋œ ์ด๋ฏธ์ง€๋Š” ์›๋ณธ ์ด๋ฏธ์ง€์™€ ํ„ฐ๋ฌด๋‹ˆ ์—†์ด ๋‹ค๋ฅผ ๊ฒƒ์ž„)
  2. ํŒ๋ณ„์ž๋Š” (์ƒ์„ฑ์ž๊ฐ€) ์ƒ์„ฑํ•œ ์ด๋ฏธ์ง€๋ฅผ ๋ณด๊ณ  ์›๋ณธ ์ด๋ฏธ์ง€์™€ ์–ผ๋งˆ๋‚˜ ๊ฐ™์€์ง€ 0 ~ 1 ์‚ฌ์ด์˜ ํ™•๋ฅ  ๊ฐ’์œผ๋กœ ์˜ˆ์ธก
  3. ์ด๋ ‡๊ฒŒ 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 ์ „์ฒด ํ•™์Šต ์ฆ‰, ์ƒ์„ฑ์ž๋งŒ ํ•™์Šต์‹œํ‚ฌ ๋•Œ์˜ ํƒ€๊นƒ ๊ฐ’์€ ๋ชจ๋‘ ์›์†Œ๊ฐ€ 1์ธ ์ฆ‰ "์ง„์งœ ์ด๋ฏธ์ง€"์—ฌ์•ผ ํ•œ๋‹ค

 

์ด๋Ÿฌํ•œ ๊ฐœ๋…์„ ๋จธ๋ฆฌ์— ๋‘๊ณ  GAN ๋ชจ๋ธ ์ „์ฒด๋ฅผ ํ•™์Šตํ•  ๋•Œ ๋งŒ์•ฝ ํŒ๋ณ„์ž ๋ชจ๋ธ๋„ ํ•™์Šตํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ ์ง€ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด๋ณด์ž. GAN ๋ชจ๋ธ ํ•™์Šต ์ดˆ๊ธฐ ์‹œ์—๋Š” ์ƒ์„ฑ์ž๊ฐ€ ์ƒ์„ฑํ•˜๋Š” ๊ฐ€์งœ ์ด๋ฏธ์ง€๋“ค์€ ์ง„์งœ ์ด๋ฏธ์ง€๋“ค๊ณผ ํ„ฐ๋ฌด๋‹ˆ ์—†์ด ๋‹ค๋ฅธ ์ด๋ฏธ์ง€๋“ค์ผ ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฌํ•œ ์ƒํƒœ์—์„œ ํŒ๋ณ„์ž๋Š” ์ด ํ„ฐ๋ฌด๋‹ˆ ์—†์ด ๋‹ค๋ฅธ ์ด๋ฏธ์ง€๋“ค์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›๊ฒŒ ๋  ๊ฒƒ์ด๊ณ  ์ด๋ฅผ "์ง„์งœ ์ด๋ฏธ์ง€"(ํƒ€๊นƒ๊ฐ’์ด ๋ชจ๋‘ 1์ด๊ธฐ ๋•Œ๋ฌธ)๋กœ ํŒ๋‹จํ•˜๋„๋ก ํŒ๋ณ„์ž์˜ ๊ฐ€์ค‘์น˜๊ฐ€ ์—…๋ฐ์ดํŠธ ๋  ๊ฒƒ์ด๋‹ค. ๊ฒฐ๊ตญ ์šฐ๋ฆฌ๊ฐ€ ์ตœ์ดˆ์— ํŒ๋ณ„์ž ๋ชจ๋ธ๋งŒ ํ•™์Šต์‹œ์ผœ์„œ ํŒ๋ณ„์ž ๋ชจ๋ธ์˜ ๋Šฅ๋ ฅ์„ ๊ธฐ๊ป ํ‚ค์›Œ๋†“์•˜๋”๋‹ˆ GAN ๋ชจ๋ธ ์ „์ฒด๋ฅผ ํ•™์Šตํ•  ๋•Œ ์˜คํžˆ๋ ค ์ด ํŒ๋ณ„์ž ๋ชจ๋ธ์˜ ๋Šฅ๋ ฅ์„ ๊นŽ์•„๋จน๋Š” ์…ˆ์ธ ๊ฒƒ์ด๋‹ค.

 

์ด๋Ÿฌํ•œ ์ด์œ ๋กœ ์ธํ•ด GAN ๋ชจ๋ธ ์ „์ฒด๋ฅผ ํ•™์Šตํ•  ๋•Œ๋Š” ํŒ๋ณ„์ž ๋ชจ๋ธ์˜ ๊ฐ€์ค‘์น˜๋ฅผ ๋™๊ฒฐ(frozen)์‹œํ‚ค๊ณ  ์ƒ์„ฑ์ž ๋ชจ๋ธ์˜ ๊ฐ€์ค‘์น˜๋งŒ ์—…๋ฐ์ดํŠธ๋˜๋„๋ก ํ•™์Šต์‹œ์ผœ์•ผ ํ•œ๋‹ค.

(* ์œ„ ์„ค๋ช…์ด ์ž˜ ์ดํ•ด๊ฐ€ ๊ฐ€์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š”. ์ž˜ ์„ค๋ช…ํ•œ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ ๋ˆ„๊ตฐ๊ฐ€์—๋Š” ์ดํ•ด๊ฐ€ ์™€๋‹ฟ์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์–ด์„œ ์ด์— ๋Œ€ํ•œ ์ ๊ทน ์งˆ๋ฌธ ํ™˜์˜์ž…๋‹ˆ๋‹ค.)

 

์ด๋ ‡๊ฒŒ [1.ํŒ๋ณ„์ž ๋ชจ๋ธ ํ•™์Šต โžก๏ธ 2. GAN ๋ชจ๋ธ ์ „์ฒด ํ•™์Šต(์ƒ์„ฑ์ž ๋ชจ๋ธ ํ•™์Šต)] ํ•˜๋Š” ์ผ๋ จ์˜ ๊ณผ์ •์„ ๊ณ„์†์ ์œผ๋กœ ๋ฐ˜๋ณตํ•˜๊ฒŒ ๋˜๋ฉด ์šฐ๋ฆฌ๊ฐ€ ์›ํ–ˆ๋˜ GAN ๋ชจ๋ธ์ด ์ง„์งœ ์ด๋ฏธ์ง€์™€ ๋งค์šฐ ๋น„์Šทํ•œ ๊ฐ€์งœ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•ด๋‚ผ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ์ด๋ฅผ ๋„์‹ํ™” ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

1,2๋ฒˆ์„ ํ•˜๋‚˜์˜ ๊ณผ์ •์œผ๋กœ ๊ฒŒ์† ๋ฐ˜๋ณตํ•˜์—ฌ ํ•™์Šต

 

์ง€๊ธˆ๊นŒ์ง€ GAN์˜ ํ•™์Šต ๋ฐฉ๋ฒ•์„ ์ด๋ก ์ ์œผ๋กœ ๋ชจ๋‘ ์‚ดํŽด๋ณด์•˜๋‹ค. ์ด์ œ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•ด๋ณด๋„๋ก ํ•˜์ž. ์ฝ”๋“œ๋Š” ์—ญ์‹œ Pytorch๋กœ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. ์—ฌ๊ธฐ๋ฅผ ์ฐธ์กฐํ•ด๋ณด๋„๋ก ํ•˜์ž.

4. GAN์˜ ํ•œ๊ณ„์ 

์œ„์—์„œ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•œ GAN์„ ์†๊ธ€์”จ MNIST ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ ์ ์šฉํ•ด๋ณด์•˜๋‹ค. ์•„๋ž˜ ๊ทธ๋ž˜ํ”„๋Š” GAN ๋ชจ๋ธ์˜ Loss ๊ทธ๋ž˜ํ”„์ด๋‹ค.

 

Epoch 1 ~ 200๊นŒ์ง€์˜ GAN Loss ๊ทธ๋ž˜ํ”„

 

์ƒ์„ฑ์ž์˜ ์†์‹ค ํ•จ์ˆ˜๊ฐ€ Epoch๊ฐ€ ์•ฝ 30ํšŒ์ผ ๋•Œ ๋งค์šฐ ์ตœ์ €์ ์„ ์ฐ๋‹ค๊ฐ€ Epoch๊ฐ€ ๋Š˜์–ด๋‚ ์ˆ˜๋ก Loss ๊ฐ’์ด ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ์ƒ์„ฑ์ž์˜ ์†์‹ค ํ•จ์ˆ˜๊ฐ€ ํ•™์Šต์ด ์ง„ํ–‰๋ ์ˆ˜๋ก ๋ถˆ์•ˆ์ •ํ•œ ์ƒํƒœ๋ฅผ ๋ณด์ด๊ฒŒ ๋œ๋‹ค. ํ•˜์ง€๋งŒ Epoch ํšŸ์ˆ˜๊ฐ€ ๊ฑฐ๋“ญ๋ ์ˆ˜๋ก GAN์˜ ์ƒ์„ฑ์ž๊ฐ€ ์ƒ์„ฑํ•ด๋‚ด๋Š” ์ด๋ฏธ์ง€์˜ ์ƒ˜ํ”Œ๋“ค์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

Epoch 1 ~ 200 ํ•™์Šต ๋™์•ˆ ์ƒ์„ฑ์ž๊ฐ€ ์ƒ์„ฑํ•˜๋Š” ๊ฐ€์งœ ์ด๋ฏธ์ง€์˜ ํ€„๋ฆฌํ‹ฐ ์˜ˆ์‹œ

4-1. Oscillation : ์ง„๋™ํ•˜๋Š” ์†์‹ค

์ฒซ๋ฒˆ์งธ ๋ฌธ์ œ๋Š” ์ƒ์„ฑ์ž์™€ ํŒ๋ณ„์ž์˜ ์†์‹คํ•จ์ˆ˜๊ฐ€ ํฐ ํญ์œผ๋กœ ๋†’์•„์กŒ๋‹ค ๋‚ฎ์•„์กŒ๋‹ค ํ•˜๋Š” ์ง„๋™ํ•˜๋Š” ํ˜„์ƒ์ด๋‹ค. ์‹ค์ œ๋กœ GAN์„ ์—ฌ๋Ÿฌ๋ฒˆ Epoch๋ฅผ ๋Œ๋ ธ์„ ๋•Œ์˜ ์†์‹คํ•จ์ˆ˜ ๊ทธ๋ž˜ํ”„๋ฅผ ๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

์ถœ์ฒ˜ : https://www.oreilly.com/library/view/generative-deep-learning/9781492041931/ch04.html

 

๋ฌผ๋ก  ํ•™์Šต ๋ฐฉ์‹์ด ๋ฏธ๋‹ˆ๋ฐฐ์น˜ ํ˜•์‹์ด๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋Š ์ •๋„์˜ ์ง„๋™ ํ˜„์ƒ์€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์œ„์ฒ˜๋Ÿผ ํฐ ํญ์˜ ์ง„๋™์€ ๋ฏธ๋‹ˆ๋ฐฐ์น˜ ํ˜•์‹์˜ ํ•™์Šต ๋•Œ๋ฌธ์ด ์•„๋‹Œ ๋ชจ๋ธ ์ž์ฒด๊ฐ€ ํ•™์Šต์ด ์ž˜ ์•ˆ๋˜๋Š” ๊ฒƒ์œผ๋กœ ๋ด์•ผํ•œ๋‹ค.

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 ๋ผ๋Š” ์ ์— ์ฃผ์˜)

 

์†์‹คํ•จ์ˆ˜ 2๊ฐœ๋ฅผ ํ•ฉ์น˜๊ณ  ์ƒ์„ฑ์ž๋Š” ์ตœ์†Œํ™”, ํŒ๋ณ„์ž๋Š” ์ตœ๋Œ€ํ™” ํ•˜๋„๋ก ์ˆ˜์‹์„ ์ˆ˜์ •ํ•˜๋ฉด ์œ„์ฒ˜๋Ÿผ ๋œ๋‹ค

 

์ด์ œ ์ผ๋ฐ˜์ ์ธ 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))$๋ฅผ ๋Œ€์ž…ํ•˜๋ฉด ๋œ๋‹ค. ๊ทธ๋ž˜์„œ ์ˆ˜์‹์ด ์•„๋ž˜์ฒ˜๋Ÿผ ๋œ๋‹ค.

 

์™€์„œ์Šคํ…Œ์ธ GAN์˜ ํŒ๋ณ„์ž ์†์‹ค ํ•จ์ˆ˜ ์ˆ˜์‹

 

๋‹ค์Œ์€ ์™€์„œ์Šคํ…Œ์ธ ์†์‹ค์˜ ์ƒ์„ฑ์ž ๋ชจ๋ธ์˜ ์†์‹ค ์ˆ˜์‹์„ ์‚ดํŽด๋ณด์ž. ํŒ๋ณ„์ž๋Š” ์ƒ์„ฑ์ž๊ฐ€ ๋งŒ๋“ค์–ด๋‚ธ ๊ฐ€์งœ ์ด๋ฏธ์ง€๋ฅผ ํŒ๋ณ„์ž๊ฐ€ ์˜ˆ์ธกํ•œ ํ™•๋ฅ  ์ฆ‰, $p_i = D(G(z_i))$๋ฅผ ๋Œ€์ž…ํ•˜๊ณ  $y_i = 1$์„ ๋Œ€์ž…ํ•œ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด ์†์‹คํ•จ์ˆ˜ ์ˆ˜์‹์€ ์•„๋ž˜์™€ ๊ฐ™์•„์ง„๋‹ค.

 

์™€์„œ์Šคํ…Œ์ธ GAN์˜ ์ƒ์„ฑ์‚ฌ ์†์‹ค ํ•จ์ˆ˜ ์ˆ˜์‹

 

์ด๋ ‡๊ฒŒ ํ•ด์„œ ์™€์„œ์Šคํ…Œ์ธ ์†์‹คํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

5-1. ํŒ๋ณ„์ž(=๋น„ํ‰์ž)์˜ ์™€์„œ์Šคํ…Œ์ธ ์†์‹คํ•จ์ˆ˜์— ์ œ์•ฝ์„ ๊ฐ€ํ•˜์ž: ๋ฆฝ์‹œ์ธ  ์ œ์•ฝ

๋ฐ”๋กœ ์ง์ „์— ์•Œ์•„๋ณธ ์™€์„œ์Šคํ…Œ์ธ ์†์‹คํ•จ์ˆ˜๋กœ ์ƒˆ๋กญ๊ฒŒ ์†์‹คํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜๋ฉด์„œ ํฐ ๋ณ€ํ™”์ ์ด ์žˆ์—ˆ๋‹ค. ๋ฐ”๋กœ ํŒ๋ณ„์ž ๋ชจ๋ธ์˜ ๋งˆ์ง€๋ง‰ ๋ ˆ์ด์–ด์— ์‹œ๊ทธ๋ชจ์ด๋“œ ํ™œ์„ฑํ•จ์ˆ˜๋ฅผ ๊ฑท์–ด๋ƒ„์œผ๋กœ์จ ํŒ๋ณ„์ž ๋ชจ๋ธ์˜ ์ถœ๋ ฅ๊ฐ’์ด -∞ ~ +∞ ๋ฒ”์œ„๋กœ ์–ด๋–ค ์ˆซ์ž๋„ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋„๋ก ๋˜์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ผ๋ฐ˜์ ์œผ๋กœ ์‹ ๊ฒฝ๋ง ๋ชจ๋ธ์—์„œ๋Š” ์ถœ๋ ฅ๊ฐ’์ด ๋งค์šฐ ํฌ๊ฑฐ๋‚˜ ๋งค์šฐ ์ž‘์€ ๊ฐ’๋“ค์€ ํ”ผํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ๋”ฐ๋ผ์„œ WGAN์—์„œ๋Š” ํŒ๋ณ„์ž๋ฅผ 1-๋ฆฝ์‹œ์ธ  ์—ฐ์† ํ•จ์ˆ˜(1-Lipschiz continuous function)๋กœ ๋งŒ๋“ฆ์œผ๋กœ์จ ์ œ์•ฝ์„ ๊ฐ€ํ•œ๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด 1-๋ฆฝ์‹œ์ธ  ์—ฐ์† ํ•จ์ˆ˜๊ฐ€ ๋ฌด์—‡์ผ๊นŒ? ์šฐ์„  1-๋ฆฝ์‹œ์ธ  ์ œ์•ฝ์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ์•„๋ณด์ž. ์•„๋ž˜ ์ˆ˜์‹์—์„œ $D$ ํ•จ์ˆ˜๋Š” ํŒ๋ณ„์ž ๋ชจ๋ธ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‘ ์ž„์˜์˜ ์ž…๋ ฅ ์ด๋ฏธ์ง€ $x_1, x_2$์— ๋Œ€ํ•ด ์•„๋ž˜ ๋ถ€๋“ฑ์‹์„ ๋งŒ์กฑํ•˜๊ฒŒ ๋˜๋ฉด $D$ ํ•จ์ˆ˜๋ฅผ 1-๋ฆฝ์‹œ์ธ ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

 

ํŒ๋ณ„์ž์—์„œ 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. ์™€์„œ์Šคํ…Œ์ธ ์†์‹ค ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉ
  2. ์ง„์งœ ์ด๋ฏธ์ง€์—๋Š” ๋ ˆ์ด๋ธ” 1์„, ๊ฐ€์งœ ์ด๋ฏธ์ง€์—๋Š” ๋ ˆ์ด๋ธ” -1์„ ์‚ฌ์šฉํ•ด ํ•™์Šต
  3. ํŒ๋ณ„์ž์˜ ๋งˆ์ง€๋ง‰ ๋ ˆ์ด์–ด์—๋Š” ์‹œ๊ทธ๋ชจ์ด๋“œ ํ™œ์„ฑํ•จ์ˆ˜๋ฅผ ๊ฑท์–ด๋‚ด๊ธฐ
  4. ๋งค ํ•™์Šต ์‹œ ํŒ๋ณ„์ž์˜ ๊ธฐ์šธ๊ธฐ๋ฅผ ํด๋ฆฌํ•‘
  5. ์ƒ์„ฑ์ž๋ฅผ ํ•œ ๋ฒˆ ํ•™์Šตํ•  ๋•Œ, ํŒ๋ณ„์ž๋Š” 5๋ฒˆ ํ•™์Šต์„ ์ง„ํ–‰

์™€์„œ์Šคํ…Œ์ธ ์†์‹คํ•จ์ˆ˜์™€ ๋ฆฝ์‹œ์ธ  ์ œ์•ฝ์„ ์œ„ํ•œ ๊ฐ€์ค‘์น˜ ํด๋ฆฌํ•‘์ด ์ ์šฉ๋œ WGAN ํ•™์Šต ์ฝ”๋“œ๋Š” ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฐธ๊ณ ๋กœ WGAN์—์„œ๋Š” ์ผ๋ฐ˜์ ์ธ GAN ๋ณด๋‹ค ๋” ์ž‘์€ ํ•™์Šต๋ฅ ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค๊ณ  ํ•œ๋‹ค.

 

ํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ WGAN๋„ ๋‹จ์ ์ด ์กด์žฌํ•˜๋Š”๋ฐ, ๋ฐ”๋กœ ๋ฆฝ์‹œ์ฆˆ ์ฒด์•ฝ์„ ๋‘๊ธฐ ์œ„ํ•ด์„œ ํŒ๋ณ„์ž์˜ ๊ฐ€์ค‘์น˜๋ฅผ ๋„ˆ๋ฌด ์ž์ฃผ ํด๋ฆฌํ•‘ํ•˜๋Š” ๊ฒƒ ๋•Œ๋ฌธ์— ํ•™์Šต ์†๋„๊ฐ€ ํฌ๊ฒŒ ๊ฐ์†Œํ•œ๋‹ค๋Š” ์ ์ด๋‹ค. ์‹ค์ œ๋กœ WGAN ๋…ผ๋ฌธ์˜ ์ €์ž๋„ ์ง์ ‘์ ์œผ๋กœ ๋ฆฝ์‹œ์ธ  ์ œ์•ฝ์„ ๋‘๊ธฐ ์œ„ํ•ด ๊ฐ€์ค‘์น˜ ํด๋ฆฌํ•‘์„ ํ•˜๋Š” ๊ฒƒ์ด ๋‚˜์œ ๋ฐฉ๋ฒ•์ด๋ผ๊ณ  ์ด์•ผ๊ธฐํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๋ ‡๋‹ค๊ณ  ํŒ๋ณ„์ž์˜ ๊ฐ€์ค‘์น˜ ํด๋ฆฌํ•‘์„ ํฌ๊ธฐํ•  ์ˆ˜๋Š” ์—†๋‹ค. ์™œ๋ƒํ•˜๋ฉด WGAN์—์„œ๋Š” ํŒ๋ณ„์ž์˜ ์ข‹์€ ์„ฑ๋Šฅ์ด ์„ฑ๊ณต์˜ ํ•ต์‹ฌ์ด๊ณ  ํŒ๋ณ„์ž์˜ ์ •ํ™•ํ•œ ๊ธฐ์šธ๊ธฐ ๊ฐ’์ด ์•„๋‹ˆ๋ผ๋ฉด ์ƒ์„ฑ์ž๊ฐ€ ๋” ์ข‹์€ ์ƒ˜ํ”Œ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๊ธฐ์šธ๊ธฐ ๊ฐ’์„ ์–ด๋–ป๊ฒŒ ๋ฐ”๊พธ์–ด์•ผ ํ• ์ง€ ํ•™์Šตํ•  ์ˆ˜ ์—†๊ฒŒ ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

๊ทธ๋ž˜์„œ ๊ฐ€์ค‘์น˜ ํด๋ฆฌํ•‘์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด์„œ ๋ฆฝ์‹œ์ธ  ์ œ์•ฝ์„ ๋‘๋Š” ๋ฐฉ๋ฒ•์ด ๋“ฑ์žฅํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ ๊ทธ๊ฒƒ์ด ๋ฐ”๋กœ WGAN-GP์ด๋‹ค.

6. ๊ธฐ์šธ๊ธฐ ํŒจ๋„ํ‹ฐ(Gradient Penalty) ํ•ญ์„ ์†์‹คํ•จ์ˆ˜์— ์ถ”๊ฐ€ํ•˜์ž: WGAN-GP

WGAN-GP๋Š” ๊ฐ€์ค‘์น˜ ํด๋ฆฌํ•‘์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋ฆฝ์‹œ์ธ  ์ œ์•ฝ์„ ๋‘๊ธฐ ์œ„ํ•ด์„œ ์†์‹คํ•จ์ˆ˜์— ๊ธฐ์šธ๊ธฐ ํŒจ๋„ํ‹ฐ ํ•ญ์„ ์ถ”๊ฐ€ํ•œ๋‹ค. ๋‹จ, ์ด๋Ÿฌํ•œ ๊ธฐ์šธ๊ธฐ ํŒจ๋„ํ‹ฐ ํ•ญ์„ ์ƒ์„ฑ์ž๊ฐ€ ์•„๋‹Œ ํŒ๋ณ„์ž์˜ ์†์‹คํ•จ์ˆ˜์—๋งŒ ์ ์šฉํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ๋ฐ”๋กœ ์œ„์—์„œ ๋ฐฐ์šด WGAN๊ณผ ๋‹ค๋ฅธ ์ ๋“ค์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

  • ํŒ๋ณ„์ž ๋ชจ๋ธ์˜ ์†์‹ค ํ•จ์ˆ˜์— ๊ธฐ์šธ๊ธฐ ํŒจ๋„ํ‹ฐ ํ•ญ์„ ํฌํ•จ
  • ํŒ๋ณ„์ž ๋ชจ๋ธ์˜ ๊ธฐ์šธ๊ธฐ๋ฅผ ํด๋ฆฌํ•‘ํ•˜์ง€ ์•Š์Œ
  • ํŒ๋ณ„์ž ๋ชจ๋ธ์— ๋ฐฐ์น˜ ์ •๊ทœํ™” ์ธต์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ

๊ทธ๋Ÿฌ๋ฉด ์ด์ œ ๊ตฌ์ฒด์ ์œผ๋กœ ํŒ๋ณ„์ž ๋ชจ๋ธ์— ๊ธฐ์šธ๊ธฐ ํŒจ๋„ํ‹ฐ ํ•ญ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ๊ธฐ๋ณธ์ ์œผ๋กœ ํŒ๋ณ„์ž ๋ชจ๋ธ ๊ธฐ์šธ๊ธฐ์˜ L2 Norm์ด 1์—์„œ ํฌ๊ฒŒ ๋ฒ—์–ด๋‚  ๋•Œ ๋ชจ๋ธ์— ํŒจ๋„ํ‹ฐ๋ฅผ ๋ถ€๊ณผํ•˜๋Š” ํ•ญ์„ ์†์‹คํ•จ์ˆ˜์— ํฌํ•จ์‹œํ‚จ๋‹ค. WGAN-GP์˜ ํŒ๋ณ„์ž ๋ชจ๋ธ์˜ ํ•™์Šต ๊ณผ์ •์„ ๋„์‹ํ™”ํ•ด๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

WGAN-GP์˜ ํŒ๋ณ„์ž ํ•™์Šต ๊ณผ์ •

 

WGAN-GP์˜ ํŒ๋ณ„์ž ๋ชจ๋ธ์€ 2๊ฐœ์˜ ์†์‹ค ํ•จ์ˆ˜์™€ ํ•˜๋‚˜์˜ ํŒจ๋„ํ‹ฐ ํ•ญ(Scalar ๊ฐ’)๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ๋จผ์ € 2๊ฐœ์˜ ์†์‹คํ•จ์ˆ˜๋Š” ์ง„์งœ ์ด๋ฏธ์ง€์™€ ๊ฐ€์งœ ์ด๋ฏธ์ง€ ๊ฐ๊ฐ์— ๋Œ€ํ•œ ์™€์„œ์Šคํ…Œ์ธ ์†์‹ค 2๊ฐœ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•˜๋‚˜์˜ ํŒจ๋„ํ‹ฐํ•ญ์€ ์ง„์งœ ์ด๋ฏธ์ง€์™€ ๊ฐ€์งœ ์ด๋ฏธ์ง€ ๊ฐ ์ผ๋ถ€ ํŠน์„ฑ์„ ํ•ฉ์ณ๋†“์€ ์ผ๋ช… '๋ณด๊ฐ„๋œ ์ด๋ฏธ์ง€'๋ฅผ ํŒ๋ณ„์ž์˜ ๋ชจ๋ธ์— ๋„ฃ์–ด ์˜ˆ์ธกํ•œ ํ›„ ์–ป๊ฒŒ ๋˜๋Š” ๊ธฐ์šธ๊ธฐ๋ฅผ ํ™œ์šฉํ•œ ๊ทธ๋ ˆ๋””์–ธํŠธ ํŒจ๋„ํ‹ฐ ํ•ญ์ด๋‹ค. ์ด ๋•Œ, ๊ธฐ์šธ๊ธฐ ํŒจ๋„ํ‹ฐ ํ•ญ์„ ๊ณ„์‚ฐํ•˜๋Š” ์‹์€ ๋ณด๊ฐ„๋œ ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ์˜ˆ์ธก์˜ ๊ธฐ์šธ๊ธฐ L2 Norm๊ณผ 1 ์‚ฌ์ด์˜ ์ฐจ์ด๋ฅผ ์ œ๊ณฑ(${({{L2\ Norm}_{gradient}} - 1})^2$)ํ•œ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ ˆ๋””์–ธํŠธ ํŒจ๋„ํ‹ฐ ํ•ญ์„ ๊ณ„์‚ฐํ•˜๋Š” ๊ตฌ์ฒด์ ์ธ ์ˆ˜์‹์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.(pytorch ์ฝ”๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑํ•˜์˜€๋‹ค)

 

 

ํŒ๋ณ„์ž ๋ชจ๋ธ์€ ์œ„์™€ ๊ฐ™์€ Scalar ํ˜•ํƒœ์˜ ๊ทธ๋ ˆ๋””์–ธํŠธ ํŒจ๋„ํ‹ฐ ํ•ญ์„ ์ตœ์†Œํ™”ํ•˜๋Š” ๊ฐ€์ค‘์น˜๋ฅผ ์ฐพ์œผ๋ ค๊ณ  ํ•™์Šตํ•˜๊ฒŒ ๋˜๊ณ  ์ด๊ฒƒ์ด ๊ฒฐ๊ตญ ๋ฆฝ์‹œ์ธ  ์ œ์•ฝ์„ ๋”ฐ๋ฅด๋„๋ก ๋งŒ๋“ ๋‹ค.

 

ํ•˜์ง€๋งŒ ๊ธฐ์šธ๊ธฐ ํŒจ๋„ํ‹ฐ ํ•ญ์„ ๊ณ„์‚ฐํ•  ๋•Œ ๋ชจ๋“  ๊ฐ€์ค‘์น˜์˜ ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒƒ์€ ๋„ˆ๋ฌด ์—ฐ์‚ฐ๋Ÿ‰์ด ๋งŽ๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ WGAN-GP๋Š” ์ผ๋ถ€ ์ง€์ ์—์„œ๋งŒ ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค. 

 

๊ทธ๋ฆฌ๊ณ  ์œ„ ๊ทธ๋ฆผ์—์„œ '๋ณด๊ฐ„๋œ ์ด๋ฏธ์ง€'์— ๋Œ€ํ•ด์„œ๋„ ์•ฝ๊ฐ„ ๋‚ฏ์„ค๊ฒŒ ๋Š๊ปด์งˆ ์ˆ˜ ์žˆ๋‹ค. ๋ง ๊ทธ๋Œ€๋กœ ๋ณด๊ฐ„๋œ ์ด๋ฏธ์ง€๋Š” ์ง„์งœ ์ด๋ฏธ์ง€์™€ ๊ฐ€์งœ ์ด๋ฏธ์ง€์˜ ์ผ๋ถ€ ํŠน์„ฑ๋งŒ ๊ฐ€์ ธ์™€ ํ•ฉ์นœ ๊ฒƒ์ธ๋ฐ, ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ๋žŒ์˜ ๋ˆˆ์œผ๋กœ ์ง๊ด€์ ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋Š” 2์ฐจ์› ์„ ์˜ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜์‹œ์ผฐ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ๊ทธ๋Ÿด ๋•Œ, ๋ณด๊ฐ„๋œ ์ด๋ฏธ์ง€๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ๋งŒ๋“ค๊ฒŒ ๋œ๋‹ค.

 

๋ณด๊ฐ„๋œ ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ 2์ฐจ์› ์„  ํ˜•ํƒœ๋กœ ๋‚˜ํƒ€๋‚ธ ๊ทธ๋ฆผ

 

๋งˆ์ง€๋ง‰์œผ๋กœ WGAN-GP์—์„œ๋Š” ํŒ๋ณ„์ž ๋ชจ๋ธ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ ˆ์ด์–ด์— ๋ฐฐ์น˜ ์ •๊ทœํ™” ๋ ˆ์ด์–ด๋ฅผ ํฌํ•จ์‹œํ‚ค์ง€ ์•Š๋Š”๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๋ฐฐ์น˜ ์ •๊ทœํ™” ๋ ˆ์ด์–ด๋Š” ๊ฐ™์€ ๋ฐฐ์น˜ ์•ˆ์˜ ์ด๋ฏธ์ง€ ์‚ฌ์ด์— ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์šธ๊ธฐ ํŒจ๋„ํ‹ฐ ์†์‹ค์˜ ํšจ๊ณผ๊ฐ€ ๋–จ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์‹ค์ œ๋กœ WGAN-GP์—์„œ ํŒ๋ณ„์ž ๋ชจ๋ธ์˜ ๊ตฌ์กฐ์—์„œ ๋ฐฐ์น˜ ์ •๊ทœํ™” ๋ ˆ์ด์–ด๋“ค ๋ชจ๋‘ ์ œ์™ธ์‹œํ‚ค๋”๋ผ๋„ ํ›Œ๋ฅญํ•œ ํ€„๋ฆฌํ‹ฐ์˜ ๊ฐ€์งœ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

๋์œผ๋กœ WGAN-GP๋ฅผ ๊ตฌํ˜„ํ•œ ์ฝ”๋“œ๋Š” ์—ฌ๊ธฐ์„œ ํ™•์ธํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค. 


์ด๋ ‡๊ฒŒ ๊นŒ์ง€ ํ•ด์„œ GAN์˜ ๊ธฐ๋ณธ์ ์ธ ์ด๋ก ์„ ์ดํ•ดํ•˜๊ณ  ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•ด๋ณด์•˜๋‹ค. ๋” ๋‚˜์•„๊ฐ€ GAN์˜ ํ•œ๊ณ„์ ์„ ๊ทน๋ณตํ•˜๋Š” WGAN, WGAN-GP์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ  ์ฝ”๋“œ ๊ตฌํ˜„๊นŒ์ง€ ํ•ด๋ณด์•˜๋‹ค. ๋‹ค์Œ ๋ชฉ์ฐจ๋ถ€ํ„ฐ๋Š” ์ง€๊ธˆ๊นŒ์ง€ ๋ฐฐ์šด ์ƒ์„ฑ ๋ชจ๋ธ๋ง ์ด๋ก ๋“ค์„ ๊ฐ€์ง€๊ณ  ์‘์šฉํ•˜์—ฌ ํŠน์ •ํ•œ ์ž‘์—…์— ์‘์šฉํ•ด๋ณด๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋ฐฐ์›Œ๋ณด์ž.

๋ฐ˜์‘ํ˜•