๐ก Image Captioning
์์ ๊ฐ์ ์ด๋ฏธ์ง๊ฐ ์ฃผ์ด์ก์ ๋ "ํ๋๋ฅผ ํ๋ ์ํผ"์ ๊ฐ์ ์บก์ ์ ์์ฑํ๋ ๊ฒ์ด๋ค.
์ฆ, ์ด๋ฏธ์ง๋ง์ ์ด์ฉํด์ ํด๋น ์ด๋ฏธ์ง์ ๋ํ ์ค๋ช ์ ๋ฌธ์ฅ์ผ๋ก ๋ํ๋ด์ค ์ ์๋๋ก ํ๋ ๊ฒโผ
์ฐธ๊ณ ์๋ฃ ๐จ๐จ๐จ
https://www.tensorflow.org/tutorials/text/image_captioning
๐ก CNN + RNN
โ CNN
ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง(Convolution Neural Network) ์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ์กด์ ๋ฐฉ์๊ณผ ๋ฌ๋ฆฌ ๋ฐ์ดํฐ์ ํน์ง์ ์ถ์ถํ์ฌ ํน์ง๋ค์ ํจํด์ ํ์ ํ๋ ๊ตฌ์กฐ์ด๋ค.
- Convolution : ๋ฐ์ดํฐ์ ํน์ง์ ์ถ์ถํ๋ ๊ณผ์ ์ผ๋ก ๋ฐ์ดํฐ์ ๊ฐ ์ฑ๋ถ์ ์ธ์ ์ฑ๋ถ๋ค์ ์กฐ์ฌํด ํน์ง์ ํ์ ํ๊ณ ํ์ ํ ํน์ง์ ํ ์ฅ์ผ๋ก ๋์ถ์ํค๋ ๊ณผ์ . ์ด ๊ณผ์ ์ ํ๋์ ์์ถ ๊ณผ์ ์ด๋ฉฐ ํ๋ผ๋ฏธํฐ์ ๊ฐฏ์๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ค์ฌ์ฃผ๋ ์ญํ ์ ํ๋ค.
- Pooling : Convolution ๊ณผ์ ์ ๊ฑฐ์น ๋ ์ด์ด์ ์ฌ์ด์ฆ๋ฅผ ์ค์ฌ์ฃผ๋ ๊ณผ์ ์ด๋ค. ๋ฐ์ดํฐ์ ์ฌ์ด์ฆ๋ฅผ ์ค์ฌ์ฃผ๊ณ , ๋ ธ์ด์ฆ๋ฅผ ์์์ํค๊ณ ๋ฏธ์ธํ ๋ถ๋ถ์์ ์ผ๊ด์ ์ธ ํน์ง์ ์ ๊ณตํ๋ค.
→ CNN์ ์ ๋ณด์ถ์ถ, ๋ฌธ์ฅ๋ถ๋ฅ, ์ผ๊ตด์ธ์ ๋ฑ์ ๋ถ์ผ์์ ๋๋ฆฌ ์ฌ์ฉ๋๊ณ ์์.
โ RNN
์ํ์ ๊ฒฝ๋ง(Recurrent Neural Network) ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ณต์ ์ด๊ณ ์์ฐจ์ ์ธ ๋ฐ์ดํฐ ํ์ต์ ํนํ๋ ์ธ๊ณต์ ๊ฒฝ๋ง์ ํ ์ข ๋ฅ๋ก์จ ๋ด๋ถ์ ์ํ๊ตฌ์กฐ๊ฐ ๋ค์ด์๋ค๋ ํน์ง์ ๊ฐ์ง๊ณ ์๋ค.
→ ์ํ๊ตฌ์กฐ๋ฅผ ์ด์ฉํ์ฌ ๊ณผ๊ฑฐ์ ํ์ต์ Weight๋ฅผ ํตํด ํ์ฌ ํ์ต์ ๋ฐ์ํจ. ๊ธฐ์กด์ ์ง์์ ์ด๊ณ ๋ฐ๋ณต์ ์ด๋ฉฐ ์์ฐจ์ ์ธ ๋ฐ์ดํฐ ํ์ต์ ํ๊ณ๋ฅผ ํด๊ฒฐํ ์๊ณ ๋ฆฌ์ฆ์ด๊ณ , ํ์ฌ์ ํ์ต๊ณผ ๊ณผ๊ฑฐ์ ํ์ต์ ์ฐ๊ฒฐ์ ๊ฐ๋ฅํ๊ฒ ํ๊ณ ์๊ฐ์ ์ข ์๋๋ค๋ ํน์ง๋ ๊ฐ์ง๊ณ ์์.
์์ฑ ์จ์ด๋ธ ํผ์ ํ์ ํ๊ฑฐ๋ ํ ์คํธ์ ์ ์ ์ฑ๋ถ์ ํ์ ํ ๋ ์ฃผ๋ก ์ฌ์ฉ๋จ.