๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Data Science/Generative AI

[GenAI] ๊ธฐ๋ณธ์ ์ธ ์ƒ์„ฑ ๋ชจ๋ธ: AE ์™€ VAE

๋ฐ˜์‘ํ˜•

๐Ÿ”Š ํ•ด๋‹น ํฌ์ŠคํŒ…์€  OREILLY์˜ '๋ฏธ์ˆ ๊ด€์— GAN ๋”ฅ๋Ÿฌ๋‹ ์‹ค์ „ ํ”„๋กœ์ ํŠธ' ์„œ์ ์„ ์ฝ๊ณ  ๊ฐœ์ธ์ ์ธ ๋ชฉ์  ํ•˜์— ์ž‘์„ฑ๋˜๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค. ํฌ์ŠคํŒ…์— ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋“  ์ž๋ฃŒ๋Š” ์ œ๊ฐ€ ์ง์ ‘ ์žฌ๊ตฌ์„ฑํ•˜์˜€์Œ์„ ์•Œ๋ฆฝ๋‹ˆ๋‹ค.

 

์ถœ์ฒ˜: Yes24


์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ƒ์„ฑ ๋ชจ๋ธ์˜ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ์ธ AutoEncoder(AE)์— ๋Œ€ํ•ด ์•Œ์•„๋ณธ๋‹ค. ๊ทธ๋ฆฌ๊ณ  AE์˜ ๋‹จ์ ์„ ์‚ดํŽด๋ณด๋ฉด์„œ ์ด๋ฅผ ๊ทน๋ณตํ•ด ํ•ด๊ฒฐํ•˜๋Š” Variational AutoEncoder(VAE)์— ๋Œ€ํ•ด์„œ๋„ ์•Œ์•„๋ณด์ž.

1. ์ž ์žฌ ๊ณต๊ฐ„์˜ ํŠน์ • ํฌ์ธํŠธ์— ๋งคํ•‘ํ•˜๋Š” ๋ชจ๋ธ: AE

AE๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” AutoEncoder ๋ชจ๋ธ์€ ์‚ฌ์‹ค ์˜ˆ์ „ ํฌ์ŠคํŒ…์— ์†Œ๊ฐœํ•œ ์ ์ด ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์›Œ๋‚™ ์˜ˆ์ „์ด๊ณ , ๊ทธ ๋•Œ ๋‹น์‹œ์—๋Š” ์ƒ์„ฑํ˜• ๋ชจ๋ธ ์ธก๋ฉด๋ณด๋‹ค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต๊ตฌํ•˜๋Š” ์ธก๋ฉด์—์„œ AE์— ๋Œ€ํ•ด๋ฐฐ์› ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ƒ์„ฑํ˜• ๋ชจ๋ธ ์ธก๋ฉด์—์„œ AE๊ฐ€ ์–ด๋–ค ๋Šฅ๋ ฅ์„ ๋ฐœํœ˜ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์‚ดํŽด๋ณด๋‹ค. AE๋Š” ์•Œ๋‹ค์‹œํ”ผ ์ธ์ฝ”๋” 1๊ฐœ์™€ ๋””์ฝ”๋” 1๊ฐœ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š” ๊ตฌ์กฐ์ด๋‹ค. 

 

 

