๐Ÿฑ Project/2021Captone : Cycle GAN Web

Cycle GAN ์ •๋ฆฌ #2

์ง€ ์› 2022. 1. 14. 18:40

Training Details

1. Generator G

U-Net ์€ ์ฒ˜์Œ์˜ detail ์ด ๋ฐ”๋กœ ๋งˆ์ง€๋ง‰๊นŒ์ง€ ์ „๋‹ฌ ๊ฐ€๋Šฅ → detail ๊ฐ„์ง์ด ์ž˜ ๋œ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Œ. ๊ทธ๋Ÿฌ๋‚˜, ๋‘ data set(๊ทธ๋ฆผ - ์‚ฌ์ง„ ; ๋น„์Šทํ•˜๋‹ค๊ณ  ๋ด„) ์ด ๋น„์Šทํ•œ ๊ฒฝ์šฐ์—๋Š” skip connection์„ ๋งŽ์ด ์‚ฌ์šฉ ํ•˜๋ ค๊ณ  ํ•จ(๊ณ ํ•ด์ƒ๋„๋ฅผ ์œ„ํ•ด). skip connection ์—๋Š” depth๊ฐ€ ๋งŽ์ด ์—†์Œ. → ์ƒ์„ฑ๋˜๋Š” ๊ฒฐ๊ณผ๋ฌผ์ด ๋ณ„๋กœ ๋งŒ์กฑ ์Šค๋Ÿฝ์ง€ ๋ชปํ•จ.

 

U-NET ์˜ ๊ตฌ์กฐ

 

์œ„์˜ ๋‹จ์ ์„ ๊ทน๋ณต ํ•ด ๋‚ผ ์ˆ˜ ์žˆ๋Š” ResNet์„ ์‚ฌ์šฉ

depth๊ฐ€ ์žˆ์œผ๋ฉด์„œ, detail์„ ๊ฐ„์ง ํ•  ์ˆ˜ ์žˆ์Œ. ์ด๋ฏธ์ง€์˜ ํ€„๋ฆฌํ‹ฐ๋ฉด์—์„œ ๊ฐ€์žฅ ์ข‹์€ ๊ฒฐ๊ณผ๋ฌผ์„ ๋ƒ„

 

๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋งŽ์ด ์‚ฌ์šฉ → ์ƒ์„ฑ ํ•  ์ˆ˜ ์žˆ๋Š” parameter ์ˆ˜๊ฐ€ ์ ์Œ ⇒ ๋งŽ์€ ํ˜•ํƒœ ๋ณ€ํ™”๋ฅผ ๋งŒ๋“ค์–ด ๋‚ผ ์ˆ˜ ์—†๋Š” ๋‹จ์  ์กด์žฌ

  • Both have skip connections
  • ResNET : fewer parameters better for ill-posed problems

 

2. Objective

GANs with cross-entropy loss

์›๋ž˜ GAN์˜ Loss ๋Š” gradient ๊ฐ€ flatํ•ด์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— training ํ•˜๊ธฐ ์–ด๋ ค์›€

 

→ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์กฐ๊ธˆ ๋ณ€ํ˜•๋œ GAN ์‚ฌ์šฉ

 

 

Least square GANs [Mao et al. 2016]

⇒ Stable training + better results

 

 


Combine with as much L1 loss as possible

 

  • L1 loss as a stable guiding force in GAN training

→ ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๊ฐ€์งœ L1 loss ๋ฅผ ๋„ฃ์œผ๋ฉด ํ›ˆ๋ จ์ด ๋” ์‰ฌ์› ์Œ

+ ์žˆ์œผ๋ฉด ์กฐ๊ธˆ ๋” ๋„์›€์ด ๋˜๋Š” Loss (๋ถ€๊ฐ€์ ์ธ Loss) : ๊ฒฐ๊ณผ๋ฌผ๋กœ ๋‚˜์™€์•ผ ํ•˜๋Š” ๊ฒƒ์„ ๋„ฃ์—ˆ์„ ๋•Œ ๊ทธ ์‚ฌ์ง„์—์„œ ์•„๋ฌด๊ฒƒ๋„ ์•ˆ๋ฐ”๋€Œ๊ฒŒ!

⇒ Loss ๊ฐ€ ์ถ”๊ฐ€ ๋๊ธฐ ๋•Œ๋ฌธ์— formulation์ด ์กฐ๊ธˆ ๋” ๋ณต์žกํ•ด์ง€๊ณ , ์„ฑ๋Šฅ์ด ๋Š๋ ค์ง€๊ธด ํ•จ.

(ex. ๋ง → ์–ผ๋ฃฉ๋ง , fake ๋ง → ์–ผ๋ฃฉ๋ง , ์–ผ๋ฃฉ๋ง → ์–ผ๋ฃฉ๋ง )

 

 

 

 

3. reply buffer

: because the discriminators can take very different trajectories in training

 

Discriminator ์˜ Loss = Generator

Generator์˜ Loss = Discriminator

→ ํ›ˆ๋ จ์ด ๋ถˆ์•ˆ์ •ํ•จ

 

 

