๐Ÿ˜Ž ๊ณต๋ถ€ํ•˜๋Š” ์ง•์ง•์•ŒํŒŒ์นด๋Š” ์ฒ˜์Œ์ด์ง€?

[DEEPNOID ์›ํฌ์ธํŠธ๋ ˆ์Šจ]_9_AutoEncoder & GAN ๋ณธ๋ฌธ

๐Ÿ‘ฉ‍๐Ÿ’ป ์ธ๊ณต์ง€๋Šฅ (ML & DL)/ML & DL

[DEEPNOID ์›ํฌ์ธํŠธ๋ ˆ์Šจ]_9_AutoEncoder & GAN

์ง•์ง•์•ŒํŒŒ์นด 2022. 1. 28. 10:55
728x90
๋ฐ˜์‘ํ˜•

220128 ์ž‘์„ฑ

<๋ณธ ๋ธ”๋กœ๊ทธ๋Š” DEEPNOID ์›ํฌ์ธํŠธ๋ ˆ์Šจ์„ ์ฐธ๊ณ ํ•ด์„œ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค>

https://www.deepnoid.com/

 

์ธ๊ณต์ง€๋Šฅ | Deepnoid

DEEPNOID๋Š” ์ธ๊ณต์ง€๋Šฅ์„ ํ†ตํ•œ ์ธ๋ฅ˜์˜ ๊ฑด๊ฐ•๊ณผ ์‚ถ์˜ ์งˆ ํ–ฅ์ƒ์„ ๊ธฐ์—…์ด๋…์œผ๋กœ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฅ๋…ธ์ด๋“œ๊ฐ€ ๊ฟˆ๊พธ๋Š” ์„ธ์ƒ์€, ์˜๋ฃŒ ์ธ๊ณต์ง€๋Šฅ์ด ์ง€๊ธˆ๋ณด๋‹ค ํ›จ์”ฌ ๋„“์€ ๋ฒ”์œ„์˜ ์งˆํ™˜์˜ ์—ฐ๊ตฌ, ์ง„๋‹จ, ์น˜๋ฃŒ์— ๋„์›€

www.deepnoid.com

 

 

 

 

 

 

 

 

1. AutoEncoder

: ์ฐจ์›์ด ์ถ•์†Œ๋œ ์ž…๋ ฅ๋ฐ์ดํ„ฐ๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ๋น„์Šทํ•œ ๋ฐ์ดํ„ฐ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์„ ๋ฐฐ์›€

: ์ž…๋ ฅ, ์ถœ๋ ฅ ๊ฐ™์€ ๊ตฌ์กฐ

- Encoder

: ์ž…๋ ฅ๊ฐ’์„ ๋ฐ›์•„ ํŠน์ง• ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์‹ ๊ฒฝ๋ง

 

- Decoder

: ํŠน์ง•๊ฐ’์„ ์ถœ๋ ฅ๊ฐ’์„ ๋ณ€ํ™˜ํ•˜๋Š” ์‹ ๊ฒฝ๋ง

 

- Latent Feature

์‹ ๊ฒฝ๋ง ๋‚ด๋ถ€์—์„œ ์ถ”์ถœ๋œ ํŠน์ง•์  ๊ฐ’๋“ค

 

1) Unsupervised learning - ํ•™์Šต๋ฐฉ๋ฒ•

2) MY density estimation - loss ๋Š” neagtive ML ๋กœ ํ•ด์„

3) Manifold learning - ์ธ์ฝ”๋”๋Š” ์ฐจ์› ์ถ•์†Œ ์—ญํ•  ์ˆ˜ํ–‰

: ์›๋ณธ์˜ traing DB ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜ ํ‘œํ˜„ํ•˜๋Š” ์›๋ณธ ๊ณต๊ฐ„์—์„œ์˜ subspace

: ์ž˜ ์ฐพ์€ manifold ์—์„œ projection ์‹œํ‚ค๋ฉด ๋ฐ์ดํ„ฐ ์ฐจ์›์ด ์ถ”์†Œ ๋  ์ˆ˜ ์žˆ์Œ

 

- ์ฐจ์›์˜ ์ €์ฃผ

-> ๋ฐ์ดํ„ฐ ํƒ€์›์ด ์ฆ๊ฐ€ํ• ์ˆ˜๋ก ํ•ด๋‹น ๊ณต๊ฐ„์˜ ํฌ๊ธฐ๊ฐ€ ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์ฆ๊ฐ€

-> ๋™์ผํ•œ ๊ฐœ์ˆ˜์˜ ๋ฐ์ดํ„ฐ ๋ฐ€๋„๋Š” ๊ธ‰์†๋„๋กœ ํฌ๋ฐ•

-> ์ฐจ์›์ด ์ฆ๊ฐ€ํ•˜๋ฉด, ๋ฐ์ดํ„ฐ ๋ถ„ํฌ ๋ถ„์„ or ๋ชจ๋ธ ์ถ”์ •์— ํ•„์š”ํ•œ ์ƒ˜ํ”Œ ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜ ์ฆ๊ฐ€

 

- discover most important feautre

: ํ•™์Šต ๊ฒฐ๊ณผ๋ฅผ ํ‰๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด manifod ์ขŒํ‘œ๋“ค์ด ์กฐ๊ธˆ์”ฉ ๋ณ€ํ•  ๋Œ€ ๋ฐ์ดํ„ฐ๋„ ์œ ์˜๋ฏธํ•˜๊ฒŒ ์กฐ๊ธˆ ๋ณ€ํ•จ์ด ๋ณด์ธ๋‹ค

 

- reasenable distance metrics

: ๊ณ ์ฐจ์› ๊ณต๊ฐ„์—์„œ ๊ฐ€๊นŒ์šด ๋‘ ์ƒ˜ํ”Œ๋“ค์€ ์˜๋ฏธ์ ์œผ๋กœ ๊ต‰์žฅํžˆ ๋‹ค๋ฆ„

: ์˜๋ฏธ์ ์œผ๋กœ ๊ฐ€๊น๋‹ค๊ณ  ์ƒ๊ฐ๋˜๋Š” ๊ณ ์ฐจ์› ๊ณต๊ฐ„์˜ ๋‘ ์ƒ˜ํ”Œ ๊ฐ„๋“ค ๊ฐ„์˜ ๊ฑฐ๋ฆฌ๋Š” ๋จผ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค

 

 

 

 

2. AE ํ•™์Šต ๊ณผ์ •

: Input x ๋ฅผ Encoder Network ์— ํ†ต๊ณผ์‹œ์ผœ ์••์ถ•๋œ Latent Vector z ๋ฅผ ์–ป์Œ

: Loss ๋Š” output์ด input ๊ณผ ์–ผ๋งˆ๋‚˜ ์œ ์‚ฌํ•œ์ง€ ๋น„๊ต

: ์ž…์ถœ๋ ฅ์ด ๋™์ผํ•œ ๋„คํŠธ์›Œํฌ

: output ์„ input์œผ๋กœ ๋ณต์›

 

=> input, output ๊ฐ™๋„๋ก ํ•™์Šตํ•˜๊ธฐ ๋•Œ๋ฌธ์—, Decoder ์€ ์ตœ์†Œํ•œ ํ•™์Šต์— ์‚ฌ์šฉํ•œ ๋ฐ์ดํ„ฐ๋Š” ์ž˜ ์ƒ์„ฑ -> but ์ƒ์„ฑ ๋ฐ์ดํ„ฐ๋Š” ํ•™์Šต๊ณผ ๋น„์Šท

=> Encoder ์€ ์ตœ์†Œํ•œ ํ•™์Šต ๋ฐ์ดํ„ฐ๋Š” latent vector ๋กœ ์ž˜ ํ‘œํ˜„ -> ๋ฐ์ดํ„ฐ ์ถ”์ƒํ™”์— ๋งŽ์ด ์“ฐ์ž„

 

 

 

 

 

3. Generative model

: ๊ธฐ์กด ๋ฐ์ดํ„ฐ ๋ถ„ํฌ์—์„œ sampling ํ•œ ๊ฒƒ ๊ฐ™์€ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ๋งŒ๋“ค๊ธฐ

: want to learn p(model) similar to p(data)

 

1) Variational AutoEncoder (VAE)

: Variational inference ๋ฅผ ์˜คํ†  ์ธ์ฝ”๋”์˜ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ๊ตฌํ˜„ํ•œ ์ƒ์„ฑ์‹ ๊ฒฝ๋ง

: autoencoder ๊ณผ vae ๋Š” ์ „ํ˜€ ๊ด€๊ณ„ ์—†์Œ

: encoder ๋‹จ์„ ํ•™์Šตํ•˜๊ธฐ ์œ„ํ•ด encoder ๋ถ™์ž„

: Generative model

( Autoencoder ์€ encoder ๋‹จ์„ ํ•™์Šตํ•˜๊ธฐ ์œ„ํ•ด decoder ๋‹จ ๋ถ™์ž„, manifold learning ๋ชฉ์ )

 

2) Generative Adversarial Network (GAN)

: ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋‰ด๋Ÿด ๋„คํŠธ์›Œํฌ๋กœ ์ด๋ฃจ์–ด์ง„ ์ƒ์„ฑ์ž (generative) ์™€ ํŒ๋ณ„์ž (discriminator) ๊ฐ€ ์„œ๋กœ ๊ฒจ๋ฃจ๋ฉฐ ํ›ˆ๋ จ

: ์‹ค์ œ ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํฌ์™€ ๋ชจ๋ธ์ด ์ƒ์„ฑํ•œ ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํฌ ๊ฐ„์˜ ์ฐจ์ด ์ค„์ด๊ธฐ

- Generator

: ๋žœ๋ค ๋…ธ์ด์ฆˆ ๋ฒกํ„ฐ ์ž…๋ ฅ ๋ฐ›์•„ ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“œ๋Š” ์—… ์ƒ˜ํ”Œ๋ง ์ง„ํ–‰

: ์‹ค์ œ ์ด๋ฏธ์ง€ x ์˜ ๋ถ„ํฌ๋ฅผ ์•Œ์•„๋‚ด๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅ

: ๊ฐ€์งœ ์ด๋ฏธ์ง€ ์ƒ˜ํ”Œ G(x)์˜ ๋ถ„ํฌ๋ฅผ ์ •์˜ํ•˜๋Š” ๋ชจ๋ธ

=> training dataset ์— ์žˆ๋Š” sample x ์™€ ๊ตฌ๋ณ„์ด ๋ถˆ๊ฐ€๋Šฅํ•œ fake sample G(x) ์ƒ์„ฑ

 

์ง„์งœ ํ™”ํ๋ž‘ ๋‚ด๊ฐ€ ๋งŒ๋“  ํ™”ํ๋ฅผ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์—†๋„๋ก ์™„๋ฒฝํ•œ ๊ฐ€์งœ ํ™”ํ ๋งŒ๋“ค์ž!

- Discrimitor

์ง„์งœ ํ™”ํ๋ž‘ G ๊ฐ€ ๋งŒ๋“  ๊ฐ€์งœ ํ™”ํ๋ฅผ ๊ตฌ๋ณ„ํ•˜์ž!

: ์ง„์งœ๋Š” ์ง„์งœ 1, ๊ฐ€์งœ๋Š” ๊ฐ€์งœ 0 ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜๋„๋ก ํ•™์Šต

: ์ƒ˜ํ”Œ์ด x ์ธ์ง€ ํ˜น์€ ๊ฐ€์งœ์ด๋ฏธ์ง€ G(x) ์ธ์ง€ ๊ตฌ๋ณ„ํ•˜์—ฌ ์ƒ˜ํ”Œ์ด ์ง„์งœ์ผ ํ™•๋ฅ  ๊ณ„์‚ฐ

=> Generator ๊ฐ€ ๋งŒ๋“  fake sample G(x) ๊ณผ training dataset ์˜ real sample x ๊ตฌ๋ณ„

 

 

: GAN ์‹

=> minimax problem of GAN has a global optimum at p(g) = p(data)

=> proposed algorithm can find that global optimum

 

 

3) Deep Convolutional GAN (DCGAN)

 

: Z space ์—์„œ ๋ฒกํ„ฐ ์‚ฐ์ˆ  ์—ฐ์‚ฐ ๊ฐ€๋Šฅ

: ๋Œ€๋ถ€๋ถ„ ์ƒํ™ฉ์—์„œ ์–ธ์ œ๋‚˜ ์•ˆ์ •์ ์œผ๋กœ ํ•™์Šต์ด ๋˜๋Š” ๊ตฌ์กฐ ์ œ์•ˆ

: DCGAN ์œผ๋กœ ํ•™์Šต๋œ G๊ฐ€ ๋ฒกํ„ฐ ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•œ ์„ฑ์งˆ์„ ๊ฐ–๊ณ , ์˜๋ฏธ๋ก ์ ์œผ๋กœ ์‹ ๊ทœ ์ƒ˜ํ”Œ ์ƒ์„ฑ

 

 

 

 

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•
Comments