์ถœ์ฒ˜: Keras blog(https://blog.keras.io/building-autoencoders-in-keras.html)

 

์œ„ ๊ตฌ์กฐ๋ฅผ ๋ณด๋ฉด ์ธ์ฝ”๋”๋Š” ๊ณ ์ฐจ์›์˜ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์ฐจ์›์˜ ํ‘œํ˜„ ๋ฒกํ„ฐ(Representaion Vector)๋กœ ์••์ถ•์„ ํ•œ๋‹ค. ์ €์ฐจ์›์˜ ํ‘œํ˜„ ๋ฒกํ„ฐ๋Š” ํ”ํžˆ ์ด์•ผ๊ธฐํ•˜๋Š” ์ž ์žฌ(Latent) ๋ฒกํ„ฐ ๊ณต๊ฐ„์— ์œ„์น˜ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ์••์ถ•๋œ ๋ฒกํ„ฐ๋ฅผ ๋””์ฝ”๋”๊ฐ€ ๋‹ค์‹œ ์›๋ณธ ์ฐจ์›์œผ๋กœ ๋ณต์›์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. 

 

AE๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์™€ ์ตœ์ข… ์•„์›ƒํ’‹์ธ ์žฌ๊ตฌ์„ฑ ๋ฐ์ดํ„ฐ ๊ฐ„์˜ ์ฐจ์ด ์ฆ‰, ์†์‹ค ๊ฐ’์„ ์ตœ์†Œํ™”ํ•˜๋Š” ์ตœ์ ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ(๊ฐ€์ค‘์น˜)๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด AE ๋„คํŠธ์›Œํฌ๊ฐ€ ํ•™์Šต๋œ๋‹ค. ํ•˜์ง€๋งŒ AE๋Š” ์ƒ์„ฑ ๋ชจ๋ธ์— ์žˆ์–ด์„œ ํ•œ๊ณ„์ ๋“ค์„ ์‰ฝ๊ฒŒ ๋“œ๋Ÿฌ๋‚ธ๋‹ค. ์ด ํ•œ๊ณ„์ ๋“ค์„ ์•Œ์•„๋ณด๊ธฐ์— ์•ž์„œ, ์ผ€๋ผ์Šค์™€ ํ…์„œํ”Œ๋กœ์šฐ๋ฅผ ํ™œ์šฉํ•ด์„œ AE ๋ชจ๋ธ์„ ์ง์ ‘ ๋งŒ๋“ค์–ด๋ณด์ž. ๊ตฌ์ฒด์ ์œผ๋กœ ์–ด๋–ค ์ฝ”๋“œ๋กœ AE๋ฅผ ๋งŒ๋“œ๋Š” ์ง€๋Š” ์›์ €์ž ์ฝ”๋“œ๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ๋งŒ๋“  ํ•„์ž ๊นƒํ—™ ์ฝ”๋“œ๋ฅผ ์ฒจ๋ถ€ํ•œ๋‹ค.

 

์ฒจ๋ถ€ ์ฝ”๋“œ ์ค‘ ์†์‹คํ•จ์ˆ˜ ๋ถ€๋ถ„์„ ๋ณด๋ฉด RMSE๋กœ ์ •์˜ํ•œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋ฌผ๋ก  ์—ฌ๊ธฐ์„œ ์ด์ง„ ๋ถ„๋ฅ˜ ์‹œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์†์‹คํ•จ์ˆ˜๋กœ์„œ ์ด์ง„ ํฌ๋กœ์Šค ์—”ํŠธ๋กœํ”ผ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ด์ง„ ํฌ๋กœ์Šค ์—”ํŠธ๋กœํ”ผ๋Š” ๊ทน๋‹จ์ ์œผ๋กœ ์ž˜๋ชป๋œ ์˜ˆ์ธก์„ ํ•  ๋•Œ๋Š” ํฐ ํŒจ๋„ํ‹ฐ๋ฅผ ๋ถ€์—ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ”ฝ์…€ ์˜ˆ์ธก๊ฐ’์„ ์ค‘๊ฐ„ ๋ฒ”์œ„๋กœ ๋งŒ๋“œ๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ํฌ๋กœ์Šค ์—”ํŠธ๋กœํ”ผ ๊ณต์‹์„ ์‚ดํŽด๋ณด๋ฉด ๊ทธ ์ด์œ ๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ •๋‹ต์ด ์•„๋‹Œ ๊ฒฝ์šฐ์— ๊ณ„์‚ฐ์„ ๋ฐ”๋กœ 0์œผ๋กœ ๋งŒ๋“ค์–ด๋ฒ„๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋Š” ๊ณง ์ƒ์„ฑ ๋ชจ๋ธ์—์„œ ์ƒˆ๋กœ์šด ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ–ˆ์„ ๋•Œ ํ•ด๋‹น ์ด๋ฏธ์ง€๊ฐ€ ์‹ค์ œ ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ ๋ณด์ด์ง€ ์•Š๊ฒŒ ๋งŒ๋“ค๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ž˜์„œ ์ฑ… ์›์ €์ž๋Š” RMSE๋กœ ์†์‹คํ•จ์ˆ˜๋ฅผ ์„ ํ˜ธํ•œ๋‹ค๊ณ  ์ด์•ผ๊ธฐ ํ•œ๋‹ค.

 

์ด์ œ AE๋ฅผ ํ•™์Šต์‹œํ‚จ ํ›„, ์ด๋ฏธ์ง€๋ฅผ ์–ด๋–ป๊ฒŒ ์ž ์žฌ ๊ณต๊ฐ„์— ํ‘œํ˜„ํ–ˆ๋Š”์ง€๋ฅผ ์‚ดํŽด๋ณด๋„๋ก ํ•˜์ž. ์ด ์ž ์žฌ ๊ณต๊ฐ„์„ ๋ถ„์„ํ•ด๋ณด๋Š” ์ฝ”๋“œ๋Š” ์—ฌ๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์ž. ๋จผ์ € ๋ชจ๋ธ์ด ํ•™์Šตํ•œ ์ ์ด ์—†๋Š” ํ…Œ์ŠคํŠธ ์ด๋ฏธ์ง€๋ฅผ ๊ณจ๋ผ์„œ AE์˜ ์ธ์ฝ”๋” ๋ถ€๋ถ„์„ ํ†ต๊ณผ์‹œํ‚จ ๋‹ค์Œ 2์ฐจ์› ๊ณต๊ฐ„์— ์‚ฐ์ ๋„๋ฅผ ๊ทธ๋ ค๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ์„ ๋ณด์ž.(์•„๋ž˜ ์‚ฐ์ ๋„์˜ x์ถ•, y์ถ•์€ 2์ฐจ์› ๋ฒกํ„ฐ์˜ ๊ฐ ์ฐจ์›์„ ์˜๋ฏธํ•˜๊ณ , ๋ฒ”๋ก€(legend) ๊ฐ’์€ ์›๋ณธ ์ด๋ฏธ์ง€์˜ ๋ ˆ์ด๋ธ”(์ˆซ์ž 0~9) ๊ฐ’์„ ์˜๋ฏธ)

 

ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ค‘ ์ƒ˜ํ”Œ 5000๊ฐœ์— ๋Œ€ํ•œ 2์ฐจ์› ์ž ์žฌ ๊ณต๊ฐ„ ๋ฒกํ„ฐ๋ฅผ ์‚ฐ์ ๋„๋กœ ํ‘œํ˜„

 

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์˜ ์ž ์žฌ๊ณต๊ฐ„

 

์œ„ ๊ทธ๋ฆผ์€ AE, VAE์˜ 2์ฐจ์›์˜ ์ž ์žฌ๊ณต๊ฐ„์„ ํ‘œํ˜„ํ•œ ๊ฒƒ์ด๋‹ค. ์™ผ์ชฝ์˜ AE๋ฅผ ๋ณด๋ฉด 6์ด๋ผ๋Š” ์›๋ณธ ์ด๋ฏธ์ง€๋ฅผ ํ•˜๋‚˜์˜ ํŠน์ •ํ•œ ์ ์œผ๋กœ ๋งคํ•‘ํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ ์˜ค๋ฅธ์ชฝ์˜ VAE๋ฅผ ๋ณด๋ฉด ๋‹ค๋ณ€์ˆ˜ ์ •๊ทœ๋ถ„ํฌ ํ˜•ํƒœ๋กœ ๋งคํ•‘ํ•œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๊ณผ์—ฐ "๋‹ค๋ณ€์ˆ˜ ์ •๊ทœ๋ถ„ํฌ ํ˜•ํƒœ๋กœ ๋งคํ•‘ํ•œ ๊ฒƒ" ์ด๋ž€ ๋ฌด์—‡์ผ๊นŒ. ์•„์ง์€ ์ง๊ด€์ ์œผ๋กœ ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค. ์ด๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋จผ์ € ์ •๊ทœ๋ถ„ํฌ๋ผ๋Š” ๊ฐœ๋…์„ ์ดํ•ดํ•ด๋ณด์ž.

2-1. ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ˜ํ”Œ๋งํ•˜๋Š” ๊ทผ๊ฑฐ, ์ •๊ทœ๋ถ„ํฌ!

์ •๊ทœ๋ถ„ํฌ๋ผ๋Š” ๊ฒƒ์€ ํ˜•ํƒœ๊ฐ€ ์ข… ๋ชจ์–‘์ธ ๊ณก์„ ์„ ๊ฐ€์ง€๋Š” ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๋งŒ์•ฝ ๋ฐ์ดํ„ฐ๊ฐ€ 1์ฐจ์›์ผ ๊ฒฝ์šฐ(์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์ˆ˜ํ•™ ๊ต๊ณผ์„œ์—์„œ ๋ฐฐ์šธ๋•Œ) ํ‰๊ท ($\mu$)์™€ ๋ถ„์‚ฐ(${\sigma}^2$)์ด๋ผ๋Š” ๊ฐ’ 2๊ฐ€์ง€๋กœ ์ •์˜๊ฐ€ ๋œ๋‹ค. ์•Œ๋‹ค์‹œํ”ผ ํ‘œ์ค€ํŽธ์ฐจ($\sigma$)์˜ ์ œ๊ณฑ์€ ๋ถ„์‚ฐ์ด๋‹ค. ๊ทธ๋ž˜์„œ 1์ฐจ์› ๋ฐ์ดํ„ฐ์˜ ์ •๊ทœ ๋ถ„ํฌ์˜ ํ™•๋ฅ  ๋ฐ€๋„ ํ•จ์ˆ˜(์ด๋ฅธ๋ฐ” PDF, Probability Distribution Function) ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

1์ฐจ์› ๋ฐ์ดํ„ฐ์ผ ๋•Œ ์ •๊ทœ๋ถ„ํฌ์˜ ํ™•๋ฅ ๋ฐ€๋„ํ•จ์ˆ˜ ์‹

 

์œ„ PDFํ•จ์ˆ˜์—์„œ ํ‰๊ท ์ด 0, ๋ถ„์‚ฐ์ด 1์ธ ํ‘œ์ค€์ •๊ทœ๋ถ„ํฌ์ผ ๋•Œ์˜ PDF ๋ชจ์–‘, ๊ทธ๋ฆฌ๊ณ  ํ‰๊ท ๊ณผ ๋ถ„์‚ฐ์ด ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ๊ฐ’์ผ ๋•Œ PDF ๋ชจ์–‘์€ ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•ํƒœ๋ฅผ ๋ˆ๋‹ค.

 

ํ‰๊ท ๊ณผ ๋ถ„์‚ฐ์— ๋”ฐ๋ฅธ ์ •๊ทœ๋ถ„ํฌ PDF์˜ ๋ชจ์–‘ ์ฐจ์ด ๊ทธ๋ž˜ํ”„

 

์–ด์จŒ๊ฑด ํ‰๊ท ๊ณผ ๋ถ„์‚ฐ์ด ์–ด๋– ํ•œ ํŠน์ •ํ•œ ๊ฐ’(0์ด๋˜ 1์ด๋˜..)์ด๋˜ ๊ฐ„์— ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ์ •๊ทœ๋ถ„ํฌ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ์—์„œ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ $z$๋ฅผ ์ƒ˜ํ”Œ๋ง ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ˜ํ”Œ๋งํ•˜๋Š” ๊ฒƒ์„ ์ง๊ด€์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์„ ๊ฒƒ์ด๋‹ค.(๋ฌผ๋ก  ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ $z$ ์ž์ฒด๋ฅผ ์ •๊ทœ๋ถ„ํฌ์—์„œ ์ƒ˜ํ”Œ๋งํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.)

 

ํŠน์ •ํ•œ ์ •๊ทœ๋ถ„ํฌ์—์„œ ์šฐ๋ฆฌ๋Š” ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ $z$๋ฅผ ์ƒ˜ํ”Œ๋ง ํ•  ์ˆ˜ ์žˆ๋‹ค!

 

๊ทธ๋ฆฌ๊ณ  ์œ„์™€ ๊ฐ™์ด ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ $z$๋ฅผ ์ƒ˜ํ”Œ๋งํ•˜๋Š” ๊ณต์‹์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

$$z= \mu + {\sigma}{\varepsilon}$$

๊ทธ๋ฆฌ๊ณ  ์ด ๊ณต์‹์—์„œ $\varepsilon$์„ ํ‘œ์ค€ ์ •๊ทœ๋ถ„ํฌ์—์„œ ์ƒ˜ํ”Œ๋งํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ $z$๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ $\varepsilon$์˜ ์—ญํ• ์€ ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ๋ฐ์ดํ„ฐ๋“ค(์ด๋ฅผ ํ‰๊ท ๊ณผ ๋ถ„์‚ฐ์œผ๋กœ ๊ณ„์‚ฐ๋œ ๊ฐ’)๋กœ๋ถ€ํ„ฐ ์–ด๋Š ์ •๋„ ๋–จ์–ด์ ธ ์žˆ๋Š”($\varepsilon$์„ ๋”ํ•ด์คŒ) ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์ƒˆ๋กญ๊ฒŒ ๋งŒ๋“ค๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

๊ทธ๋Ÿฌ๋ฉด ์ด์ œ ์ด 1์ฐจ์›์˜ ์ •๊ทœ ๋ถ„ํฌ ๊ฐœ๋…์„ N์ฐจ์› ์ด์ƒ์œผ๋กœ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ $k$์ฐจ์› ๋‹ค๋ณ€์ˆ˜ ์ •๊ทœ ๋ถ„ํฌ์— ๋Œ€ํ•œ ํ™•๋ฅ  ๋ฐ€๋„ ํ•จ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

๋ฐ์ดํ„ฐ๊ฐ€ $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}}$์ธ ์ •๊ทœ๋ถ„ํฌ์ด๊ณ , ๋‚˜๋จธ์ง€ ํ•˜๋‚˜๋Š” ํ‘œ์ค€ ์ •๊ทœ๋ถ„ํฌ์ด๋‹ค. ์ˆ˜์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

๋ฐ์ดํ„ฐ๊ฐ€ 1์ฐจ์›์ผ ๋•Œ, VAE์—์„œ์˜ KL Divergence ์†์‹ค ํ•จ์ˆ˜ ๊ณต์‹

 

์œ„ ๊ณต์‹์—์„œ์˜ $\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์ฐจ์› ํ˜•ํƒœ๋กœ ์‹œ๊ฐํ™”ํ•ด๋ณด์ž. ์•„๋ž˜ ๊ทธ๋ฆผ์„ ๋ณด์ž.

 

VAE์˜ ์ž ์žฌ๊ณต๊ฐ„ ๊ทธ๋ž˜ํ”„

 

๋ฒ”๋ก€๊ฐ’์˜ ์ƒ‰๊น”์€ ์ˆซ์ž ์ด๋ฏธ์ง€์˜ ๋ ˆ์ด๋ธ”์„ ์˜๋ฏธํ•œ๋‹ค. AE ๋•Œ์™€๋Š” ๋‹ฌ๋ฆฌ ์ƒ‰๊น”(๋ ˆ์ด๋ธ”)๋งˆ๋‹ค ๋น„์Šทํ•œ ์˜์—ญ์„ ์ฐจ์ง€ํ•˜๊ณ  ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ ํŠน์ • ์ƒ‰๊น”์˜ ํฌ์ธํŠธ๋“ค๋งŒ ๋งค์šฐ ํผ์ ธ์žˆ๋‹ค๊ฑฐ๋‚˜ ํ•˜๋Š” ํ˜„์ƒ๋„ AE ๋•Œ๋ณด๋‹ค ํ›จ์”ฌ ์ค„์–ด๋“ค์—ˆ๋‹ค. ์œ„ ์˜ˆ์‹œ์—์„œ๋Š” ์ž ์žฌ ๊ณต๊ฐ„์„ ๋‹จ์ง€ 2์ฐจ์›์œผ๋กœ ์ง€์ •ํ–ˆ์ง€๋งŒ ์ด๋Ÿฐ VAE์˜ ๋Šฅ๋ ฅ์€ ์ž ์žฌ ๊ณต๊ฐ„์˜ ์ฐจ์›์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•˜๋ฉด ๋” ๋ฐœํœ˜๋œ๋‹ค.

 

