๐ ํ์ต๋ชฉํ
์คํ ์ธ์ฝ๋(Autoencoders)๋ ์ด๋ป๊ฒ ๋ณด๋ฉด ๋จ์ํ ์
๋ ฅ์ ์ถ๋ ฅ์ผ๋ก ๋ณต์ฌํ๋ ์ ๊ฒฝ๋ง์ฒ๋ผ ๋ณด์ด์ง๋ง ๋คํธ์ํฌ์ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ ์ฝ์ ์ค์ผ๋ก์จ ์ด๋ ค์ด ์ ๊ฒฝ๋ง์ด ๋๋ค.
hidden layer์ ๋ด๋ฐ ์๋ฅผ input layer๋ณด๋ค ์๊ฒ ํด ๋ฐ์ดํฐ๋ฅผ ์์ถ(์ฐจ์ ์ถ์)ํ๋ค๊ฑฐ๋, ์
๋ ฅ ๋ฐ์ดํฐ์ ๋
ธ์ด์ฆ(noise)๋ฅผ ์ถ๊ฐํ ํ ์๋ณธ ์
๋ ฅ์ ๋ณต์ํ ์ ์๋๋ก ๋คํธ์ํฌ๋ฅผ ํ์ต์ํค๋ ๋ฑ ๋ค์ํ ์คํ ์ธ์ฝ๋๊ฐ ์๋ค. ์ด๋ฌํ ์ ์ฝ๋ค์ ์คํ ์ธ์ฝ๋๊ฐ ๋จ์ํ ์
๋ ฅ์ ๋ฐ๋ก ์ถ๋ ฅ์ผ๋ก ๋ณต์ฌํ์ง ๋ชปํ๋๋ก ๋ฐฉ์งํ๋ฉฐ, ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ํํ(representation)ํ๋ ๋ฐฉ๋ฒ์ ํ์ตํ๋๋ก ์ ์ดํ๋ค.
์ด๋ ์
๋ ฅ๊ณผ ์ถ๋ ฅ์ธต์ ๋ด๋ฐ ์๊ฐ ๋์ผํ๋ค๋ ๊ฒ๋ง ์ ์ธํ๋ฉด ์ผ๋ฐ์ ์ธ MLP(Multi-Layer Perceptron)๊ณผ ๋์ผํ ๊ตฌ์กฐ์ด๋ค. ์คํ ์ธ์ฝ๋๋ ์
๋ ฅ์ ์ฌ๊ตฌ์ฑํ๊ธฐ ๋๋ฌธ์ ์ถ๋ ฅ์ ์ฌ๊ตฌ์ฑ(reconstruction)์ด๋ผ๊ณ ๋ ํ๋ฉฐ, ์์คํจ์๋ ์
๋ ฅ๊ณผ ์ฌ๊ตฌ์ฑ(์ถ๋ ฅ)์ ์ฐจ์ด๋ฅผ ๊ฐ์ง๊ณ ๊ณ์ฐํ๋ค.
์ฉ๋
๊ตฌ์กฐ
์ธ์ฝ๋() : ์ธ์ง ๋คํธ์ํฌ(recognition network)๋ผ๊ณ ๋ ํ๋ฉฐ, ์ ๋ ฅ์ ๋ด๋ถ ํํ์ผ๋ก ๋ณํํ์ฌ ์ฐจ์ ์ถ์, ํน์ง ์ถ์ถ ๋ฑ์ ๊ธฐ๋ฅ์ ํ๋ค.
๋์ฝ๋() : ์์ฑ ๋คํธ์ํฌ(generative nework)๋ผ๊ณ ๋ ํ๋ฉฐ, ๋ด๋ถ ํํ์ ์ถ๋ ฅ์ผ๋ก ๋ณํํ๋ค. ์๋ ์ ๋ ฅํ ๋ฐ์ดํฐ์ ๋น๊ตํ๊ธฐ ์ํด ์ถ์ถ๋ ํน์ง์ ์ด๋ฏธ์ง ํํ๋ก ๋ณต์ ๋ฐ ์ฌ๊ตฌ์ฑํ๋ ๊ธฐ๋ฅ์ ํ๋ค.
: ์ ๊ฒฝ๋ง ๋ด๋ถ์์ ์ถ์ถ๋ ํน์ง์ ๊ฐ๋ค
ํ์ต๊ณผ์ : minimizing a loss function -> ,
=> ์คํ ์ธ์ฝ๋(Autoencoders)๋ "์ถ๋ ฅ = ์ ๋ ฅ"์ ํ์ต์ํค๋ ์ ๊ฒฝ๋ง์ผ๋ก Loss function์์ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ์ฐจ์ด(์๋ณธ๊ณผ์ ์ฐจ์ด)๋ฅผ ์ด์ฉํด ์ญ์ ํ(๊ฐ์ค์น ํ์ต)๋ฅผ ์งํํ๋ค. ์ถ๋ ฅ์ ์ ๋ ฅ๊ณผ ์ต๋ํ ๊ทผ์ฌํ๊ฒ ๋ง๋ค๊ธฐ ์ํด Latent representation์ผ๋ก encoding(์ฐจ์์ถ์๊ณผ์ )ํ๊ณ , ๋ค์ data๋ก decoding(์ฌ๊ตฌ์ฑ๊ณผ์ )ํ๋ฉด์ ์ด latent(;์จ์ด์๋)๋ ๋ฐ์ดํฐ์ ์ ๋ณด๋์ด ๋ง์ ๋ถ๋ถ, ๋๋ ๋ํ์ ์ธ ์์ฑ์ ์ฐ์ ํ์ตํ๊ฒ ๋๋ค.
์คํ ์ธ์ฝ๋์ ๋ค์ํ ์ ์
- ์ฐจ์ ์ถ์ ๋ฑ์ ์ํด ํํํ์ต(Representation Learning) ๋๋ ํน์งํ์ต(Feature Learning)์ ๋น์ง๋ ํ์ต์ ํํ๋ก ํ์ตํ๋ ์ ๊ฒฝ๋ง
- ํํํ์ต(Representation Learning) ๋๋ ํน์งํ์ต(Feature Learning)
: ํน์ง ํ์ง(feature detection)๋ ๋ถ๋ฅ(classification)๋ฅผ ์ํด ํ์ํ ํน์ง์ ๋ค์ ์๋์ผ๋ก ๋ฐ๊ฒฌํ๋ ์์คํ ์ ๊ธฐ๋ฒ๋ค์ ์ด์ฒด
- ์ฐจ์์ถ์๋ฅผ ํ๋ ์ด์ ; ์ฐจ์์ ์ ์ฃผ
๊ณ ์ฐจ์ ๊ณต๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ๊ฑฐ๋ ์ธก์ ํ ๋ ์ ์ฐจ์ ๊ณต๊ฐ์์๋ ๋ํ๋์ง ์์๋ ์ฌ๋ฌ ๋ฌธ์ ๋ค์ด ๋ฐ์ํ๋ ๊ฒ์ผ๋ก, ๋จธ์ ๋ฌ๋์์๋ ์ผ๋ฐ์ ์ผ๋ก ์ฐจ์์ด ์ฆ๊ฐํ ๊ฒฝ์ฐ ๊ธฐํ๊ธ์์ ์ธ ๋ฐ์ดํฐ๊ฐ ์๊ตฌ๋๋ ํ์
*Manifold Hypothesis : ๊ณ ์ฐจ์์ ๋ฐ์ดํฐ๊ฐ ์ ์ฐจ์์ ๋ค์์ฒด(Manifold)์ ํํ๋ ์ ์๋ค๋ ๊ฒ์ ๊ฐ์ ํ๋ ๊ฒ
=> ์ฐจ์์ด ๋์ด๋ ์๋ก ์ฐ๋ฆฌ๊ฐ ์ฐพ์๋ด๊ณ ์ํ๋ ํน์ง๋ค์ ๋ฝ์๋ด๊ธฐ ์ํด ๋ ๋ง์ ๋ฐ์ดํฐ๊ฐ ํ์ํ๋ค.
- ๋น์ง๋ํ์ต ๋ฐฉ์์ผ๋ก ํจ์จ์ ์ธ ๋ฐ์ดํฐ ์ฝ๋ฉ(encoding, decoding)์ ํ์ตํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ธ๊ณต ์ ๊ฒฝ๋ง์ ํ ์ ํ
- ๋ณ๋์ ๋ ์ด๋ธ ์์ด ์ ๋ ฅ๋ฐ์ดํฐ ์์ฒด๋ฅผ ๋ ์ด๋ธ๋ก ํ์ฉํ๋ ๋น์ง๋ํ์ต ๋ฐฉ์
- ๋ฐ์ดํฐ ์ฝ๋ฉ(encoding, decoding)์ ์ํด ์ํ๋ ์ฐจ์๋ง ํ ๋นํด์ฃผ๋ฉด, ์๋์ผ๋ก ํ์ตํ์ฌ ์ํ๋ ํํ๋ก ๋ฐ์ดํฐ์ ์ฐจ์์ ์ถ์ํด์ฃผ๋ ์ ๊ฒฝ๋ง์ ํ ์ดํ๋ฆฌ์ผ์ด์
- ๋คํธ์ํฌ๊ฐ ์ค์ํ ์๋ฏธ๋ฅผ ๊ฐ๋ ์ ํธ ์ธ์ "๋ ธ์ด์ฆ"๋ฅผ ์ ๊ฑฐํ๋๋ก ํ๋ จ(๋ฐ์ดํฐ์ ํต์ฌ ์์๋ฅผ ์ฐพ์ ์์ฝํ๊ณ ์์ฝ๋ ์ ๋ณด๋ฅผ ์ด์ฉํด์ ๋ค์ ์ฌ๊ตฌ์ฑ์ ํด๋ณด๋ฉด์ ์์ฝ์ด ์ ๋์๋์ง ํ์ธ)
- ์ฝ๋ฉ๋ ์ฝ๋์์ญ = ์ ๋ ฅ ๋ฐ์ดํฐ์ ์ ์ฌ์ ํํ(Latent representation)
- ์ธ์ฝ๋ฉ ๋ชจ๋ธ(ํ๋ผ๋ฏธํฐ)๊ณผ ๋์ฝ๋ฉ ๋ชจ๋ธ(ํ๋ผ๋ฏธํฐ)์ ๋์์ ํ์ต์ด ๋์ง๋ง, ์ด๋ฅผ ๊ฐ๊ฐ์ ๋ชจ๋ธ๋ก ๊ตฌ๋ถํ์ฌ ์ฌ์ฉํ ์ ์๋ค.
Autoencoder๋ encoder์ decoder๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
๋จ์ํ Denseํํ๋ก๋ ๊ตฌ์ฑํ ์ ์์ง๋ง, CNN์ ์ด์ฉํ ๊ตฌ์ฑ๋ ๊ฐ๋ฅํ๋ค
์คํ ์ธ์ฝ๋์ ์ฉ๋
๋ ธ์ด์ฆ ์ ๊ฑฐ ์ฉ๋
์ฌ๊ตฌ์ฑ์ ํตํ ์ด์๊ฐ์ ์ฐพ์๋ด๋ ์ฉ๋
ํ์ต -> ์ ์ ๋ฐ์ดํฐ
์ ์/๋น์ ์ ์ด๋ป๊ฒ ๊ตฌ๋ถ? -> ์ฌ๊ตฌ์ฑ ์ค๋ฅ๊ฐ์ด ์๊ณ๊ฐ์ ์ด๊ณผํ๋ฉด ์ด์์น
์ด์ง๋ถ๋ฅ ๋ชจ๋ธ์ ๋นํด AE ์ฅ์
์ ์ ๋ฐ์ดํฐ๋ง์ผ๋ก ๋ชจ๋ธ ๋ง๋ค ์ ์์ด ๋ฐ์ดํฐ ํ๋ณด๊ฐ ์ฉ์ดํ๋ค
(์ด์ง๋ถ๋ฅ๋ก ํ ๊ฒฝ์ฐ ๋ถ๊ท ํ ๋ฐ์ดํฐ๊ฐ ๋ ๊ฐ๋ฅ์ฑ์ด ๋๋ค. ์ ๊ฑธ๋ฆฐ ์ฌ๋๋ณด๋ค ์ ๊ฑธ๋ฆฐ ์ฌ๋์ด ๋ ๋ง์ผ๋ฏ๋ก)
ํน์ฑ์ ์ถ์ถํ๋ ์ฉ๋
Conv2D <=> Conv2DTranspose : ๊ฐ์ค์น ํ์, ์ฑ๋ ์ ๋ณํจ
Pooling <=> Unpooling : ๊ฐ์ค์น๊ฐ ํ์ X, ์ฑ๋ ์ ์๋ณํจ