Artificial Intelligence/Studying

[Hands-on] Ch17-9 (2) GAN ๋ชจ๋ธ

geum 2021. 8. 2. 11:09

 

DCGAN

๊นŠ์€ ํ•ฉ์„ฑ๊ณฑ(Deep Convolution) ์ธต์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํฐ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ GAN

 

1) Guideline

โ—ฝ ํŒ๋ณ„์ž์˜ ํ’€๋ง ์ธต → stride convolution์œผ๋กœ ๊ต์ฒด

โ—ฝ ์ƒ์„ฑ์ž์˜ ํ’€๋ง ์ธต → fractional-strided convolution์œผ๋กœ ๊ต์ฒด

โ—ฝ ์ƒ์„ฑ์ž์˜ ์ถœ๋ ฅ์ธต๊ณผ ํŒ๋ณ„์ž์˜ ์ž…๋ ฅ์ธต์„ ์ œ์™ธํ•œ ๋ชจ๋“  ์ธต์— Batch Normalization ์ ์šฉ

โ—ฝ ์ธต์„ ๊นŠ๊ฒŒ ์Œ“๊ธฐ ์œ„ํ•ด ์™„์ „ ์—ฐ๊ฒฐ ์€๋‹‰์ธต ์ œ๊ฑฐ

โ—ฝ tanh ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ถœ๋ ฅ์ธต์„ ์ œ์™ธํ•˜๊ณ  ์ƒ์„ฑ์ž์˜ ๋ชจ๋“  ์ธต์— ReLU ํ™œ์„ฑํ™” ํ•จ์ˆ˜ ์ ์šฉ

โ—ฝ ํŒ๋ณ„์ž์˜ ๋ชจ๋“  ์ธต์— LeakyReLU ํ™œ์„ฑํ™” ํ•จ์ˆ˜ ์‚ฌ์šฉ 

 

2) ํ•œ๊ณ„

DCGAN์œผ๋กœ ๋งค์šฐ ํฐ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•  ๊ฒฝ์šฐ ํŠน์ง•์€ ๊ตฌ๋ถ„๋˜์ง€๋งŒ ์ „๋ฐ˜์ ์œผ๋กœ ์ผ๊ด€์„ฑ ์—†๋Š” ์ด๋ฏธ์ง€๋ฅผ ์–ป์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Œ

ex) ํ•œ ์ชฝ ์†Œ๋งค๊ฐ€ ๋” ๊ธด ์…”์ธ  - ์…”์ธ ์ž„์€ ํ™•์ธ๋˜์ง€๋งŒ ํ˜•ํƒœ๊ฐ€ ์™„์ „ํžˆ ์ผ์น˜ํ•˜์ง€ ์•Š์Œ

 

 

ProGAN Progressive growing GAN

์ž‘์€ ์ด๋ฏธ์ง€๋ฅผ ํ›ˆ๋ จ ์ดˆ๊ธฐ์— ์ƒ์„ฑํ•˜๊ณ  ์ƒ์„ฑ์ž์™€ ํŒ๋ณ„์ž์— ์ ์ง„์ ์œผ๋กœ ํ•ฉ์„ฑ๊ณฑ ์ธต์„ ์ถ”๊ฐ€ํ•˜๋ฉด์„œ ํฐ ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

 

 

๋ชจ๋“œ ๋ถ•๊ดด ๋ฐฉ์ง€ ๋ฐ ํ›ˆ๋ จ ์•ˆ์ •์„ฑ ์ฆ๊ฐ€ ๊ธฐ๋ฒ•

 

1) ๋ฏธ๋‹ˆ๋ฐฐ์น˜ ํ‘œ์ค€ํŽธ์ฐจ ์ธต ์ถ”๊ฐ€

- ํŒ๋ณ„์ž์˜ ๋งˆ์ง€๋ง‰ ์ธต ๊ทผ์ฒ˜์— ์ถ”๊ฐ€, ์ž…๋ ฅ์— ์žˆ๋Š” ๋ชจ๋“  ์œ„์น˜์— ๋Œ€ํ•ด ๋ชจ๋“  ์ฑ„๋„/๋ฐฐ์น˜/์ƒ˜ํ”Œ์— ๊ฑธ์ณ ํ‘œ์ค€ํŽธ์ฐจ ๊ณ„์‚ฐ

 

* ํ‘œ์ค€ํŽธ์ฐจ S = tf.math.reduce_std(inputs, axis=[0, -1]))

* ํ‘œ์ค€ํŽธ์ฐจ S๋Š” ๋ชจ๋“  ํ”ฝ์…€์— ๋Œ€ํ•ด ํ‰๊ท ํ•œ ํ•˜๋‚˜์˜ ๊ฐ’ V = tf.reduce_mean(S) ์–ป์Œ

 

- ์ถ”๊ฐ€์ ์ธ ํŠน์„ฑ ๋งต์ด ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ฐฐ์น˜์˜ ๋ชจ๋“  ์ƒ˜ํ”Œ์— ์ถ”๊ฐ€๋˜๊ณ  ๊ณ„์‚ฐ๋œ ์ด ๊ฐ’์œผ๋กœ ์ฑ„์›Œ์ง

๐Ÿ™„ '๊ณ„์‚ฐ๋œ ์ด ๊ฐ’'์ด ํ‘œ์ค€ํŽธ์ฐจ์ผ๊นŒ ํ‰๊ท ์ผ๊นŒ ๋‘˜๋‹ค์ผ๊นŒ

 

