VAE(Variational Autoencoder)๋ ์คํ ์ธ์ฝ๋(์๊ธฐ๋ถํธํ๊ธฐ)๋ผ๋ ์ ๊ฒฝ๋ง์ ๋ฐ์ ํํ๋ฅผ ๊ธฐ๋ฐ์ ๋์๋ค. ์คํ ์ธ์ฝ๋๋ ์ธ์ฝ๋์ ๋์ฝ๋๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
[Autoencoder]
์
๋ ฅ๊ณผ ์ถ๋ ฅ์ ํฌ๊ธฐ๋ ๊ฐ๊ณ , ์๋์ธต์ ํฌ๊ธฐ๋ ๊ทธ๋ณด๋ค ์๋ค. ์ ๊ฒฝ๋ง์ ์ถ๋ ฅ์์ ์
๋ ฅํ ๋ฐ์ดํฐ๋ฅผ ์ฌํํ๋๋ก ํ์ตํ์ง๋ง, ์๋์ธต์ ํฌ๊ธฐ๋ ์
๋ ฅ๋ณด๋ค ์๋ค. ์ธ์ฝ๋๋ก ๋ฐ์ดํฐ๋ฅผ ์์ถํ๊ณ ๋์ฝ๋๋ก ์์ถํ ๋ฐ์ดํฐ๋ฅผ ์๋ ๋ฐ์ดํฐ๋ก ๋ณต์ํ๋ค. ์
๋ ฅ ๋ฐ์ดํฐ๊ฐ ์ด๋ฏธ์ง๋ผ๋ฉด ์๋์ธต์ ์ธ์ฝ๋์ ๋์ฝ๋๋ฅผ ์ด์ฉํด ์๋ ์ด๋ฏธ์ง๋ณด๋ค ์ ์ ๋ฐ์ดํ
จ ์์ผ๋ก ์ด๋ฏธ์ง์ ํน์ง์ ์ ์ง ํ๋ค. ์ฆ ์คํ ์ธ์ฝ๋๋ ์ ๊ฒฝ๋ง์ ์ด์ฉํ ์
๋ ฅ์ ์์ถ๊ณผ ๋ณต์์ด๋ผ๊ณ ์ดํดํ๋ฉด ์ฝ๋ค.
์คํ ์ธ์ฝ๋๋ ์ง๋ ๋ฐ์ดํฐ๊ฐ ํ์ ์์ผ๋ฏ๋ก ๋น์ง๋ ํ์ต์ด๋ค. ์
๋ ฅ๊ณผ ์ถ๋ ฅ์ ์ฐจ์ด๋ฅผ ์ด์ฉํด ๋น์ ์์ ์ธ ๊ฐ์ ์ฐพ์ ์ ์์ผ๋ฏ๋ก ์ฐ์
ํ์ฅ์ ๋ฌธ์ ๋ถ๋ถ ๊ฐ์ง ๋ฑ์ ์ฌ์ฉํ๋ค.
[VAE]
์์ฑ๋ชจ๋ธ(generative model) ์ ํ๋ จ ๋ฐ์ดํฐ๋ฅผ ํ์ตํ ํ ํด๋น ๋ฐ์ดํฐ์ ๋น์ทํ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ ๋ชจ๋ธ์ด๋ค. ๋ฅ๋ฌ๋์์๋ ์์ฑ ๋ชจ๋ธ์ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๊ธฐ๋ ํ๋ค. ์์ฑ ๋ชจ๋ธ์ VAE์ GAN์ด ๋ํ์ ์ด๋ค.
VAE(Variational autoencoder)๋ ์ ์ฌ๋ณ์(latent vatiable)๋ฅผ ์ด์ฉํ์ฌ ํ๋ จ ๋ฐ์ดํฐ์ ํน์ง์ ํ์
ํ ํ ํ๋ จ ๋ฐ์ดํฐ์ ๋น์ทํ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ค.
VAE๋ ๋จผ์ ์ธ์ฝ๋๋ฅผ ์ด์ฉํด ์
๋ ฅ์์ ํ๊ท ๋ฒกํฐ $\mu$์ ๋ถ์ฐ ๋ฒกํฐ$\sigma$๋ฅผ ๊ณ์ฐ ํฉ๋๋ค. ์ด๋ฅผ ๋ฐํ์ผ๋ก ์ ์ฌ ๋ณ์ z๋ฅผ ํ๋ฅ ์ ๋ฐ๋ผ ์ํ๋งํ ํ, ๋์ฝ๋๋ฅผ ์ด์ฉํด z์์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฌํํ๋ค.
VAE์ ํน์ง ์ค ํ๋๋ ์ ์ฌ ๋ณ์ z๋ฅผ ์กฐ์ ํ์ฌ ์ฐ์ํด์ ๋ณํ๋ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ ์ ์๋ค.
์ ์ฌ ๋ณ์ z๋ฅผ ์ฐ์ํด์ ๋ณํ์์ผ ์์ฑ๋๋ฏ๋ก ๋งค๋ฒ ๊ฐ์ด ๋ณํํ๋ค. ๋ฐ๋ผ์ ๋ ธ์ด์ฆ์ ์ํฅ์ ์ ๊ฒ ๋ฐ๊ณ ์ฐ์ ๋ถํฌ์ด๋ฏ๋ก ์ถ๋ ฅ ํน์ฑ์ ์กฐ์ ํ ์ ์๋ค. VAE๋ ์ค์ ๋ก ๋ ธ์ด์ฆ ์ ๊ฑฐ, ๋ฌธ์ ๋ฐ๊ฒฌ, ํด๋ฌ์คํฐ๋ง ๋ฑ์ ํ์ฉ๋๋ค.
'๐พ Deep Learning' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Tensorflow Initializer ์ด๊ธฐํ ์ข ๋ฅ (0) | 2021.02.18 |
---|---|
VAE(Variational Autoencoder) (2) (0) | 2021.02.18 |
nvidia-smi ์ต์ (0) | 2021.02.16 |
RNN์ ์ด์ฉํ ์ด๋ฏธ์ง ์์ฑ(feat.MNIST) (0) | 2021.02.15 |
[DL] GRU (gated recurrent unit) (0) | 2021.02.10 |