๊ฒฐ๊ตญ VAE๋Š” ๋ชจ๋ธ์— ๋ฌด์ž‘์œ„์„ฑ์„ ๊ฐ€๋ฏธํ•˜๊ณ  ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ๋“ค์ด ์ž ์žฌ ๊ณต๊ฐ„ ๋‚ด์—์„œ ๋ถ„ํฌ๋˜๋Š” ๋ฐฉ์‹์„ ํ‘œ์ค€์ •๊ทœ๋ถ„ํฌ ๋ชจ์–‘์„ ๋„๋„๋ก ์ œํ•œํ•จ์œผ๋กœ์จ AE์˜ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ฒŒ ๋œ๋‹ค.


AE, VAE๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ๋‚ฏ์„  ์—ฐ์‚ฐ์„ ๋งˆ์ฃผํ–ˆ๋‹ค. ๋ฐ”๋กœ Transpose Convolution ์—ฐ์‚ฐ์ด๋‹ค. ์ผ๋ฐ˜ Convolution ์—ฐ์‚ฐ์€ ๋งŽ์ด ๋“ค์–ด๋ณด๊ณ  ์‚ฌ์šฉ๋„ ํ•ด๋ณด์•„์„œ ๋ช…ํ™•ํžˆ ์ดํ•ดํ•˜๊ณ  ์žˆ๋Š”๋ฐ, Transpose Convolution์€ ์ž˜ ๋ชฐ๋ž๋‹ค. ์‹ค์ œ๋กœ AE, VAE๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ Decoder ๋ถ€๋ถ„์„ Transpose Convolution์„ ์ด์šฉํ•˜๊ธฐ๋„ ํ•œ๋‹ค.(๋ฌผ๋ก  ๋ชจ๋ธ์— ๋”ฐ๋ผ Up-sampling์„ ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•จ)

 