2) ๋™์ผํ•œ ํ•™์Šต ์†๋„

- He ์ดˆ๊ธฐํ™”(๊ฐ€์ค‘์น˜ ์ดˆ๊ธฐํ™” ๋ฐฉ๋ฒ•) ๋Œ€์‹  ํ‰๊ท ์ด 0์ด๊ณ  ํ‘œ์ค€ํŽธ์ฐจ๊ฐ€ 1์ธ ๊ฐ€์šฐ์‹œ์•ˆ ๋ถ„ํฌ๋ฅผ ์‚ฌ์šฉํ•ด ๋ชจ๋“  ๊ฐ€์ค‘์น˜ ์ดˆ๊ธฐํ™”

- ์ธต์ด ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค He ์ดˆ๊ธฐํ™”์— ์žˆ๋Š” ๋™์ผํ•œ ์ธ์ž๋กœ ๊ฐ€์ค‘์น˜ ์Šค์ผ€์ผ ๋‚ฎ์ถค

- ๊ฐ€์ค‘์น˜ ์ดˆ๊ธฐํ™”์—์„œ ์Šค์ผ€์ผ์„ ๋งž์ถ”์ง€ ์•Š๊ณ  ๋ชจ๋ธ์˜ ํ•œ ๋ถ€๋ถ„์œผ๋กœ ๊ฐ€์ค‘์น˜ ์กฐ์ •

ํ›ˆ๋ จ ๋‚ด๋‚ด ๋ชจ๋“  ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๋‹ค์ด๋‚ด๋ฏน ๋ ˆ์ธ์ง€๋ฅผ ๋™์ผํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์—ญํ• 

 

cf. ๋ณ€์ˆ˜์˜ ๋‹ค์ด๋‚ด๋ฏน ๋ ˆ์ธ์ง€? ๋ณ€์ˆ˜๊ฐ€ ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ํฐ ๊ฐ’๊ณผ ์ž‘์€ ๊ฐ’ ์‚ฌ์ด์˜ ๋น„์œจ

 

3) ํ”ฝ์…€๋ณ„ ์ •๊ทœํ™” ์ธต ์ถ”๊ฐ€

- ์ƒ์„ฑ์ž์˜ ํ•ฉ์„ฑ๊ณฑ ์ธต ๋’ค์— ์ถ”๊ฐ€

- ๋™์ผํ•œ ์ด๋ฏธ์ง€์˜ ๋™์ผ ์œ„์น˜์— ์žˆ๋Š” ๋ชจ๋“  ํ™œ์„ฑํ™”๋ฅผ ์ฑ„๋„์— ๋Œ€ํ•ด ์ •๊ทœํ™”

- ์ƒ์„ฑ์ž์™€ ํŒ๋ณ„์ž ์‚ฌ์ด์˜ ๊ณผ๋„ํ•œ ๊ฒฝ์Ÿ์œผ๋กœ ํ™œ์„ฑํ™” ๊ฐ’์ด ํญ์ฃผํ•˜๋Š” ๊ฒƒ์„ ๋ง‰๊ธฐ ์œ„ํ•œ ๋ชฉ์ 

 

 

StyleGAN

- ์ƒ์„ฑ์ž์— style transfer ๊ธฐ๋ฒ• ์‚ฌ์šฉํ•ด ์ƒ์„ฑ๋œ ์ด๋ฏธ์ง€๊ฐ€ ํ›ˆ๋ จ๋œ ์ด๋ฏธ์ง€์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ํฌ๊ธฐ์˜ ๊ตญ๋ถ€์ ์ธ ๊ตฌ์กฐ ๊ฐ–๋„๋ก ํ•จ

- ์ƒ์„ฑ๋œ ์ด๋ฏธ์ง€์˜ ํ’ˆ์งˆ์„ ๋†’์—ฌ์คŒ

- ํŒ๋ณ„์ž์™€ ์†์‹ค ํ•จ์ˆ˜๋Š” ๊ทธ๋Œ€๋กœ, ์ƒ์„ฑ์ž๋งŒ ๋ณ€๊ฒฝ

- 2๊ฐœ์˜ ๋„คํŠธ์›Œํฌ(๋งคํ•‘ ๋„คํŠธ์›Œํฌ&ํ•ฉ์„ฑ ๋„คํŠธ์›Œํฌ)๋กœ ๊ตฌ์„ฑ

 

โ—ฝ ๋งคํ•‘ ๋„คํŠธ์›Œํฌ : 8๊ฐœ์˜ MLP๊ฐ€ ์ž ์žฌ ํ‘œํ˜„ z๋ฅผ ๋ฒกํ„ฐ w๋กœ ๋งคํ•‘

โ—ฝ ํ•ฉ์„ฑ ๋„คํŠธ์›Œํฌ : ์ด๋ฏธ์ง€ ์ƒ์„ฑ์— ๊ด€์—ฌํ•˜๋Š” ๋„คํŠธ์›Œํฌ

 

 

๋ฏน์‹ฑ ๊ทœ์ œ

- ์Šคํƒ€์ผ ๋ฏน์‹ฑ์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•จ

- ์ผ์ • ๋น„์œจ์˜ ์ด๋ฏธ์ง€๋ฅผ ๋‘ ๊ฐœ์˜ ๋‹ค๋ฅธ ์ฝ”๋”ฉ์œผ๋กœ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋ฒ•