[DEEPNOID ์ํฌ์ธํธ๋ ์จ]_9_AutoEncoder & GAN
220128 ์์ฑ
<๋ณธ ๋ธ๋ก๊ทธ๋ DEEPNOID ์ํฌ์ธํธ๋ ์จ์ ์ฐธ๊ณ ํด์ ๊ณต๋ถํ๋ฉฐ ์์ฑํ์์ต๋๋ค>
์ธ๊ณต์ง๋ฅ | 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๊ฐ ๋ฒกํฐ ์ฐ์ ์ฐ์ฐ์ด ๊ฐ๋ฅํ ์ฑ์ง์ ๊ฐ๊ณ , ์๋ฏธ๋ก ์ ์ผ๋ก ์ ๊ท ์ํ ์์ฑ