Transpose Convolution์ด ์–ด๋–ป๊ฒŒ ์—ฐ์‚ฐ๋˜๋Š”์ง€ ์ดํ•ดํ•ด๋ณด๋„๋ก ํ•˜์ž. ๋‚ด์šฉ์˜ ์ถœ์ฒ˜๋Š” ์•ค๋“œ๋ฅ˜ ์‘ ๊ต์ˆ˜๋‹˜์˜ ์งง์€ ์œ ํˆฌ๋ธŒ ๊ฐ•์˜๋ฅผ ์‹œ์ฒญํ•˜๊ณ  ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค.

 

์šฐ์„  ์ผ๋ฐ˜์ ์ธ ์ปจ๋ณผ๋ฃจ์…˜์€ ์•„๋ž˜ GIF ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์ธํ’‹์— ํ•„ํ„ฐ๋ฅผ ์ ์šฉํ•˜์—ฌ ์•„์›ƒํ’‹์˜ ํฌ๊ธฐ๋ฅผ ์ค„์–ด๋“ค๊ฒŒ ํ•œ๋‹ค.

 

์ผ๋ฐ˜์ ์ธ Convolution ์—ฐ์‚ฐ

 

๋ฐ˜๋ฉด์— Transpose ์ปจ๋ณผ๋ฃจ์…˜์€ ์ธํ’‹์— ํ•„ํ„ฐ๋ฅผ ์ ์šฉํ•˜์—ฌ ์•„์›ƒํ’‹์˜ ํฌ๊ธฐ๋ฅผ '๋Š˜๋ฆฌ๊ฒŒ'ํ•˜๋Š” ๋ชฉ์ ์ด ์žˆ๋‹ค. ์šฐ์„  ์šฐ๋ฆฌ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ์ธํ’‹๊ณผ ํ•„ํ„ฐ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž.

 

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 ๊ทธ๋ฆผ์„ ๋ฐ˜๋ณตํ•ด์„œ ์ฒœ์ฒœํžˆ ์ดํ•ดํ•ด๋ณด์ž.

 

