n434. GAN

ssu_hyunยท2021๋…„ 11์›” 15์ผ
0

[codestates] AI Bootcamp

๋ชฉ๋ก ๋ณด๊ธฐ
48/62

๐Ÿ† ํ•™์Šต๋ชฉํ‘œ

  • GAN์˜ ๋Œ€๋ฆฝ์ ์ธ ์˜๋ฏธ๋ฅผ ์ดํ•ดํ•œ๋‹ค.
  • DCGAN์˜ Latent ๊ฐœ๋…๊ณผ ๊ทธ ์—ฐ์‚ฐ์— ๋Œ€ํ•ด์„œ ์ดํ•ดํ•œ๋‹ค.
  • CycleGAN์˜ ๊ฐœ๋…์„ ์ดํ•ดํ•œ๋‹ค.



1. ์ƒ์„ฑ์  ๋Œ€๋ฆฝ ์‹ ๊ฒฝ๋ง(GAN, Generative Adversarial Network)

  • ์ƒ์„ฑ์ž(generator)์™€ ์‹๋ณ„์ž(discriminator)๊ฐ€ ์„œ๋กœ ๊ฒฝ์Ÿ(Adversarial)ํ•˜๋ฉฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑ(Generative)ํ•˜๋Š” ๋ชจ๋ธ(Network)
  • ์ƒ์„ฑ์ž๋Š” ์ ์ฐจ ์‹ค์ œ๊ฐ™์€ ์ด๋ฏธ์ง€๋ฅผ ๋” ์ž˜ ์ƒ์„ฑํ•˜๊ฒŒ ๋˜๊ณ , ๊ตฌ๋ถ„์ž๋Š” ์ ์ฐจ ์ง„์งœ์™€ ๊ฐ€์งœ๋ฅผ ๋” ์ž˜ ๊ตฌ๋ณ„(์ด์ง„ ๋ถ„๋ฅ˜)ํ•˜๊ฒŒ๋˜๋ฉด์„œ ์„œ๋กœ ๋Œ€๋ฆฝํ•˜๋ฉฐ(Adversarial:๋Œ€๋ฆฝํ•˜๋Š”) ์„œ๋กœ์˜ ์„ฑ๋Šฅ์„ ์ ์ฐจ ๊ฐœ์„ ํ•ด ๋‚˜๊ฐ€๋Š” ์ชฝ์œผ๋กœ ํ•™์Šต์ด ์ง„ํ–‰๋œ๋‹ค. Descriminator๊ฐ€ ๊ฐ€์งœ ์ด๋ฏธ์ง€์—์„œ ์ง„์งœ ์ด๋ฏธ์ง€๋ฅผ ๋”์ด์ƒ ๊ตฌ๋ณ„ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ๋ ๋•Œ, ํ‰ํ˜•์ƒํƒœ์— ๋„๋‹ฌํ•œ๋‹ค.



1.1 ๊ตฌ์กฐ์™€ ์›๋ฆฌ

  • autoencoder๋ฅผ ์ค‘์‹ฌ๋ถ€ํ„ฐ ๋ฐ”๊นฅ์ชฝ์œผ๋กœ ๋’ค์ง‘์–ด ๋‘” ๊ตฌ์กฐ

  • Generator(์ƒ์„ฑ์ž) : ์ƒ์„ฑ๋œ z๋ฅผ ๋ฐ›์•„ ์‹ค์ œ ๋ฐ์ดํ„ฐ์™€ ๋น„์Šทํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๋„๋ก ํ•™์Šต
  • Discriminator(๊ตฌ๋ถ„์ž) : ์‹ค์ œ ๋ฐ์ดํ„ฐ์™€ ์ƒ์„ฑ์ž๊ฐ€ ์ƒ์„ฑํ•œ ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ณ„ํ•˜๋„๋ก ํ•™์Šต

    => Generator๋Š” ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํฌ(distribution)๋ฅผ ์•Œ์•„๋‚ด๋„๋ก ํ•™์Šตํ•œ๋‹ค. ์ด ๋ถ„ํฌ๋ฅผ ์žฌํ˜„ํ•˜์—ฌ ์› ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํฌ์™€ ์ฐจ์ด๊ฐ€ ์—†๋„๋ก ํ•˜๊ณ  Discriminator๋Š” ์‹ค๋ฐ์ดํ„ฐ์ธ์ง€ ๊ฐ€์งœ ๋ฐ์ดํ„ฐ์ธ์ง€ ๊ตฌ๋ณ„ํ•ด์„œ ๊ฐ๊ฐ์— ๋Œ€ํ•œ ํ™•๋ฅ ์„ ์ถ”์ •ํ•œ๋‹ค.=> Generator๋Š” ๋งจ ์œ„์˜ ์ˆ˜์‹์„ '์ตœ์†Œํ™”'์‹œํ‚ค๋Š” ๋ฐฉํ–ฅ์œผ๋กœ, Discriminator๋Š” '์ตœ๋Œ€ํ™”'ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐ€๊ฒŒํ•˜๋Š” minmax Problem

์‹ค์ œ ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํฌ์— ๊ฐ€๊นŒ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด GAN์ด ๊ฐ€์ง„ ๊ถ๊ทน์ ์ธ ๋ชฉํ‘œ์ด๋ฉฐ, ์ƒ์„ฑ์ž(Generator)๋Š” ๊ตฌ๋ถ„์ž(Discriminator)๊ฐ€ ๊ฑฐ์ง“์œผ๋กœ ํŒ๋ณ„ํ•˜์ง€ ๋ชปํ•˜๋„๋ก ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋ฅผ ์ง„์งœ ๋ฐ์ดํ„ฐ์™€ ๊ฐ€๊น๊ฒŒ ์ƒ์„ฑํ•˜๋„๋ก ๋…ธ๋ ฅํ•œ๋‹ค. ์ด ๊ณผ์ •์„ ํ†ตํ•ด ์ƒ์„ฑ์ž(Generator)์™€ ๊ตฌ๋ถ„์ž(Discriminator)์˜ ์„ฑ๋Šฅ์ด ์ ์ฐจ ๊ฐœ์„ ๋˜๊ณ  ๊ถ๊ทน์ ์œผ๋กœ๋Š” ๊ตฌ๋ถ„์ž(Discriminator)๊ฐ€ ์‹ค์ œ ๋ฐ์ดํ„ฐ์™€ ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ๋‹ค.




CycleGAN (Cycle-Consistent Adversarial Networks)

  • DC Gan๊ณผ ๋‹ฌ๋ฆฌ CycleGan์€ ์ง(pair)์„ ์ด๋ฃจ๋Š” ์ž…์ถœ๋ ฅ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€