๐ ํด๋น ํฌ์คํ ์ OREILLY์ '๋ฏธ์ ๊ด์ GAN ๋ฅ๋ฌ๋ ์ค์ ํ๋ก์ ํธ' ์์ ์ ์ฝ๊ณ ๊ฐ์ธ์ ์ธ ๋ชฉ์ ํ์ ์์ฑ๋๋ ๊ธ์ ๋๋ค. ํฌ์คํ ์ ์ฌ์ฉ๋๋ ๋ชจ๋ ์๋ฃ๋ ์ ๊ฐ ์ง์ ์ฌ๊ตฌ์ฑํ์์์ ์๋ฆฝ๋๋ค.
์ด๋ฒ ํฌ์คํ ์์๋ ์์ฑ ๋ชจ๋ธ์ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ์ธ AutoEncoder(AE)์ ๋ํด ์์๋ณธ๋ค. ๊ทธ๋ฆฌ๊ณ AE์ ๋จ์ ์ ์ดํด๋ณด๋ฉด์ ์ด๋ฅผ ๊ทน๋ณตํด ํด๊ฒฐํ๋ Variational AutoEncoder(VAE)์ ๋ํด์๋ ์์๋ณด์.
1. ์ ์ฌ ๊ณต๊ฐ์ ํน์ ํฌ์ธํธ์ ๋งคํํ๋ ๋ชจ๋ธ: AE
AE๋ผ๊ณ ๋ถ๋ฆฌ๋ AutoEncoder ๋ชจ๋ธ์ ์ฌ์ค ์์ ํฌ์คํ ์ ์๊ฐํ ์ ์ด ์๋ค. ํ์ง๋ง ์๋ ์์ ์ด๊ณ , ๊ทธ ๋ ๋น์์๋ ์์ฑํ ๋ชจ๋ธ ์ธก๋ฉด๋ณด๋ค๋ ๋ฐ์ดํฐ๋ฅผ ๋ณต๊ตฌํ๋ ์ธก๋ฉด์์ AE์ ๋ํด๋ฐฐ์ ์๋ค. ํ์ง๋ง ์ด๋ฒ ํฌ์คํ ์์๋ ์์ฑํ ๋ชจ๋ธ ์ธก๋ฉด์์ AE๊ฐ ์ด๋ค ๋ฅ๋ ฅ์ ๋ฐํํ ์ ์๋์ง ์ดํด๋ณด๋ค. AE๋ ์๋ค์ํผ ์ธ์ฝ๋ 1๊ฐ์ ๋์ฝ๋ 1๊ฐ๋ก ๊ตฌ์ฑ๋์ด ์๋ ๊ตฌ์กฐ์ด๋ค.
์ ๊ตฌ์กฐ๋ฅผ ๋ณด๋ฉด ์ธ์ฝ๋๋ ๊ณ ์ฐจ์์ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์ ์ฐจ์์ ํํ ๋ฒกํฐ(Representaion Vector)๋ก ์์ถ์ ํ๋ค. ์ ์ฐจ์์ ํํ ๋ฒกํฐ๋ ํํ ์ด์ผ๊ธฐํ๋ ์ ์ฌ(Latent) ๋ฒกํฐ ๊ณต๊ฐ์ ์์นํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ์์ถ๋ ๋ฒกํฐ๋ฅผ ๋์ฝ๋๊ฐ ๋ค์ ์๋ณธ ์ฐจ์์ผ๋ก ๋ณต์์ ์ํํ๋ค.
AE๋ ์ผ๋ฐ์ ์ผ๋ก ์ ๋ ฅ ๋ฐ์ดํฐ์ ์ต์ข ์์ํ์ธ ์ฌ๊ตฌ์ฑ ๋ฐ์ดํฐ ๊ฐ์ ์ฐจ์ด ์ฆ, ์์ค ๊ฐ์ ์ต์ํํ๋ ์ต์ ์ ํ๋ผ๋ฏธํฐ(๊ฐ์ค์น)๋ฅผ ์ฐพ๊ธฐ ์ํด AE ๋คํธ์ํฌ๊ฐ ํ์ต๋๋ค. ํ์ง๋ง AE๋ ์์ฑ ๋ชจ๋ธ์ ์์ด์ ํ๊ณ์ ๋ค์ ์ฝ๊ฒ ๋๋ฌ๋ธ๋ค. ์ด ํ๊ณ์ ๋ค์ ์์๋ณด๊ธฐ์ ์์, ์ผ๋ผ์ค์ ํ ์ํ๋ก์ฐ๋ฅผ ํ์ฉํด์ AE ๋ชจ๋ธ์ ์ง์ ๋ง๋ค์ด๋ณด์. ๊ตฌ์ฒด์ ์ผ๋ก ์ด๋ค ์ฝ๋๋ก AE๋ฅผ ๋ง๋๋ ์ง๋ ์์ ์ ์ฝ๋๋ฅผ ์ฐธ๊ณ ํด์ ๋ง๋ ํ์ ๊นํ ์ฝ๋๋ฅผ ์ฒจ๋ถํ๋ค.
์ฒจ๋ถ ์ฝ๋ ์ค ์์คํจ์ ๋ถ๋ถ์ ๋ณด๋ฉด RMSE๋ก ์ ์ํ ๊ฒ์ ๋ณผ ์ ์๋ค. ๋ฌผ๋ก ์ฌ๊ธฐ์ ์ด์ง ๋ถ๋ฅ ์ ์์ฃผ ์ฌ์ฉ๋๋ ์์คํจ์๋ก์ ์ด์ง ํฌ๋ก์ค ์ํธ๋กํผ๋ฅผ ์ฌ์ฉํ๊ธฐ๋ ํ๋ค. ํ์ง๋ง ์ด์ง ํฌ๋ก์ค ์ํธ๋กํผ๋ ๊ทน๋จ์ ์ผ๋ก ์๋ชป๋ ์์ธก์ ํ ๋๋ ํฐ ํจ๋ํฐ๋ฅผ ๋ถ์ฌํ๊ธฐ ๋๋ฌธ์ ํฝ์ ์์ธก๊ฐ์ ์ค๊ฐ ๋ฒ์๋ก ๋ง๋๋ ๊ฒฝํฅ์ด ์๋ค. ์๋ํ๋ฉด ํฌ๋ก์ค ์ํธ๋กํผ ๊ณต์์ ์ดํด๋ณด๋ฉด ๊ทธ ์ด์ ๋ฅผ ์ ์ ์๋๋ฐ, ์ ๋ต์ด ์๋ ๊ฒฝ์ฐ์ ๊ณ์ฐ์ ๋ฐ๋ก 0์ผ๋ก ๋ง๋ค์ด๋ฒ๋ฆฌ๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋ ๊ณง ์์ฑ ๋ชจ๋ธ์์ ์๋ก์ด ์ด๋ฏธ์ง๋ฅผ ์์ฑํ์ ๋ ํด๋น ์ด๋ฏธ์ง๊ฐ ์ค์ ์ด๋ฏธ์ง์ฒ๋ผ ๋ณด์ด์ง ์๊ฒ ๋ง๋ค๊ฒ ๋๋ค. ๊ทธ๋์ ์ฑ ์์ ์๋ RMSE๋ก ์์คํจ์๋ฅผ ์ ํธํ๋ค๊ณ ์ด์ผ๊ธฐ ํ๋ค.
์ด์ AE๋ฅผ ํ์ต์ํจ ํ, ์ด๋ฏธ์ง๋ฅผ ์ด๋ป๊ฒ ์ ์ฌ ๊ณต๊ฐ์ ํํํ๋์ง๋ฅผ ์ดํด๋ณด๋๋ก ํ์. ์ด ์ ์ฌ ๊ณต๊ฐ์ ๋ถ์ํด๋ณด๋ ์ฝ๋๋ ์ฌ๊ธฐ๋ฅผ ์ฐธ์กฐํ์. ๋จผ์ ๋ชจ๋ธ์ด ํ์ตํ ์ ์ด ์๋ ํ ์คํธ ์ด๋ฏธ์ง๋ฅผ ๊ณจ๋ผ์ AE์ ์ธ์ฝ๋ ๋ถ๋ถ์ ํต๊ณผ์ํจ ๋ค์ 2์ฐจ์ ๊ณต๊ฐ์ ์ฐ์ ๋๋ฅผ ๊ทธ๋ ค๋ณผ ์ ์๋ค. ์๋ ๊ทธ๋ฆผ์ ๋ณด์.(์๋ ์ฐ์ ๋์ x์ถ, y์ถ์ 2์ฐจ์ ๋ฒกํฐ์ ๊ฐ ์ฐจ์์ ์๋ฏธํ๊ณ , ๋ฒ๋ก(legend) ๊ฐ์ ์๋ณธ ์ด๋ฏธ์ง์ ๋ ์ด๋ธ(์ซ์ 0~9) ๊ฐ์ ์๋ฏธ)
AE๋ ์์ ๊ฐ์ 2์ฐจ์ ์ ์ฌ ๊ณต๊ฐ ๋ฒกํฐ์์ ๋๋คํ๊ฒ ํ๋์ ๋ฒกํฐ๋ฅผ ์ํ๋งํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ๋์ฝ๋ ์ธํ์ผ๋ก ๋ฃ์ด ํ์ต ๋ฐ์ดํฐ์๋ ์กด์ฌํ์ง ์์ง๋ง ํ์ต ๋ฐ์ดํฐ์ ๋งค์ฐ ๋น์ทํ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ ๊ฒ์ด AE์ ๋ชฉ์ ์ด์ ์์ฑํ ๋ชจ๋ธ์ ๋ชฉ์ ์ด๋ค. ํ์ง๋ง ์์ ๊ฐ์ ์ ์ฌ ๊ณต๊ฐ ๋ฒกํฐ์ ์ฐ์ ๋๋ ํฌ๊ฒ 3๊ฐ์ง ๋ฌธ์ ์ ์ด ์กด์ฌํ๋ค.
์ฒซ์งธ๋ก, ์ ์ฌ ๊ณต๊ฐ์ ๋ฒกํฐ ํฌ์ธํธ๋ค์ ๋ถํฌ๊ฐ ๊ท ์ผํ์ง ์๋ค. ์ด ๋ง์ ๊ณง ์ ์ฌ ๊ณต๊ฐ์์ ๋๋ค ํฌ์ธํธ๋ฅผ ์ ํํ๊ธฐ์๋ ์ ์ ํ์ง ์์ผ๋ฉฐ ์ํ๋งํ๋ ๋ฐ์ดํฐ๋ ์ด๋ค ๋ ์ด๋ธ์ ๋ถํฌ๋ก ์น์ฐ์ณ์ง๊ธฐ ๋ง๋ จ์ด๋ค. ๋๋ฒ์งธ, ์์ฑ๋ ์ด๋ฏธ์ง์ ๋ค์์ฑ์ด ๋ถ์กฑํ ๊ฒ์ด๋ผ๋ ๊ฒ ์์๋๋ค. ์๋ํ๋ฉด ๋ ์ด๋ธ ์ข ๋ฅ์ ๋ฐ๋ผ ์ ์ฌ ๊ณต๊ฐ์ ๋ฒกํฐ ๋ถํฌ ํํ๊ฐ ์๋ก ๋ง์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ด๋ค. ๋จ์ ์ธ ์๋ก, ๋นจ๊ฐ์ ๊ณ์ด ํฌ์ธํธ์ ํด๋นํ๋ ๋ ์ด๋ธ์ธ ์ซ์ 8,9์ ํด๋นํ๋ ์ ์ฌ๊ณต๊ฐ ๋ฒกํฐ ๋ถํฌ๋์ ๋ณด๋ผ์ ๊ณ์ด์ ํด๋นํ๋ ๋ ์ด๋ธ์ธ ์ซ์ 0,1์ ํด๋นํ๋ ์ ์ฌ๊ณต๊ฐ ๋ฒกํฐ ๋ถํฌ๋๋์ ์๋ก ๋ง์ด ๋ค๋ฅธ ๊ฒ์ ๋ณผ ์ ์๋ค. ์ด๋ฐ ๊ฒฝ์ฐ, ์ ์ฌ ๊ณต๊ฐ์์ ๋๋ค ์ํ๋ง์ ์งํํ๊ฒ ๋๋ฉด ํผ์ ธ์๋ ์ ๋๊ฐ ๋ ํฐ(๋ถ์ฐ์ด ํฐ) ์ซ์ 0,1 ์ฒ๋ผ ๋ณด์ด๋ ์ด๋ฏธ์ง๋ง์ ๋ง๋ค ๊ฐ๋ฅ์ฑ์ด ๋์์ง๋ค. ๋ง์ง๋ง ์ธ๋ฒ์งธ๋ก๋ ์์ฑ๋ ์ด๋ฏธ์ง์ ํ์ง์ด ๋์๋ค. ์ค์ ๋ก ์๋ ๊ทธ๋ฆผ์ ์ ์ฌ๊ณต๊ฐ ๋ฒกํฐ ํฌ์ธํธ๋ค๋ก๋ถํฐ ์ํ๋งํด์ ๋์ฝ๋์ ๋ฃ๊ณ ์ฌ์์ฑํ ์ด๋ฏธ์ง๋ค์ด๋ค. ์ด๋ AE๊ฐ ์๋ณธ ๋ฐ์ดํฐ๋ฅผ ์ ์ฌ๊ณต๊ฐ์ ํน์ ํฌ์ธํธ๋ก ๋งคํํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ฆ, ์ธ์ฝ๋๊ฐ ๊ฒฐ์ ์ (deterministic)ํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ฌ์์ฑ๋ ์ด๋ฏธ์ง๋ค ์ค ์ซ์๋ฅผ ์ ๋๋ก ํํํ ๊ฒ๋ ์ผ๋ถ ์์ง๋ง(์ซ์ 0์ ๊ฒฝ์ฐ..) ์ซ์ 3์ด๋ 6๊ณผ ๊ฐ์ ์ด๋ฏธ์ง๋ค์ ํํ๊ฐ ์ ๋งค๋ชจํธํ๊ฑฐ๋ ์๋ชป๋ ์ด๋ฏธ์ง์์ ์ ์ ์๋ค.
์ด๊ฒ๊ณผ ๋๋ถ์ด ๋ ํฐ ๋ฌธ์ ๊ฐ ๋๋ ์ ์ ์ค์์ ๋ฐ์ง๋์ด ์๋ ํฌ์ธํธ๋ค ์กฐ์ฐจ๋ ์ ๋๋ก ๋ ์ด๋ฏธ์ง๋ก ์ฌ์์ฑ(๋์ฝ๋ฉ)๋์ง ์์ ์๋ ์๋ค๋ ๊ฒ์ด๋ค. ์๋ํ๋ฉด AE๋ ์ ์ฌ ๊ณต๊ฐ์ ์ฐ์์ ์ผ๋ก ๋ง๋ค์ง ์๊ธฐ ๋๋ฌธ์ด๋ค. ์๋ฅผ ๋ค์ด์, ์ซ์ 9์ 2์ฐจ์ ์ ์ฌ ๊ณต๊ฐ ๋ฒกํฐ๊ฐ (-5, 5)์ด๊ณ ์ด ๋ฒกํฐ๋ฅผ ํตํด์ ์ ๋ง ๋น์ทํ ์ซ์ 9์ ์๋ก์ด ์ด๋ฏธ์ง๋ฅผ ์ ์์ฑํ๋ค๊ณ ํด๋ณด์. ๊ทธ๋ ๋ค๊ณ ํด์ (-5.5, 5.5)์ธ ์ ์ฌ ๊ณต๊ฐ ๋ฒกํฐ๋ ๋๊ฐ์ด ์ซ์ 9์ ์๋ก์ด ์ด๋ฏธ์ง๋ฅผ ํ๋ฅญํ๊ฒ ์ ์์ฑํ๋ผ๋ ๋ณด์ฅ์ด ์๋ค.
์ ์ฌ ๊ณต๊ฐ์ 2์ฐจ์์ผ๋ก ๋ง๋ค ๊ฒฝ์ฐ, ์ด๋ฐ ๋ฌธ์ ๋ฅผ ์ฝ๊ฒ ๊ฐ์งํ๊ธฐ ์ด๋ ต๋ค. ์๋ํ๋ฉด ์ ์ด์ '2์ฐจ์'์ด๋ผ๋ ์ฐจ์ ์๊ฐ ๋งค์ฐ ์ ์ ์ฐจ์ ์์ด๊ณ , 2์ฐจ์์ด๋ผ๋ ๊ณต๊ฐ ์์์ ์ ์ฌ ๊ณต๊ฐ ๋ฒกํฐ๋ฅผ ํํํ๋ฉด(์์ ์ฐ์ ๋ ์ฒ๋ผ) ์๋์ ์ผ๋ก ๋ ์ด๋ธ ์ซ์ ๋ณ๋ก ์ฐ์ ๋ ๋ถํฌ ๊ฐ๊ฒฉ์ด ์๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ง๋ง ํ์ค ์ธ๊ณ์ ๋ณต์กํ ์ด๋ฏธ์ง, ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ํญ์ 2์ฐจ์์ผ๋ก ์ ์ฌ ๊ณต๊ฐ ๋ฒกํฐ ์ฐจ์์ ๊ตฌ์ฑํ ์ ์๋ค. ๊ฒฐ๊ตญ, ์ ์ฌ ๊ณต๊ฐ ์ฐจ์ ์๋ฅผ ๋๋ ค๊ฐ์ผ ํ๊ณ ๋๋ ค๊ฐ์ ๋ฐ๋ผ ๋ ์ด๋ธ ๊ทธ๋ฃน ๊ฐ์ ๋ถํฌ๋ ๊ฐ๊ฒฉ์ ์ ์ฐจ ๋์ด์ง๊ฒ ๋๋ค. ์ด๋ ๊ฒ ๊ฐ๊ฒฉ์ด ๋์ด์ง๊ฒ ๋๋ฉด ๋น์ด์๋ ๊ณต๊ฐ์์ ์ํ๋ง์ ํด์ ๋์ฝ๋ฉ์ ํ๋ ์๊ฐ ์ธํ ๋ฐ์ดํฐ์๋ ๋งค์ฐ ๋ค๋ฅด๊ณ ์ฉ๋ฑ๋ง์ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๊ฒ ๋ ๊ฒ์ด๋ค. ์ด๋ฌํ AE์ ๋ฌธ์ ์ ์ ์ด๋ป๊ฒ ํด๊ฒฐํ ๊น?
2. ์ ์ฌ ๊ณต๊ฐ์ ์ ๊ท ๋ถํฌ๋ก ๋งคํํ๋ ๋ชจ๋ธ : VAE
์ ๋ชฉ์ฐจ์ ๋ง์ง๋ง ๋ถ๋ถ์์ AE์ ํ๊ณ์ ์ ์ดํด๋ณด์๋ค. AE๊ฐ ์ด๋ฌํ ํ๊ณ์ ์ ๊ฐ๋ ์ด์ ๋ ๋ฌด์์ผ๊น? ๋ฐ๋ก AE๋ ์๋ณธ ์ธํ(์๋ฅผ ๋ค์ด, ์๋ณธ ์ด๋ฏธ์ง)์ ์ ์ฌ ๊ณต๊ฐ์ ํน์ ํ ํ๋์ ํฌ์ธํธ์ ์ง์ ๋งคํ์ํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๊ฒ ๋ฌด์จ ์๋ฏธ์ผ๊น? ์๋ ๊ทธ๋ฆผ์ ๋ณด์.
์ ๊ทธ๋ฆผ์ AE, VAE์ 2์ฐจ์์ ์ ์ฌ๊ณต๊ฐ์ ํํํ ๊ฒ์ด๋ค. ์ผ์ชฝ์ AE๋ฅผ ๋ณด๋ฉด 6์ด๋ผ๋ ์๋ณธ ์ด๋ฏธ์ง๋ฅผ ํ๋์ ํน์ ํ ์ ์ผ๋ก ๋งคํํ์๋ค. ํ์ง๋ง ์ค๋ฅธ์ชฝ์ VAE๋ฅผ ๋ณด๋ฉด ๋ค๋ณ์ ์ ๊ท๋ถํฌ ํํ๋ก ๋งคํํ ๊ฒ์ ๋ณผ ์ ์๋ค. ๊ณผ์ฐ "๋ค๋ณ์ ์ ๊ท๋ถํฌ ํํ๋ก ๋งคํํ ๊ฒ" ์ด๋ ๋ฌด์์ผ๊น. ์์ง์ ์ง๊ด์ ์ผ๋ก ์ดํด๊ฐ ๋์ง ์๋๋ค. ์ด๋ฅผ ์ดํดํ๊ธฐ ์ํด์ ๋จผ์ ์ ๊ท๋ถํฌ๋ผ๋ ๊ฐ๋ ์ ์ดํดํด๋ณด์.
2-1. ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์ํ๋งํ๋ ๊ทผ๊ฑฐ, ์ ๊ท๋ถํฌ!
์ ๊ท๋ถํฌ๋ผ๋ ๊ฒ์ ํํ๊ฐ ์ข ๋ชจ์์ธ ๊ณก์ ์ ๊ฐ์ง๋ ํ๋ฅ ๋ถํฌ๋ฅผ ์๋ฏธํ๋ค. ๋ง์ฝ ๋ฐ์ดํฐ๊ฐ 1์ฐจ์์ผ ๊ฒฝ์ฐ(์ฐ๋ฆฌ๊ฐ ํํ ์ํ ๊ต๊ณผ์์์ ๋ฐฐ์ธ๋) ํ๊ท ($\mu$)์ ๋ถ์ฐ(${\sigma}^2$)์ด๋ผ๋ ๊ฐ 2๊ฐ์ง๋ก ์ ์๊ฐ ๋๋ค. ์๋ค์ํผ ํ์คํธ์ฐจ($\sigma$)์ ์ ๊ณฑ์ ๋ถ์ฐ์ด๋ค. ๊ทธ๋์ 1์ฐจ์ ๋ฐ์ดํฐ์ ์ ๊ท ๋ถํฌ์ ํ๋ฅ ๋ฐ๋ ํจ์(์ด๋ฅธ๋ฐ PDF, Probability Distribution Function) ์์ ๋ค์๊ณผ ๊ฐ๋ค.
์ PDFํจ์์์ ํ๊ท ์ด 0, ๋ถ์ฐ์ด 1์ธ ํ์ค์ ๊ท๋ถํฌ์ผ ๋์ PDF ๋ชจ์, ๊ทธ๋ฆฌ๊ณ ํ๊ท ๊ณผ ๋ถ์ฐ์ด ๋ค๋ฅธ ์ข ๋ฅ์ ๊ฐ์ผ ๋ PDF ๋ชจ์์ ์๋์ ๊ฐ์ ํํ๋ฅผ ๋๋ค.
์ด์จ๊ฑด ํ๊ท ๊ณผ ๋ถ์ฐ์ด ์ด๋ ํ ํน์ ํ ๊ฐ(0์ด๋ 1์ด๋..)์ด๋ ๊ฐ์ ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ ์ ๊ท๋ถํฌ ํํ์ ๋ฐ์ดํฐ์์ ์๋ก์ด ๋ฐ์ดํฐ ํฌ์ธํธ $z$๋ฅผ ์ํ๋ง ํ ์ ์์ ๊ฒ์ด๋ค. ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์ํ๋งํ๋ ๊ฒ์ ์ง๊ด์ ์ผ๋ก ๋ํ๋ด๋ฉด ์๋์ ๊ฐ์ ๊ฒ์ด๋ค.(๋ฌผ๋ก ์๋ก์ด ๋ฐ์ดํฐ $z$ ์์ฒด๋ฅผ ์ ๊ท๋ถํฌ์์ ์ํ๋งํ๋ ๊ฒ์ ์๋๋ค.)
๊ทธ๋ฆฌ๊ณ ์์ ๊ฐ์ด ์๋ก์ด ๋ฐ์ดํฐ $z$๋ฅผ ์ํ๋งํ๋ ๊ณต์์ ์๋์ ๊ฐ๋ค.
$$z= \mu + {\sigma}{\varepsilon}$$
๊ทธ๋ฆฌ๊ณ ์ด ๊ณต์์์ $\varepsilon$์ ํ์ค ์ ๊ท๋ถํฌ์์ ์ํ๋งํ์ฌ ์๋ก์ด ๋ฐ์ดํฐ $z$๋ฅผ ๊ณ์ฐํ๋ค. ์ฌ๊ธฐ์ $\varepsilon$์ ์ญํ ์ ์ด๋ฏธ ์กด์ฌํ๋ ๋ฐ์ดํฐ๋ค(์ด๋ฅผ ํ๊ท ๊ณผ ๋ถ์ฐ์ผ๋ก ๊ณ์ฐ๋ ๊ฐ)๋ก๋ถํฐ ์ด๋ ์ ๋ ๋จ์ด์ ธ ์๋($\varepsilon$์ ๋ํด์ค) ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์๋กญ๊ฒ ๋ง๋ค๊ฒ ํ๋ ๊ฒ์ด๋ค.
๊ทธ๋ฌ๋ฉด ์ด์ ์ด 1์ฐจ์์ ์ ๊ท ๋ถํฌ ๊ฐ๋ ์ N์ฐจ์ ์ด์์ผ๋ก ํ์ฅํ ์ ์๋ค. ์ผ๋ฐ์ ์ธ $k$์ฐจ์ ๋ค๋ณ์ ์ ๊ท ๋ถํฌ์ ๋ํ ํ๋ฅ ๋ฐ๋ ํจ์๋ ๋ค์๊ณผ ๊ฐ๋ค.
๋ง์ฝ $k=2$ ์ฆ, 2์ฐจ์์ผ ๋๋ฅผ ์๊ฐํด๋ณด์. 2์ฐจ์ ์ด์๋ถํฐ๋ ๋ฐ์ดํฐ๋ฅผ ํ๋ ฌ ํํ์ ๋ฒกํฐ๋ก ํํํ๊ฒ ๋๋ค. ๋ฐ๋ผ์ 2์ฐจ์์ผ ๋์ ํ๊ท ๋ฒกํฐ ($\boldsymbol{\mu}$)์ ๊ณต๋ถ์ฐ ํ๋ ฌ ๋ฒกํฐ($\boldsymbol{\Sigma}$)๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋๋ค.
์ ๊ณต์์์ $\rho$๋ 2์ฐจ์ ๋ฐ์ดํฐ์ ๊ฐ ์ฐจ์ $x_1, x_2$ ๊ฐ์ ์๊ด๊ณ์๋ฅผ ์๋ฏธํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๋, VAE๋ ํน์ดํ๊ฒ ์ ์ฌ ๊ณต๊ฐ ์ฐจ์ ์ฌ์ด์๋ ์ฐจ์ ๊ฐ์ ์ด๋ ํ ์๊ด๊ด๊ณ๋ ์๋ค๊ณ ๊ฐ์ ํ๋ค. ๋ค์ ๋งํด, ์ ์์ ๊ณต๋ถ์ฐ ํ๋ ฌ ๋ฒกํฐ์ ์ ์๋ $\rho$๊ฐ 0์ด ๋จ์ผ๋ก์จ ์ต์ข ์ ์ผ๋ก ๊ณต๋ถ์ฐ ํ๋ ฌ ๋ฒกํฐ๋ ๋๊ฐ ์์๋ฅผ ์ ์ธํ ๋ชจ๋ ๊ฐ์ด 0์ธ ๋๊ฐ ํ๋ ฌ(diagonal matrix)์ด ๋๋ค.
๊ฒฐ๊ตญ, VAE์์ ์๋ณธ ๋ฐ์ดํฐ๋ฅผ ์ ์ฌ๊ณต๊ฐ์ ๋งคํํ ๋๋ ํ๊ท ๋ฒกํฐ($\boldsymbol{\mu}$)์ ๋ถ์ฐ ๋ฒกํฐ($\boldsymbol{\Sigma}$)์๋ง ๋งคํํ๋ฉด ๋๋ค๋ ๊ฒ์ด๋ค. ๋จ, VAE๋ ์ ๊ฒฝ๋ง ์ ๋์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๊ธฐ ๋๋ฌธ์ ์ผ๋ฐ์ ์ผ๋ก ์ ๊ฒฝ๋ง์ (์๋์ธต ๋๋ ์ถ๋ ฅ์ธต) ์ถ๋ ฅ๊ฐ ๋ฒ์๋ ์์ ๋ฌดํ๋ ~ ์์ ๋ฌดํ๋ ๋ฒ์์ ๋ชจ๋ ์ค์์ด๋ค. ํ์ง๋ง ๋ถ์ฐ์ ํญ์ ์์์ด๊ธฐ ๋๋ฌธ์ ๋ถ์ฐ์ ๋ก๊ทธ๋ฅผ ์ทจํ ๊ฐ์ ๋งคํ์ ํด์ค๋ค. ๊ฒฐ๊ตญ VAE๋ผ๋ ์์ฑํ ๋ชจ๋ธ์์ ์๋ก์ด ๋ฐ์ดํฐ ํฌ์ธํธ $z$๋ฅผ ์ํ๋งํ๋ ๊ณต์์ ์๋์ ๊ฐ๋ค.
$$z = \boldsymbol{\mu} + log{\boldsymbol{\Sigma}} * \epsilon$$
2-2. AE์ ์ธ์ฝ๋์ ์์คํจ์๋ฅผ ์์ ํ ๋ชจ๋ธ: VAE
VAE์ AE์ ์ฐจ์ด์ ์ด๋ผ๊ณ ํ๋ค๋ฉด AE์ ์ธ์ฝ๋์ ์์ค ํจ์๋ฅผ ์์ ํ ์ ์ด 2๊ฐ์ง์ด๋ค. ๊ทธ๋ฆฌ๊ณ [๋ชฉ์ฐจ 2-1]์์ ์์๋ณธ ๋ด์ฉ์ด ๋ฐ๋ก AE์ ์ธ์ฝ๋ ๋ถ๋ถ์ ์์ ํ ๋ด์ฉ์ ์์๋ณธ ๊ฒ์ด๋ค. ๊ฐ๋ตํ๊ฒ ๋ค์ ์์ฝํ๋ฉด AE๋ ์๋ณธ ๋ฐ์ดํฐ๋ฅผ ์ ์ฌ๊ณต๊ฐ์ (์ ๊ท ๋ถํฌ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ) ํน์ ํ ํ ํ๋์ ํฌ์ธํธ์ ๋งคํํ์ง๋ง VAE๋ ์ ๊ท ๋ถํฌ๋ฅผ ์ฌ์ฉํด์ ์๋ณธ ๋ฐ์ดํฐ๋ฅผ ์ ์ฌ๊ณต๊ฐ์ ์ฐ์์ ์ธ ๊ณต๊ฐ์ ๋งคํํ ๊ฒ์ด๋ค.
๊ทธ๋ฌ๋ฉด ์ด์ VAE๊ฐ AE์๋ ๋ค๋ฅธ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ๋๋จธ์ง ํ ๋ถ๋ถ์ ์์๋ณผ ์ฐจ๋ก์ด๋ค. ๊ทธ๊ฒ์ ์์คํจ์์ด๋ค. AE์์๋ ์ธํ์ธ ์๋ณธ ๋ฐ์ดํฐ์ ์ธ์ฝ๋์ ๋์ฝ๋๋ฅผ ํต๊ณผํ (์ธํ์ ์ฌ๊ตฌ์ฑํ) ์ถ๋ ฅ ๋ฐ์ดํฐ ๊ฐ์ RMSE ์์ค ํจ์๋ก๋ง ๊ตฌ์ฑํ์๋ค. ์ด๋ฅผ ์ฌ๊ตฌ์ฑ ์์ค(reconstruction loss)์ด๋ผ๊ณ ๋ ํ๋ค. VAE๋ ๋ฌผ๋ก AE์ฒ๋ผ ์ฌ๊ตฌ์ฑ ์์ค์ ์ฌ์ฉํ์ง๋ง ํ ๊ฐ์ง ๋ ์๋ก์ด ์ข ๋ฅ์ ์์ค ํจ์๋ฅผ ์ฌ์ฉํ๋ค. ๋ฐ๋ก KL-Divergence๋ผ๊ณ ๋ถ๋ฆฌ๋ ์ฟจ๋ฐฑ-๋ผ์ด๋ธ๋ฌ ๋ฐ์ฐ์ด๋ค.(์ด๋ฅผ ์ ์ฌ ์์ค(latent loss)๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค)
KL ๋ฐ์ฐ์ ๋ ํ๋ฅ ๋ถํฌ ๊ฐ์ ์ฐจ์ด๊ฐ ์ผ๋ง๋ ๋๋์ง ์ธก์ ํ๋ ๋๊ตฌ์ด๋ค. VAE์์๋ ๊ทธ๋ฌ๋ฉด ์ด๋ค 2๊ฐ์ ํ๋ฅ ๋ถํฌ ๊ฐ์ ์ฐจ์ด๋ฅผ ์ธก์ ํ๋ค๋ ๊ฑธ๊น? ํ๋๋ ์์์ ์์๋ณธ ํ๊ท ์ด $\boldsymbol{\mu}$์ด๊ณ ๋ถ์ฐ์ด $log{\boldsymbol{\Sigma}}$์ธ ์ ๊ท๋ถํฌ์ด๊ณ , ๋๋จธ์ง ํ๋๋ ํ์ค ์ ๊ท๋ถํฌ์ด๋ค. ์์์ผ๋ก ๋ํ๋ด๋ฉด ์๋์ ๊ฐ๋ค.
์ ๊ณต์์์์ $\sigma$๋ ์๊น ์ดํด๋ณธ ๊ณต๋ถ์ฐ ๋ฒกํฐ๊ฐ ์๋ ๋ชจ๋ ํฉ์ ์ทจํ๋ผ๋ ์๋ฏธ์ ์๊ทธ๋ง ๊ธฐํธ์ธ ์ ์ ์ฃผ์ํ์. ์ด์จ๊ฑด ์ํ์ ์ธ ์์์ ์์ ๊ฐ์ง๋ง pseudo-code ํํ๋ก ๋ํ๋ด๋ฉด ์๋์ ๊ฐ๋ค.
kl_loss = -0.5 * sum(1 + log_var - mu^2 - exp(log_var))
๋ง์ฝ ์ ์ฌ ๊ณต๊ฐ์ด 1์ฐจ์์ด๋ผ๋ฉด ์ ์์ 1๋ฒ๋ง ๊ณ์ฐํ๋ฉด ๋์ง๋ง ์ ์ฌ ๊ณต๊ฐ์ด N์ฐจ์์ด๋ผ๋ฉด ์ ์์ N๋ฒ ๊ณ์ฐํด์ผ ํ๋ค. KL ๋ฐ์ฐ ์์ ๋ณด๋ฉด ์๊ฒ ์ง๋ง ํ๊ท ($\boldsymbol{\mu}$)๊ณผ (๋ก๊ทธ)๋ถ์ฐ($log{\boldsymbol{\Sigma}}$)์ด ๋ชจ๋ 0์ผ ๋ KL ๋ฐ์ฐ ์์ค ๊ฐ์ ์ต์๊ฐ ๋๋ค. ๋ฐ๋๋ก ํ๊ท ๊ณผ ๋ถ์ฐ์ด 0์์ ๋ฉ์ด์ง ๋ KL ๋ฐ์ฐ ์์ค์ ์ ์ ์ฆ๊ฐํ๋ค. ์ ๋ฆฌํ๋ฉด KL ๋ฐ์ฐ ์์ค์ ์๋กญ๊ฒ ์์ฑ๋๋ ๋ฐ์ดํฐ๊ฐ ํ์ค ์ ๊ท ๋ถํฌ(ํ๊ท ์ด 0, (๋ก๊ทธ)๋ถ์ฐ์ด 0)์์ ๋ง์ด ๋ฒ์ด๋ ๊ฐ์ผ์๋ก ์์ค ๊ฐ์ ๋์ฌ VAE์ ์ธ์ฝ๋ ๋ถ๋ถ์ ํ๋ํฐ๋ฅผ ๊ฐํ๊ฒ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ KL ๋ฐ์ฐ ์์ค์ ์ถ๊ฐํ๋ ๊ฒ์ด ๋์์ด ๋ ๊น? ์ฒซ์งธ๋ก๋ ์๋ณธ ์ธํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฌ ๊ณต๊ฐ์ ๋งคํํ ๋ ์ฌ์ฉํ ์ ์๋ ์ ์ ์๋ ๋ถํฌ ์ฆ, ํ์ค ์ ๊ท๋ถํฌ๋ฅผ ๊ฐ๊ฒ๋๋ค. ์๋ํ๋ฉด ์ง์ ์ ๋ฐฐ์ด ๊ฒ์ฒ๋ผ KL ๋ฐ์ฐ ์์ค์ ํ์ค ์ ๊ท๋ถํฌ๋ ๊ฐ๊น์ฐ๋ฉด ๊ฐ๊น์ธ์๋ก ์์ค ๊ฐ์ด ๋ฎ์์ง๊ธฐ ๋๋ฌธ์ด๊ณ ๋ชจ๋ธ์ ์ด ์์ค ๊ฐ์ ๋ฎ์ถ๋ ๋ชฉํ๋ฅผ ์ค์ ํ๊ณ ํ์ตํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋ ๊ฒ ํ์ค ์ ๊ท๋ถํฌ์ ๊ฐ๊น์ด ํํ๋ผ๋ฉด ์ด ๋ถํฌ์์ ์ํ๋งํ ์๋ก์ด ๋ฐ์ดํฐ๋ VAE๊ฐ ์ ์๊ณ ์๋ ์์ญ ์์ ํฌ์ธํธ๋ฅผ ์ ํํ ๊ฐ๋ฅ์ฑ์ด ๋์์ง๊ฒ ๋๋ค.
๋๋ฒ์งธ๋ก๋ ์ ์ฌ ๊ณต๊ฐ์ ๋ถํฌ๋ฅผ ํ์ค ์ ๊ท ๋ถํฌ ํํ์ ๊ฐ๊น๊ฒ ๋ง๋ค๊ธฐ ๋๋ฌธ์ ์ ์ฌ ๊ณต๊ฐ์์์ ํฌ์ธํธ๋ค ๊ตฐ์ง๋ค ์ฌ์ด์ ํฐ ๊ฐ๊ฒฉ์ด ์๊ธธ ๊ฐ๋ฅ์ฑ์ด ์ ์ด์ง๋ค. ์ด ํฐ ๊ฐ๊ฒฉ์ด ์๊ธฐ๋ ๋ฌธ์ ๋ ์ฐ๋ฆฌ๊ฐ ์์์ AE์ ํ๊ณ์ ์ค ํ๋์ธ ๊ฒ์ ์ดํด๋ณด์์๋ค. ํ์ง๋ง ๊ฐ๊ฒฉ์ด ์๊ธธ ๊ฐ๋ฅ์ฑ์ ์ ์ด์ง์ง๋ง ์ ์ฌ๊ณต๊ฐ์ ๋ถํฌ๋ฅผ ํ์ค ์ ๊ท๋ถํฌ ํํ๋ก ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ์์ ์ฃผ๋ณ์ ๊ณต๊ฐ๋ง์ ๋์นญ์ ์ผ๋ก ์ฌ์ฉํ๋ ค๊ณ ํ๋ค.(ํ์ค์ ๊ท๋ถํฌ์ ํ๊ท ์ 0์ด๊ธฐ ๋๋ฌธ!)
๊ฒฐ๊ตญ, VAE์ ์ต์ข ์์ค ๊ฐ์ RMSE์ ๊ฐ์ ์ฌ๊ตฌ์ฑ ์์ค๊ณผ KL ๋ฐ์ฐ ๊ฐ์ ์ ์ฌ ์์ค ๊ฐ์ ํฉ์น๊ฒ ๋๋ค. ๋ ๋์๊ฐ, ์ผ์ข ์ ํ์ดํผํ๋ผ๋ฏธํฐ ํํ๋ก์ ์ฌ๊ตฌ์ฑ ์์ค์ ์์ ๊ฐ์ ๊ณฑํ์ฌ KL ๋ฐ์ฐ ์์ค๊ณผ ๊ท ํ์ ๋ง์ถ๋๋ก ํด์ค๋ค. ๋ ์์ค์ trade-off ๊ด๊ณ๋ฅผ ๊ฐ๋๋ฐ, ์ฌ๊ตฌ์ฑ ์์ค์ ๊ฐ์ค์น๋ฅผ ๋๋ฌด ํฌ๊ฒ ๋๋ฉด KL ์์ค์ ๊ธฐ์ฌ๋๊ฐ ๋ฎ์์ ธ AE์์ ๋ฐ์ํ๋ "์ฌ๊ตฌ์ฑ๋ ์ด๋ฏธ์ง๊ฐ ์ฉ๋ฑ๋ง์ ์ด๋ฏธ์ง๊ฐ ๋์ค๋" ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค. ๋ฐ๋๋ก ์ฌ๊ตฌ์ฑ ์์ค์ ๊ฐ์ค์น๋ฅผ ๋๋ฌด ์๊ฒ ๋๋ฉด ์ฌ๊ตฌ์ฑ ์์ค์ ๊ธฐ์ฌ๋๊ฐ ๋ฎ์์ ธ ์ฌ๊ตฌ์ฑ ์ด๋ฏธ์ง์ ํ์ง์ด ๋๋น ์ง๊ฒ ๋๋ค. ๋ฐ๋ผ์ ๋ ์์ค ๊ฐ์ ์ ๋นํ ํํ์ (?)์ ์ฐพ์์ผ ํ๋ค. ๊ตฌ์ฒด์ ์ผ๋ก VAE์ ์ต์ข ์์ค ํจ์๊ฐ ์ฝ๋๋ก ์ด๋ป๊ฒ ๊ตฌํ๋๋์ง๋ ํ์์ ๊ฐ์ธ ๊นํ์์ ์ดํด๋ณผ ์ ์๋ค. ๋ชจ๋ธ ๋น๋ ์ฝ๋๋ ์ฌ๊ธฐ, ํ์ต ์ฝ๋๋ ์ฌ๊ธฐ์๋ค.
๊ทธ๋ฌ๋ฉด ์ด์ VAE์ ์ธ์ฝ๋๊ฐ ๋ง๋ค์ด๋ธ ์ ์ฌ๊ณต๊ฐ์ ๋ฒกํฐ๋ค์ AE ๋์ฒ๋ผ 2์ฐจ์ ํํ๋ก ์๊ฐํํด๋ณด์. ์๋ ๊ทธ๋ฆผ์ ๋ณด์.
๋ฒ๋ก๊ฐ์ ์๊น์ ์ซ์ ์ด๋ฏธ์ง์ ๋ ์ด๋ธ์ ์๋ฏธํ๋ค. AE ๋์๋ ๋ฌ๋ฆฌ ์๊น(๋ ์ด๋ธ)๋ง๋ค ๋น์ทํ ์์ญ์ ์ฐจ์งํ๊ณ ์์์ ์ ์ ์๋ค. ๋ํ ํน์ ์๊น์ ํฌ์ธํธ๋ค๋ง ๋งค์ฐ ํผ์ ธ์๋ค๊ฑฐ๋ ํ๋ ํ์๋ AE ๋๋ณด๋ค ํจ์ฌ ์ค์ด๋ค์๋ค. ์ ์์์์๋ ์ ์ฌ ๊ณต๊ฐ์ ๋จ์ง 2์ฐจ์์ผ๋ก ์ง์ ํ์ง๋ง ์ด๋ฐ VAE์ ๋ฅ๋ ฅ์ ์ ์ฌ ๊ณต๊ฐ์ ์ฐจ์์๊ฐ ์ฆ๊ฐํ๋ฉด ๋ ๋ฐํ๋๋ค.
๊ฒฐ๊ตญ VAE๋ ๋ชจ๋ธ์ ๋ฌด์์์ฑ์ ๊ฐ๋ฏธํ๊ณ ๋ฐ์ดํฐ ํฌ์ธํธ๋ค์ด ์ ์ฌ ๊ณต๊ฐ ๋ด์์ ๋ถํฌ๋๋ ๋ฐฉ์์ ํ์ค์ ๊ท๋ถํฌ ๋ชจ์์ ๋๋๋ก ์ ํํจ์ผ๋ก์จ AE์ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ฒ ๋๋ค.
AE, VAE๋ฅผ ๊ตฌํํ๋ฉด์ ๋ฏ์ ์ฐ์ฐ์ ๋ง์ฃผํ๋ค. ๋ฐ๋ก Transpose Convolution ์ฐ์ฐ์ด๋ค. ์ผ๋ฐ Convolution ์ฐ์ฐ์ ๋ง์ด ๋ค์ด๋ณด๊ณ ์ฌ์ฉ๋ ํด๋ณด์์ ๋ช ํํ ์ดํดํ๊ณ ์๋๋ฐ, Transpose Convolution์ ์ ๋ชฐ๋๋ค. ์ค์ ๋ก AE, VAE๋ฅผ ๊ตฌํํ ๋ Decoder ๋ถ๋ถ์ Transpose Convolution์ ์ด์ฉํ๊ธฐ๋ ํ๋ค.(๋ฌผ๋ก ๋ชจ๋ธ์ ๋ฐ๋ผ Up-sampling์ ์ฌ์ฉํ๊ธฐ๋ ํจ)
Transpose Convolution์ด ์ด๋ป๊ฒ ์ฐ์ฐ๋๋์ง ์ดํดํด๋ณด๋๋ก ํ์. ๋ด์ฉ์ ์ถ์ฒ๋ ์ค๋๋ฅ ์ ๊ต์๋์ ์งง์ ์ ํฌ๋ธ ๊ฐ์๋ฅผ ์์ฒญํ๊ณ ์ ๋ฆฌํด๋ณด์๋ค.
์ฐ์ ์ผ๋ฐ์ ์ธ ์ปจ๋ณผ๋ฃจ์ ์ ์๋ GIF ๊ทธ๋ฆผ์ฒ๋ผ ์ธํ์ ํํฐ๋ฅผ ์ ์ฉํ์ฌ ์์ํ์ ํฌ๊ธฐ๋ฅผ ์ค์ด๋ค๊ฒ ํ๋ค.
๋ฐ๋ฉด์ Transpose ์ปจ๋ณผ๋ฃจ์ ์ ์ธํ์ ํํฐ๋ฅผ ์ ์ฉํ์ฌ ์์ํ์ ํฌ๊ธฐ๋ฅผ '๋๋ฆฌ๊ฒ'ํ๋ ๋ชฉ์ ์ด ์๋ค. ์ฐ์ ์ฐ๋ฆฌ๋ ์๋์ ๊ฐ์ ์ธํ๊ณผ ํํฐ๊ฐ ์๋ค๊ณ ๊ฐ์ ํ์.
์ ๊ทธ๋ฆผ์๋ 2 by 2 ์ธํ์ 3 by 3 ํํฐ๋ฅผ ์ ์ฉํด์ 4 by 4 ์์ํ์ ์ถ๋ ฅํ๋ ๊ฒ์ผ๋ก ๋์ด ์๋ค. ํ์ง๋ง Transpose ์ปจ๋ณผ๋ฃจ์ ๋ ์ผ๋ฐ ์ปจ๋ณผ๋ฃจ์ ์ฒ๋ผ ์์ํ์ ์ ์ฉ๋ padding๊ณผ ํํฐ๊ฐ ์์ง์ด๋ ๊ฐ๊ฒฉ์ธ stride๋ฅผ ๋ช ์ํ ์ ์๋ค. ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ padding = 1, stride = 2๋ก ๋ช ์ํ๋ค๊ณ ๊ฐ์ ํ๊ณ ์ต์ข ์ ์ผ๋ก ์๋์ ๊ฐ์ด 5 by 5 ์์ํ์ ์ถ๋ ฅํ๋๋ก ํ ๊ฒ์ด๋ค.
์ฐธ๊ณ ๋ก padding์ ๋ค์ด๊ฐ๋ ๊ฐ์ ๋ณดํต 0์ ๋ฃ๋ zero padding์ด ์ ์ฉ๋๋ค.(๊ธฐ๋ณธ์ ์ผ๋ก pytorch๋ zero padding์ ์ ์ฉ) ํ์ง๋ง ๊ผญ 0์ ๋ฃ์ผ๋ ๋ฒ์ ์๊ณ , ์ปค์คํ ํ๊ฒ ๊ฐ์ ๋ฃ์ด์ค ์ ์๋ค.
์, ๊ทธ๋ฌ๋ฉด ์ด์ ๋จ๊ณ๋ณ๋ก ํ๋ํ๋์ฉ ์ดํด๋ณด์. ์๋ gif ๊ทธ๋ฆผ์ ๋ฐ๋ณตํด์ ์ฒ์ฒํ ์ดํดํด๋ณด์.
ํจ๋ฉ๋ ๋ ธ๋์ ๋ถ๋ถ์ ์ด์ฐจํผ zero padding ๋ถ๋ถ์ด๋ผ ๊ฐ์ด 0์ด๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฆผ ์์์๋ ๋ณ๋์ ๊ณ์ฐํ๋ ์์ ์ง์ด๋ฃ์ง๋ ์์๋ค. ๊ทธ๋์ ํํฐ๊ฐ ํจ๋ฉ์ ๊ฒน์น๋ ๋ถ๋ถ์ด๋ฉด ๊ณ์ฐ์ ์๋ตํ๋ค. ์ด๋ ๊ฒ Transpose ์ปจ๋ณผ๋ฃจ์ ์ฐ์ฐ์ด ์ด๋ป๊ฒ ์ด๋ฃจ์ด์ง๋์ง ์๊ฒ๋๋ฉด Pytorch์ ConvTranspose2d ํจ์๋ฅผ ์ฌ์ฉํ ๋ argument ๊ฐ์ ์๋ฏธ๋ฅผ ์ข ๋ ์ ํํ ์ดํดํ๊ณ ์ฌ์ฉํ ์ ์์ ๊ฒ์ด๋ค.
๋ค์ ์ฅ๋ถํฐ๋ AE, VAE์๋ ๋ค๋ฅธ ์ข ๋ฅ์ ์์ฑ ๋ชจ๋ธ์ธ ์์ฑ์ ์ ๋ ๋คํธ์ํฌ(Generative Adversarial Network), ์ด๋ฅธ๋ฐ GAN์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ๋ชจ๋ธ์ ๋ํด ๋ฐฐ์๋ณด๋๋ก ํ์.