๐ํด๋น ์๋ฃ ๋ด์ฉ์ ์์ฒํฅ๋ํ๊ต ๋น ๋ฐ์ดํฐ๊ณตํ๊ณผ ๊น์ ํ ๊ต์๋์ ์์ ์๋ฃ์ ๊ธฐ๋ฐํ์์ผ๋ฉฐ ์์ ์๋ฃ์ ์ ์๊ถ ๋ฌธ์ ๋ก ์ธํด ์์ ์๋ฃ๋ฅผ ์ง์ ์ด์ฉํ์ง ์๊ณ ์์ ์๋ฃ์ ๋ด์ฉ์ ์ฐธ๊ณ ํ์ฌ ๋ณธ์ธ์ด ์ง์ ์์ฑํ์์ผ๋ฏ๋ก ์ ์๊ถ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์์ ํํ ์๋ ค๋๋ฆฝ๋๋ค.
์ด๋ฒ ํฌ์คํ ์์๋ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์์ถ์ํค๊ณ ๋ค์ ํ์ฅํด ๊ฒฐ๊ณผ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ ๋ฐ์ดํฐ์ ์ต๋ํ ๋์ผํ๊ฒ ๋ง๋ค๊ธฐ ์ํด ํ๋ผ๋ฏธํฐ๋ฅผ ํ์ต์ํค๋ Auto Encoder์ ๋ํด์ ์์๋ณด๋ ค๊ณ ํ๋ค. ๋ชฉ์ฐจ๋ ๋ค์๊ณผ ๊ฐ๋ค.
1. Auto Encoder๋?
2. PCA vs Encoder
3. Stacked Auto Encoder
4. Denoising Auto Encoder(DAE)
5. Variational Auto Encoder(VAE)
6. Examples of Auto Encoder
1. Auto Encoder๋?
์์์๋ ์ ๊น ์ธ๊ธํ์ง๋ง Auto Encoder๋ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์์ถ์์ผ ์์ถ์ํจ ๋ฐ์ดํฐ๋ก ์ถ์ํ ํ ๋ค์ ํ์ฅํ์ฌ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ ๋ฐ์ดํฐ์ ๋์ผํ๋๋ก ๋ง๋๋ ์ผ์ข ์ ๋ฅ ๋ด๋ด ๋คํธ์ํฌ ๋ชจ๋ธ์ด๋ค. Auto Encoder๋ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์ผ์ข ์ Label(์ ๋ต)๋ก ์ผ์ ํ์ตํ๋ฏ๋ก Self-supervised Learning ์ด๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ์ง๋ง ์ด์จ๊ฑฐ๋ y๊ฐ์ด ์กด์ฌํ์ง ์์ผ๋ฉฐ ์ด์ฉํ์ง ์๋๋ค๋ ์ ์์ Unsupervised Learning์ผ๋ก ๋ถ๋ฅ๋๋ ๋ชจ๋ธ์ด๋ค. Auto Encoder๊ฐ ์ด๋ป๊ฒ ๊ตฌํ๋๋์ง ์์๋ณด๊ธฐ ์ํด ๋ค์ ๊ทธ๋ฆผ์ ์ดํด๋ณด์.
์ ๊ทธ๋ฆผ์ ์๊ธ์จ ์ด๋ฏธ์ง ๋ฐ์ดํฐ์ธ ์ซ์ 1์ Auto Encoder ๋ชจ๋ธ์ ๋ฃ์ ํ ๊ฒฐ๊ณผ๊ฐ์ผ๋ก ์ ๋ ฅ ๋ฐ์ดํฐ์ ๋น์ทํ ์๊ธ์จ ์ซ์ ์ด๋ฏธ์ง 1์ ์ถ๋ ฅํ๋ ๊ทธ๋ฆผ์ด๋ค. ์ ๋ ฅ ๋ฐ์ดํฐ์ธ 784๊ฐ์ ๋ด๋ฐ๋ค์ 500๊ฐ, 300๊ฐ, 2๊ฐ๋ก ์์ถ์ํด์ผ๋ก์จ ์ ๋ ฅ ๋ฐ์ดํฐ์ ๋ํ์ ์ธ ํน์ฑ์ ์ถ์ถํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ค์ ๋์นญ์ ์ธ ๊ตฌ์กฐ๋ก 300๊ฐ, 500๊ฐ ๋ด๋ฐ์ผ๋ก ํ์ฅ์ํจ ํ ์ต์ข ์ ์ผ๋ก ์ ๋ ฅ ๋ฐ์ดํฐ์ ๋๊ฐ์ ์ฌ์ด์ฆ์ธ 784๊ฐ์ ๋ด๋ฐ ๊ฐ์๋ก ์ต์ข ๊ฐ์ ์ถ๋ ฅ์ํจ๋ค. ๊ทธ๋ ๊ฒ ํด์ ๋์จ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ๊ฐ ๊ทธ๋ฆผ์ ์ค๋ฅธ์ชฝ์ ์ด์ง ํฌ๋ฏธํ ์ด๋ฏธ์ง ๋ฐ์ดํฐ์ด๋ค.
Auto Encoder์์ ์์ถ์ํค๋ ๋ถ๋ถ์ Encoder ๋ผ๊ณ ํ๋ฉฐ ํ์ฅ์ํค๋ ๋ถ๋ถ์ Decoder๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์ฐธ๊ณ ๋ก Encoder ๋๋ Decoder ๋ ์ค ํ๋์ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ณ ์ ์ํค๊ณ ๋๋จธ์ง ๋ถ๋ถ๋ง ํ์ต์ํค๋ ๊ฒฝ์ฐ๋ ์๋ค. ๋ ์ค ํ ๋ถ๋ถ๋ง์ ์ด์ฉํ๋ ์ ์ฒด์ ์ธ Encoder - Decoder ๊ตฌ์กฐ๋ ์ ์งํด์ผ ํ๋ค.
2. PCA vs Encoder
Auto Encoder์ Encoder ๋ถ๋ถ์ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์์ถํ๋ ๊ณผ์ ์์ ๋ฐ์ดํฐ์ ์ฐจ์์ ์ถ์์ํจ๋ค. ์ฐจ์์ ์ถ์ ๊ด์ ์์ Encoder ๋ถ๋ถ์ ์ฃผ์ฑ๋ถ ๋ถ์์ธ PCA(Principal Component Analysis)์ ์ ์ฌํ ์ ์ด ์๋ค. ์ฐจ์์ ์ถ์๋ ๊ฒฐ๊ตญ ํน์ง์ ๋ฝ์๋ธ๋ค๋ ๊ฒ์ ์๋ฏธํ๋๋ฐ, ๋ค์ ๊ทธ๋ฆผ์ ์ดํด๋ณด์. ์ฐธ๊ณ ๋ก PCA์ ๋ํด ๋ชจ๋ฅธ๋ค๋ฉด ์ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํ์.
๊ธฐ๋ณธ์ ์ผ๋ก PCA๋ ์ ํ์ ์ผ๋ก ๋ฐ์ดํฐ ์ฐจ์์ ๊ฐ์์์ผ ์ค๋ค. ์ ๊ทธ๋ฆผ์์ ๋ณด๋ ๊ฒ์ฒ๋ผ ๋นจ๊ฐ์ ์ค์ ์ด PCA๋ฅผ ๋ปํ๋ค. ๋ฐ์ดํฐ๊ฐ ์ฃผ์ด์ก์ ๋ ์์ ๊ฐ์ด ์ ํ์ ์ผ๋ก ๋ฐ์ดํฐ์ ์ฐจ์์ ์ถ์์ํค๊ฒ ๋๋ค. ๋ฐ๋ฉด์ ์ด๋ก์ ์ค์ ์ธ Auto Encoder์ Encoder๋ ๋น์ ํ์ ์ผ๋ก ๋ฐ์ดํฐ์ ์ฐจ์์ ์ค์ฌ์ค ์ ์๋ค.
์ฐธ๊ณ ๋ก PCA๋ Kernel PCA๋ฅผ ํ์ฉํด ๋น์ ํ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ถ์ํ ์ ์๊ธด ํ์ง๋ง ๋ณดํต ์ ํ์ ์ผ๋ก ๋ฐ์ดํฐ ์ฐจ์์ ์ถ์ํ๊ณ ๋น์ ํ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ถ์ํ๊ธฐ ์ํด์๋ Auto Encoder๋ฅผ ์ฌ์ฉํ๋ค.
3. Stacked Auto Encoder
Auto Encoder๋ ๋ณดํต Stacked Auto Encoder ๊ตฌ์กฐ๋ก ๋ง์ด ํ์ฉ๋๋ค. ๊ตฌ์กฐ๋ ์ฐ๋ฆฌ๊ฐ ์์์ ๋ด์๋ ๊ตฌ์กฐ์ ๋์ผํ๋ฐ ๋ฐ๋ก Symmetric(๋์นญ์ ) ๊ตฌ์กฐ์ด๋ค. ๋ค์ ๊ทธ๋ฆผ์ ๋ณด์.
์ ๊ทธ๋ฆผ์ ๋ณด๋ฉด ์ ๋ ฅ๋ฐ์ดํฐ์ Encoder ๋ถ๋ถ, Decoder์ ์ถ๋ ฅ๋ฐ์ดํฐ ๋ถ๋ถ์ด ๋์นญ์ ์ธ ๊ตฌ์กฐ๋ฅผ ๋ณด์ด๋ ๊ฒ์ ์ ์ ์๋ค. ๊ตฌ์กฐ์ ๋ํด ๋ ์์ธํ ์ดํด๋ณด์. ์ฐ์ Input layer์ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์์ถ์์ผ ๊ฐ์ฅ ๋ํ์ ์ธ ํน์ฑ์ ์ถ์ถํ ์ธต์ ๋ฐ๋ก Encoded Layer์ ์๋ ๋ ธ๋๋ค์ด๋ค. ์ด๋ฅผ Codings๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ๋ค. ์ด ์ธต์ด ์์ถ๋(Compressed) ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณ ์๋ Layer์ด๋ฉฐ ์ด ๋ถ๋ถ์ด ๊ฒฐ๊ณผ ๋ฐ์ดํฐ๊ฐ ์ ๋ ฅ ๋ฐ์ดํฐ์ ์ผ๋ง๋ ๋์ผํ๊ฒ ์ถ๋ ฅํ ๊ฒ์ธ๊ฐ๋ฅผ ์ข์ง์ฐ์ง ํ๋ ์ญํ ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค. ๋ฐ๋ผ์ ํ์ดํผํ๋ผ๋ฏธํฐ๋ก์ Encoded Layer์ ๋ ธ๋ ๊ฐ์ ์ค์ ์ด ๋งค์ฐ ์ค์ํ๋ค. ๋ง์ฝ ์ถ๋ ฅ ๋ฐ์ดํฐ๊ฐ ์ ๋ ฅ ๋ฐ์ดํฐ์ ๋์ผํ์ง ์๊ฒ ์ถ๋ ฅ๋๋ค๋ฉด Encoded Layer์ ๋ ธ๋ ๊ฐ์๊ฐ ์ ์ ๊ฒ์ด ์์ธ์ผ ๊ฐ๋ฅ์ฑ์ด ํฌ๋ค.
๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ๊ตฌ์ถ ์์ ์ค์ํ ๊ฒ ์ค ํ๋๋ ๋ฅ๋ฌ๋ ๋ ธ๋, ๋ ์ด์ด์ ๊ฐ์ ๋ฑ ํ์ดํผํ๋ผ๋ฏธํฐ ์ข ๋ฅ๊ฐ ๋ค์ํ๋ค๋ ๊ฒ์ด๋ค. ์ด ์ค Auto Encoder๋ฅผ ๋ชจ๋ธ๋งํ ๋๋ ์ฐ์ Encoded layer์ ๋ ธ๋ ๊ฐ์๋ฅผ 1์ฐจ์ ์ผ๋ก ์ ์ ํ ์ค์ ํ ํ Layer2, Layer1 ๋ ธ๋ ๊ฐ์๋ฅผ ์ค์ ํ๋ ์์๋ก ์งํํ๋ ๊ฒ์ด ๋ฐ๋์งํ๋ค.
๊ทธ๋ฐ๋ฐ ์ด๋ฐ ์๊ฐ์ ํ ์๋ ์์ ๊ฒ ๊ฐ๋ค. "๊ทธ๋ ๋ค๋ฉด ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์์ถํ์ง ์๊ณ ์ฌ์ด์ฆ๋ฅผ ์ ์งํ ์ฑ ์ถ๋ ฅ ๋ฐ์ดํฐ๋ก ๊ทธ๋๋ก ๋ด๋ณด๋ด๋ฉด ๊ฐ์ฅ ์ ๋ ฅ ๋ฐ์ดํฐ์ ๋์ผํ์ง ์์๊น?" ๋ผ๊ณ ์๊ฐํ ์ ์๋ค. ๋ฌผ๋ก ๊ทธ๋ ๊ฒ ์ค์ ํ ์ ์๋ค. ํ์ง๋ง ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๊ฒ์ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์์ถ์ํด์ผ๋ก์จ ์ป๋ ๋ด์ฌ๋(Latent) ์ ๋ณด๋ฅผ ์ป๊ธฐ ์ํ ๊ฒ์ด๋ค. ๋ํ Auto Encoder๋ ์์ด ํฐ ๋ฐ์ดํฐ๋ฅผ ์ถ์์์ผ ์ ๋ฌํ๋ ์ญํ ์ ํ๊ธฐ๋ ํ๋ค. ๋ฐ๋ผ์ ์์ถ์ ํ์ง ์๋ ๊ฒ์ Auto Encoder์ ๊ทผ๋ณธ์ ์ธ ๋ชฉ์ ์ ๋ถํฉํ์ง ์๊ธฐ ๋๋ฌธ์ ํด๋น ๋ฐฉ๋ฒ์ ๊ณ ๋ คํ ๋งํ์ง ์๋ค.
Stacked Auto Encoder๋ Unsupervised pre-training์ผ๋ก ํ์ฉ๋ ์ ์๋ค. pre-training์ ๊ด๋ จ๋์ด Transfer Learning์ ๋ํ ๊ฐ๋ ์ ์ ๋ชจ๋ฅธ๋ค๋ฉด ์ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํ์. ์ฌ๊ธฐ์๋ ๊ฐ๋จํ ์๊ฐํ๊ณ ๋์ด๊ฐ๊ฒ ๋ค. pre-training์ด๋, ์ด๋ฏธ ํ์ต๋ ๋ค๋ฅธ ๋ชจ๋ธ์ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ๊ฐ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋งํ๋ค.
์ ๊ทธ๋ฆผ์ ๋ณด์. ๋จผ์ ์ฐ๋์ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋ฆผ ํ๋จ์ Auto Encoder๋ฅผ ์ฌ์ฉํด์ ์ฐ๋์ ์ ๋ ฅ ๋ฐ์ดํฐ์ ๋ํ์ ์ธ ํน์ฑ์ ์ถ์ถํ๋๋ก ํ๋ผ๋ฏธํฐ๋ฅผ ํ์ต์ํจ๋ค. ์ด ํ๋ผ๋ฏธํฐ๋ฅผ ๊ณ ์ ์ํจ ์ฑ ๊ทธ๋ฆผ ์ ๊ฐ์ฅ ์์ ์๋ ๋ด๋ด ๋คํธ์ํฌ ํ๋ผ๋ฏธํฐ์ ๊ทธ๋๋ก ์ฌ์ฉํ๋ค. ๊ทธ๋ฌ๋ฉด ์ Unsupervised ์ผ๊น? ๋ฐ๋ก Auto Encoder๊ฐ Label์์ด ํ๋ผ๋ฏธํฐ๋ฅผ ํ์ต์ํค๊ธฐ ๋๋ฌธ์ด๋ค.(๋ฌผ๋ก ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ Label๋ก ์ผ์ ํ์ต์ํค์ง๋ง Unsupervised Learning์ผ๋ก ๋ถ๋ฅ๋๋ค๊ณ ์์์ ์ธ๊ธํ๋ค)
๋ฐ๋ผ์ ์ฒ์๋ถํฐ ํ๋ผ๋ฏธํฐ๋ฅผ ์์์ ๊ฐ์ผ๋ก ์ด๊ธฐํ์์ผ ๊ทธ๋ฆผ ์ ๊ฐ์ฅ ์๋จ์ ์๋ ๋ถ๋ฅ์ฉ ๋ฅ ๋ด๋ด ๋คํธ์ํฌ์ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ธฐ ๋ณด๋ค๋ Auto Encoder๋ฅผ ํ์ฉํด ์ ๋ ฅ ๋ฐ์ดํฐ์ ๋ํ์ ์ธ ํน์ฑ์ ๋ํ๋ด๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ป์ด ์ด๋ฅผ ๋ถ๋ฅ์ฉ ๋ฅ ๋ด๋ด ๋คํธ์ํฌ์ ์ฌ์ฉํด ๋์ฑ ๋ ๋น ๋ฅธ ํ์ต๊ณผ ์ฑ๋ฅ ํฅ์์ ์ํค๊ธฐ ์ํจ์ด๋ค.
4. Denoising Auto Encoder(DAE)
DAE๋ ์์์ ๋ฐ์ดํฐ์ธ ๋ ธ์ด์ฆ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ๊ฑฐ๋ ๋ ธ์ด์ฆ๋ฅผ ์ผ๋ถ๋ฌ ์ถ๊ฐํด ์ค์ํ ํน์ง์ ์ถ์ถํ๋๋ก ํ๋ Auto Encoder์ด๋ค. ์์ธํ ๊ตฌ์กฐ๋ ๋ค์ ๊ทธ๋ฆผ์ ์ดํด๋ณด์.
๊นจ๋ํ ์๋ณธ ์ด๋ฏธ์ง์ Gaussian ๋ถํฌ์์ ์ํ๋งํ ์์์ ๋ ธ์ด์ฆ ๋ฐ์ดํฐ๋ฅผ ์๋ณธ ์ด๋ฏธ์ง์ ์ฒจ๊ฐํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๋ ธ์ด์ฆ๊ฐ ์ถ๊ฐ๋ ๋ฐ์ดํฐ๋ฅผ ์์ถ์ํค๊ณ ํ์ฅํ๋ Auto Encoder๋ฅผ ์ํํ๋ค. ์ด๋ ๊ฒ ํ๋ ์ด์ ๋ ๋ฌด์์ผ๊น? ์ ๊นจ๋ํ ์ด๋ฏธ์ง์ ์ผ๋ถ๋ฌ ๋ ธ์ด์ฆ๋ฅผ ์ฒจ๊ฐํ๋ ๊ฒ์ผ๊น? ์๋ํ๋ฉด ํ์ต ๋ฐ์ดํฐ๋ ์์ Original Image๊ฐ์ด ๊นจ๋ํ ์ด๋ฏธ์ง๊ฒ ์ง๋ง ์ค์ ๋ฏ์ ํ๊ฒฝ์ ์ค์ Test ๋ฐ์ดํฐ๋ ๋ ธ์ด์ฆ๊ฐ ์ฒจ๊ฐ๋์ด ์๋ ์ง์ ๋ถํ ๋ฐ์ดํฐ์ผ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
๋ง์ฝ ๊นจ๋ํ ์๋ณธ ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ก๋ง ๋ชจ๋ธ์ด ํ์ต๋๋ค๋ฉด ๋ ธ์ด์ฆ๊ฐ ์ฒจ๊ฐ๋ ๋ฐ์ดํฐ๊ฐ ๋ค์ด์์ ์ ์๋ณธ ์ด๋ฏธ์ง๋ฅผ ์ ๋๋ก ๋ณต๊ตฌ์ํค์ง ๋ชปํ๋ ์ผ์ข ์ Overfitting ๋ฌธ์ ๋ฅผ ์ผ๊ธฐํ ๊ฒ์ด๋ค. ํ์ง๋ง Gaussian ๋ถํฌ์์ ์ํ๋งํ๋ ๋ ธ์ด์ฆ๋ ํ์ตํ ๋๋ง๋ค ๋ ธ์ด์ฆ ๋ฐ์ดํฐ๊ฐ ๋ฐ๋ ๊ฒ์ด๊ณ ์ด๋ ๊ฒ ๊ณ์์ ์ธ ํ์ต์ด ์ด๋ฃจ์ด์ง๋ค๋ฉด ๋ชจ๋ธ์ ๋ค์ํ ๋ ธ์ด์ฆ๊ฐ ์ฒจ๊ฐ๋ ๋ฐ์ดํฐ๋ค์ ํ์ต์ํค๊ฒ ๋๋ค. ๊ฒฐ๊ตญ ๋ชจ๋ธ์ Regularization(์ผ๋ฐํ) ํจ๊ณผ๋ฅผ ๋ธ๋ค.
๋ฐ๋ผ์ ํน์ฌ๋ '๋๋ฌ์ด ๋ฐ์ดํฐ' ์ฆ, ๋ ธ์ด์ฆ๊ฐ ์ฒจ๊ฐ๋ ๋ฐ์ดํฐ๊ฐ ๋ค์ด์์ ๊ฒฝ์ฐ๋ฅผ ๋๋นํด์ ๋ชจ๋ธ์ด ์ค์ค๋ก ์ ๋ณต๊ตฌ์ํค๋๋ก ์ผ๋ถ๋ฌ ์๋ณธ ์ด๋ฏธ์ง์ ๋ ธ์ด์ฆ๋ฅผ ์ฒจ๊ฐํ ํ ๋ชจ๋ธ์ ํ์ต์ํค๋ ๊ฒ์ด๋ค.
๋ฌผ๋ก ์ ์ด์ ๋ ธ์ด์ฆ๊ฐ ์ฒจ๊ฐ๋ ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ ๋ฐ์ดํฐ๋ก ๋ฃ์ด ๋ ธ์ด์ฆ๊ฐ ์ ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ๋์ถํ๋ ์ญํ ๋ ์ํํ๋ค.
๋ค์์ Dropout์ ํตํด ๋ ธ์ด์ฆ๋ฅผ ์ผ๋ถ๋ฌ ์ฒจ๊ฐ์ํค๊ณ ์ฒจ๊ฐ์ํจ ๋ฐ์ดํฐ๋ฅผ ํ์ต์ํค๋ ๊ตฌ์กฐ์ด๋ค. ๋ค์ ๊ทธ๋ฆผ์ ๋ณด๋ฉด์ ๋ฐฉ๊ธ ์์์ ๋ฐฐ์ ๋ Gaussian ๋ ธ์ด์ฆ๋ฅผ ์ฒจ๊ฐํ๋ ๊ตฌ์กฐ๋ ๊ฐ์ด ์ ์ฌํ ๊ด์ฐฐํด๋ณด์.
Dropout์ ์ฌ์ ์ ์ ์ํ ํ๋ฅ ๋ก ๋ ธ๋์ ์ผ๋ถ ๊ฐ์๋ฅผ ์ญ์ ํด๋ฒ๋ฆฐ๋ค. ๋ฐ๋ผ์ ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ก ์๋ฅผ ๋ค์๋ฉด ์ด๋ฏธ์ง ํฝ์ ์ ์ผ๋ถ๊ฐ ์ฌ๋ผ์ง๋ ๊ฒ์ด๋ค. ์ด๋ Gaussian ๋ ธ์ด์ฆ๋ฅผ ์ฒจ๊ฐํ ํ ํจ๊ณผ์ ๋์ผํ๊ฒ Overfitting์ ์๋ฐฉํ๋ Regularization(์ผ๋ฐํ) ํจ๊ณผ๋ฅผ ์ผ์ผํจ๋ค.
5. Variational Auto Encoder(VAE)
์ง๊ธ๊น์ง ์๊ฐํ๋ ๋ชจ๋ Auto Encoder๋ค์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ ธ์ด์ฆ๋ฅผ ์ ๊ฑฐํ๋ ๊ธฐ๋ฅ์ด ์กด์ฌํ๋ค. ๊ทธ๋ฐ๋ฐ ๊ตณ์ด ๋๋์ด ๋ณด์๋ฉด DAE๋ ๋ ธ์ด์ฆ๋ฅผ ์ ๊ฑฐํ๋ ๊ธฐ๋ฅ์ ์ฃผ๋ก ํ๋ค๊ณ ํ๋ค๋ฉด VAE๋ ๋ ธ์ด์ฆ๋ฅผ ์ฒจ๊ฐํ๋ ๊ธฐ๋ฅ์ ์ฃผ๋ก ํ๋ค. ๊ทธ๋ผ VAE์ ๊ตฌ์กฐ๋ ์ด๋ป๊ฒ ์๊ฒผ์๊น? ๋ค์ ๊ทธ๋ฆผ์ ๋ณด์.
๊ตฌ์กฐ๋ฅผ ์ดํดํ๊ธฐ ์ํด ์ ๋ ฅ ๋ฐ์ดํฐ๊ฐ ํ์ต๋์ด ์ถ๋ ฅ ๋ฐ์ดํฐ๋ก ๋์ถ๋๋ ๊ณผ์ ์ ๊ธฐ์ค์ผ๋ก ์์ฐจ์ ์ผ๋ก ์ดํด๋ณด์. ์ฐ์ ์ ๋ ฅ๋ฐ์ดํฐ๊ฐ ๋ค์ด๊ฐ๊ณ ๋ฐ์ดํฐ๋ฅผ ์์ถํ๊ธฐ ์์ํ๋ค. ๊ทธ๋ฆฌ๊ณ Hidden2๋ผ๋ ์ ๋ ฅ ๋ฐ์ดํฐ์ ๋ํ์ ์ธ ํน์ฑ๋ค์ ์ถ์ถํ ๋ ธ๋๋ค์ด ์กด์ฌํ๋ ์ธต์ด ๋ง๋ค์ด์ก๋ค. ์ด ๋ Hidden2 ๋ ธ๋ ๊ฐ์์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ง๋ง ์๋ฅผ ๋ค์ด Hidden2์ ๋ ธ๋ ๊ฐ์๊ฐ 6*6์ธ 36๊ฐ์ ๊ฐ๋ค์ด ์กด์ฌํ๋ค๊ณ ํด๋ณด์.
์ด 36๊ฐ์ ๊ฐ๋ค ์ค ํ ๋ฒ์ ์ํ๋ง์ ํตํด ๋ํ ํน์ฑ๋ค์ ๋ ๋ํ ํน์ฑ๋ค์ ์ถ์ถํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๋ ํ๋ฒ ์ถ์ถ๋ ๋ํ ํน์ฑ์ Gaussian ๋ ธ์ด์ฆ๋ฅผ ๋ํด์ค๋ค. ์ด๋ ๊ฒ ํด์ ์์์ ๋ ธ์ด์ฆ๊ฐ ์ฒจ๊ฐ๋ ๋ ๋ค๋ฅธ ๋ํ ํน์ฑ๋ค์ด ์์ฑ๋์๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ค์ ํ์ฅํ์ฌ ์ถ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๋์ถํ๋ค.
์ด๋ ๊ฒ ๋ํ ํน์ฑ๋ค ์ค ํ ๋ฒ ์ํ๋ง์ ํ๊ณ ๋ ธ์ด์ฆ๋ฅผ ๋ํ ์๋ก์ด ๋ํ ํน์ฑ ๋ฐ์ดํฐ๋ฅผ ํ์ฅ ์์ผ ์ถ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๋์ถํ๋ ๊ณผ์ ์ ๋ชจ๋ธ์ด ํ์ต์ํค๋ฉด์ ๊ณ์์ ์ผ๋ก ๋ฐ๋ณตํ๋ค. ์ด๋ ๊ฒฐ๊ตญ ์ํ๋ง์ ๊ณ์์ ์ผ๋ก ๋ฐ๋ณตํ ์๋ก ์ํ๋งํด์ ๋์ถ๋ ๊ฐ๋ค(์ ๊ทธ๋ฆผ์์ Codings๋ผ๊ณ ๋์ด ์๋ μ, σ๊ฐ๋ค)์ด ์ฒ์ ์์ถ์ํจ ๋ํ ํน์ฑ(๊ทธ๋ฆผ ์ ํ๋จ๋ถ์ Hidden2)๋ค์ ๋ํํ๋ ๋ํ๊ฐ์ ๊ทผ์ฌํ ๊ฒ์ด๋ผ๋ ๊ฐ์ ํ์ ์ถ๋ฐํ๋ ๋ชจ๋ธ์ด๋ค.
6. Examples of Auto Encoder
Auto Encoder๊ฐ ์ฌ์ฉ๋๋ ์ค์ํ ์์๋ ๋ค์๊ณผ ๊ฐ์ ์ฌ๋ก๋ค์ด ์๋ค.
์ ์์ ์ด์ธ์ ์ด๋ฏธ์ง์ ์์๋ ๋ถ๋ถ์ ๋ณต๊ตฌํ๋ ์ฌ๋ก, ๋์ผํ ์ด๋ฏธ์ง์ ํ์ผ ํฌ๊ธฐ๋ฅผ ๊ฐ์์ํค๋ ๊ฒ, ์ฌ์ง์ Water mark ์ ๊ฑฐ ๋๋ ์์์ ํน์ ๋ฌผ์ฒด๋ฅผ ์ ๊ฑฐํ๋ ์ฉ๋ ๋ฑ ๋ค์ํ ๋ถ์ผ์ ์ฌ์ฉ๋๊ณ ์๋ค.
'Data Science > Machine Learning' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ML] PCA, ์ฃผ์ฑ๋ถ์ ๊ฐ์๋ ์ด๋ค ๊ธฐ์ค์ผ๋ก ์ค์ ํ ๊น? (6) | 2020.12.08 |
---|---|
[ML] ๋น์ ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ๋ถํ ํ๊ณ ์๋๊ฐ? (0) | 2020.11.12 |
[ML] Hyperparameter tuning & Optimization in DNN (0) | 2020.10.31 |
[ML] How to improve Deep Neural Network? (2) | 2020.10.24 |
[ML] Recurrent Neural Network(RNN) (0) | 2020.10.16 |