Transpose ์ปจ๋ณผ๋ฃจ์…˜์˜ ๊ณผ์ •

 

ํŒจ๋”ฉ๋œ ๋…ธ๋ž€์ƒ‰ ๋ถ€๋ถ„์€ ์–ด์ฐจํ”ผ zero padding ๋ถ€๋ถ„์ด๋ผ ๊ฐ’์ด 0์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ฆผ ์†์—์„œ๋Š” ๋ณ„๋„์˜ ๊ณ„์‚ฐํ•˜๋Š” ์‹์„ ์ง‘์–ด๋„ฃ์ง€๋Š” ์•Š์•˜๋‹ค. ๊ทธ๋ž˜์„œ ํ•„ํ„ฐ๊ฐ€ ํŒจ๋”ฉ์— ๊ฒน์น˜๋Š” ๋ถ€๋ถ„์ด๋ฉด ๊ณ„์‚ฐ์„ ์ƒ๋žตํ–ˆ๋‹ค. ์ด๋ ‡๊ฒŒ Transpose ์ปจ๋ณผ๋ฃจ์…˜ ์—ฐ์‚ฐ์ด ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ง€๋Š”์ง€ ์•Œ๊ฒŒ๋˜๋ฉด Pytorch์˜ ConvTranspose2d ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ argument ๊ฐ’์˜ ์˜๋ฏธ๋ฅผ ์ข€ ๋” ์ •ํ™•ํžˆ ์ดํ•ดํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.


๋‹ค์Œ ์žฅ๋ถ€ํ„ฐ๋Š” AE, VAE์™€๋Š” ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ์ƒ์„ฑ ๋ชจ๋ธ์ธ ์ƒ์„ฑ์  ์ ๋Œ€ ๋„คํŠธ์›Œํฌ(Generative Adversarial Network), ์ด๋ฅธ๋ฐ” GAN์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๋ชจ๋ธ์— ๋Œ€ํ•ด ๋ฐฐ์›Œ๋ณด๋„๋ก ํ•˜์ž.

 

๋ฐ˜์‘ํ˜•