solution

  • discriminator ๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ์ƒ์„ฑํ•œ ํ›„ generator์—๊ฒŒ ๋ณด์—ฌ์คŒ ⇒ ๋” ์•ˆ์ •์ ์œผ๋กœ ์ง„ํ–‰์ด ๊ฐ€๋Šฅ. ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋” ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๋‹จ์ ์ด ์กด์žฌ. Cycle GAN ์€ G,F๊ฐ€ ๊ฐ๊ฐ 2๊ฐœ์˜ Discriminator ๋ฅผ ๊ฐ€์ ธ์„œ ์ด๋ฏธ 4๊ฐœ์˜ Network ์‚ฌ์šฉ.

⇒ ๊ทธ๋ž˜์„œ ๋‹ค๋ฅธ ๋ฐฉ์•ˆ์œผ๋กœ reply buffer ์‚ฌ์šฉ

 

 

: ์ด์ „์˜ Generator๊ฐ€ ์ƒ์„ฑํ•œ ๊ฒฐ๊ณผ๋ฌผ์„ ์ฃผ๊ธฐ์ ์œผ๋กœ discriminator์—๊ฒŒ ๋ณด์—ฌ์คŒ. ์ด์ „์— Generator๊ฐ€ ์–ด๋–ป๊ฒŒ ํ–‰๋™ํ–ˆ๋Š”์ง€๋„ ๋ฐ˜์˜์ด ๋จ.


Cycle GAN ์˜ ํ•œ๊ณ„์ 

  • ๋ชจ์–‘ ์ž์ฒด๋ฅผ ๋ฐ”๊พธ์ง€๋Š” ๋ชปํ•จ.
  • data set ์ด ๋น„์Šทํ•ด์•ผ ๊ฒฐ๊ณผ๋ฌผ์˜ ์™„์„ฑ๋„๊ฐ€ ์˜ฌ๋ผ๊ฐ.

 

ํ™œ์šฉ์˜ˆ์ œ

  • ์‚ฌ์ง„์„ ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์œผ๋กœ, ๊ทธ๋ž˜ํ”ฝ์„ ์‚ฌ์ง„์œผ๋กœ ⇒ ์ž์œจ์ฃผํ–‰์ž๋™์ฐจ์— ํ™œ์šฉ

+์‚ฌ์ง„์ด ์•„๋‹ˆ๋ผ ์–ธ์–ด์—๋„ ์ ์šฉ ๊ฐ€๋Šฅ → ๋‹ค๋ฅธ ๋…ผ๋ฌธ

 

โ“ imagenet → image database ์‚ฌ์šฉ

 

โ“ Cycle GAN์„ ํ•™์Šต ํ•  ๋•Œ data set ์˜ ๋‹ค์–‘์„ฑ์ด ์ข‹์•„์•ผํ•จ. (๊ฐ™์€ ํ”ผ์‚ฌ์ฒด ๊ฐ™์€ ๊ตฌ๋„๋ณด๋‹ค ๋‹ค์–‘ํ•œ๊ฒŒ ํ•„์š”)

๋ณดํ†ต 1000์žฅ ์ •๋„ ์‚ฌ์šฉํ–ˆ์Œ. 400~500์ •๋„ ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ–ˆ์Œ.

GAN์˜ ๊ฒฝ์šฐ์—๋Š” ์‚ฌ์ง„์˜ ์ˆ˜๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ์ค‘์š”ํ•˜์ง€ ์•Š์Œ.

์‚ฌ์ง„์ด 1์žฅ์ด์–ด๋„ ์‚ฌ์ง„์˜ ๋ถ€๋ถ„์œผ๋กœ ํ›ˆ๋ จ์„ ์ง„ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์—(๊ทธ ์œ„์— ๋„คํŠธ์›Œํฌ ๋ญ,, ํŒจ์น˜ ๋‹จ์œ„๋กœ ํ›ˆ๋ จ ์ง„ํ–‰) 1์žฅ ์ด์ƒ์˜ ์‚ฌ์ง„์œผ๋กœ ํ›ˆ๋ จํ•˜๋Š” ํšจ๊ณผ๋ฅผ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ์Œ.

 

โ“ 500x500pixel 1์ดˆ์— 10์žฅ ์ •๋„ ์ƒ์„ฑ ํ•  ์ˆ˜ ์žˆ์Œ (๋‹จ, ์ข‹์€ ํ™˜๊ฒฝ์—์„œ...)

์ด๊ฒƒ์„ ์Šค๋งˆํŠธํฐ์ด๋‚˜ ๋‹ค๋ฅธ ๊ธฐ๊ธฐ์—์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ณด์ด๊ฒŒ ํ•˜๋Š” ๊ฒƒ์€ ๋‹ค๋ฅธ ๊ธฐ์ˆ ์ด ํ•„์š”ํ•จ. ํ˜„์žฌ๋Š” ์–ด๋ ค์›€. (์˜์ƒ ๊ธฐ์ค€ ํ˜„์žฌ : 2017)