๐ ์์ธ ์ ๋ฆฌ
- ๊ธฐ์กด์ CBOW๋ชจ๋ธ์ ๋ง๋ญ์น์ ํฌํจ๋ ์ดํ ์๊ฐ ๋ง์์ง๋ฉด ๊ณ์ฐ๋๋ ์ปค์ง๋ค๋ ๋จ์ ์ด ์์๋ค.
- ์ด๋ฅผ Embedding ๊ณ์ธต๊ณผ ๋ค๊ฑฐํฐ๋ธ์ํ๋ง์ด๋ผ๋ ์๋ก์ด ์ํํจ์๋ฅผ ์ด์ฉํ์ฌ ๊ฐ์ ํ ๊ฒ์ด๋ค.
4.1 word2vec ๊ฐ์ 1
- ๊ธฐ์กด์ CBOW๋ชจ๋ธ์์ ์ดํ๊ฐ 100๋ง๊ฐ๊ฐ ๋๋ค๊ณ ๊ฐ์ ํด๋ณด์.
- ๊ทธ๋ ๋ค๋ฉด ์
๋ ฅ์ธต์ $W_{in} = 1000000 * 100, W_{out} = 100 * 1000000$์ ํ๋ ฌ์ด ๋๋ค.
- ์ฌ์ง์ด ์ํซ ๋ฒกํฐ๋ผ ์๋นํ sparseํ๋ฐ..
- ์ด๋ฅผ Embedding ๊ณ์ธต ๋์ ์ผ๋ก ํด๊ฒฐํด๋ณด์.
- $W_{in}$์ Embedding์ผ๋ก, $W_{out}$์ ๋ค๊ฑฐํฐ๋ธ ์ํ๋ง์ผ๋ก ํด๊ฒฐํ ๊ฒ์ด๋ค.
- ๊ทธ๋ ๋ค๋ฉด ์
๋ ฅ์ธต์ $W_{in} = 1000000 * 100, W_{out} = 100 * 1000000$์ ํ๋ ฌ์ด ๋๋ค.
- 4.1.1 Embedding ๊ณ์ธต
- ๋ค์ํ๋ฒ ์ดํ ์๊ฐ 100๋ง๊ฐ์ธ ์ํฉ์ ์์ํด๋ณด์.
- ๋จ์ด์ ์ํซ๋ฒกํฐ๋ 100๋ง์ฐจ์..
- ๊ทธ๋ฐ๋ฐ, ์ด ์ฐ์ฐ์ด ๋ฌด์์ ์๋ฏธํ๋๊ฑธ๊น?
- ์ด๋ ๊ทธ์ ํ๋ ฌ์ ํน์ ํ์ ์ถ์ถํ๋ ๊ฒ๋ฟ์ด๋ค!
- ๋ค์๋งํด, ์ํซํํ์ผ๋ก์ ๋ณํ๊ฐ ํ๋ ฌ ๊ณฑ์ฐ์ฐ์ ์ฌ์ค ํฐ ํ์๊ฐ ์๋ค.
- ๊ฐ์ค์น ๋งค๊ฐ๋ณ์๋ก๋ถํฐ ๋จ์ด ID์ ํด๋นํ๋ ํ์ ์ถ์ถํ๊ธฐ๋ง ํ๋ฉด ๋๋ค.
- ํด๋น ๊ณ์ธต์ ๋ง๋ค์ด๋ณด์.
- ์ด๋ฅผ Embedding ๊ณ์ธต์ด๋ผ๊ณ ํ๊ณ , ๋จ์ด ์๋ฒ ๋ฉ์ด๋ผ๋ ์ฉ์ด์์ ์ ๋ํ๋ค.
- Embedding ๊ณ์ธต์ ๋จ์ด์ ๋ถ์ฐ ํํ์ ์ ์ฅํ ๊ฒ์ด๋ค.
- ๋ค์ํ๋ฒ ์ดํ ์๊ฐ 100๋ง๊ฐ์ธ ์ํฉ์ ์์ํด๋ณด์.
- 4.1.2 Embedding ๊ณ์ธต ๊ตฌํ
- ํ๋ ฌ์์ ํน์ ํ์ ์ถ์ถํ๋๊ฒ์ ๊ฝค๋ ์ฝ๋ค.
- $W$๊ฐ 2์ฐจ์ numpy ๋ฐฐ์ด์ด๋ผ๋ฉด, W[2]์ฒ๋ผ ์ํ๋ ํ์ ๋ช
์ํ๋ฉด ๋
- ์ ๋ ฅ์ธต ๋จ์ด๊ฐ ์ผ๋๋ ์ฝ๊ฒ ๋๋ค.
- ๋ฐ๋ผ์ ๊ตฌํ์์๋ W[idx]๋ก ์ธ๋ฑ์ฑ๋ง ์งํํ๋ฉด ๋๋ค.
- $W$๊ฐ 2์ฐจ์ numpy ๋ฐฐ์ด์ด๋ผ๋ฉด, W[2]์ฒ๋ผ ์ํ๋ ํ์ ๋ช
์ํ๋ฉด ๋
- ์ญ์ ํ์์๋ ๋๊ฐ์ด ์ ํด์ง ๊ธฐ์ธ๊ธฐ๋ฅผ idx๋ฒ์งธ ํ์ ์ ๋ฌํ๋ฉด ๋๋ค.
- ๊ทธ๋ฐ๋ฐ ์ฌ๊ธฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
- idx์ ์์๊ฐ ์ค๋ณต๋๋ค๋ฉด? ์๋ฅผ ๋ค์ด ์ ๋ ฅ์ธต์์ ๋ฃ์ ๋จ์ด์ธ๋ฑ์ค ๋ฐฐ์ด์ด [0, 2, 0, 4]๋ผ๋ฉด?
- ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ตฌํ ์ dW์ ์ธต์ 0์ผ๋ก ์ด๊ธฐํํ๊ณ ๊ฐ ์ธ๋ฑ์ค์ ๋ํด ๋ํด์ฃผ์.
- ํ๋ ฌ์์ ํน์ ํ์ ์ถ์ถํ๋๊ฒ์ ๊ฝค๋ ์ฝ๋ค.
4.2 word2vec ๊ฐ์ 2
- ์ฌ๊ธฐ์๋ ์๋์ธต ์ดํ์ ์ฒ๋ฆฌ, ์ฆ ํ๋ ฌ๊ณฑ๊ณผ Softmax๊ณ์ธต์ ๊ณ์ฐ ํํธ์ ๋ณ๋ชฉ์ ํด์ํ ๊ฒ
- ๋ค๊ฑฐํฐ๋ธ ์ํ๋ง์ ์ด์ฉํ ๊ฒ์ด๋ค.
- 4.2.1 ์๋์ธต ์ดํ ๊ณ์ฐ์ ๋ฌธ์ ์
- ์ธ์ ๋ ๊ทธ๋ฌ๋ฏ ์ดํ๊ฐ 100๋ง๊ฐ, ์๋์ธต ๋ด๋ฐ์ด 100๊ฐ๋ผ๊ณ ์๊ฐํด๋ณด์.
- $W_{out} = 100 * 1000000$ ์ ํ๋ ฌ ์ฐ์ฐ์ ํด์ 100๋ง ๊ธธ์ด์ ์ถ๋ ฅ์ธต์ ๋ง๋ค๊ณ
- ์ด์ softmax ํจ์๋ฅผ ์ ์ฉํด์ ํ๋ฅ ์ ์ป์ด๋ด์ผ ํ๋ค.
- ์ธ์ ๋ ๊ทธ๋ฌ๋ฏ ์ดํ๊ฐ 100๋ง๊ฐ, ์๋์ธต ๋ด๋ฐ์ด 100๊ฐ๋ผ๊ณ ์๊ฐํด๋ณด์.
- 4.2.2 ๋ค์ค ๋ถ๋ฅ์์ ์ด์ง ๋ถ๋ฅ๋ก
- ์ด ๊ธฐ๋ฒ์ ํต์ฌ ์์ด๋์ด๋ ๋ค์ค ๋ถ๋ฅ(multi-class classification)์ ์ด์ค ๋ถ๋ฅ(binary classification)์ผ๋ก ๊ทผ์ฌํ๋๋ฐ ์๋ค.
- 100๋ง๊ฐ์ ๋จ์ด ์ค ์ณ์ ๋จ์ด ํ๋๋ฅผ ๊ณ ๋ฅด๋ ๋ฌธ์ ๋ฅผ, ๋งฅ๋ฝ์ด ์ฃผ์ด์ก์ ๋ ํ๊น ๋จ์ด๋ say ์ ๋๊น? ๋ผ๋ ์ด์ง ๋ถ๋ฅ, ์ฆ ๊ฒฐ์ ๋ฌธ์ ๋ก ๋ฐ๊ฟ ์ ์๋ค.
- ๊ทธ๋ ๋ค๋ฉด ์ถ๋ ฅ์ธต์๋ ๋ด๋ฐ์ ํ๋๋ง ์ค๋นํ๋ฉด ๋๋ค!
- ๋ฐ๋ผ์ ์ฐ์ฐ์ $W_{out}[idx] = 100 * 1$ ๋ก ๋ฐ๋๊ฒ ๋๊ณ , ๊ธธ์ด 1์ ์ถ๋ ฅ์ธต๋ง sigmoid๋ฅผ ์ ์ฉํ๋ฉด ๋๊ฒ ๋์๋ค.
- ์ด ๊ธฐ๋ฒ์ ํต์ฌ ์์ด๋์ด๋ ๋ค์ค ๋ถ๋ฅ(multi-class classification)์ ์ด์ค ๋ถ๋ฅ(binary classification)์ผ๋ก ๊ทผ์ฌํ๋๋ฐ ์๋ค.
- 4.2.3 ์๊ทธ๋ชจ์ด๋ ํจ์์ ๊ต์ฐจ ์ํธ๋กํผ ์ค์ฐจ
- ์ด์ง ๋ถ๋ฅ ๋ฌธ์ ๋ฅผ ์ ๊ฒฝ๋ง์ผ๋ก ํ ๋์๋
- ์ ์์ ์๊ทธ๋ชจ์ด๋ ํจ์๋ฅผ ์ ์ฉํด ํ๋ฅ ๋ก ๋ณํํ๊ณ
- ์์ค์ ๊ตฌํ ๋์๋ ์์ค ํจ์๋ก ๊ต์ฐจ ์ํธ๋กํผ ์ค์ฐจ๋ฅผ ์ฌ์ฉํ๋ค.
- ์๊ทธ๋ชจ์ด๋ ํจ์๋ ์์์ ๋ฐฐ์ด๊ฒ๊ณผ ๊ฐ์ด ๋ค์๊ณผ ๊ฐ๊ณ ,
- $y = \frac{1}{1+e^{-x}}$
- ๊ต์ฐจ ์ํธ๋กํผ ์ค์ฐจ๋ ๋ค์๊ณผ ๊ฐ๋ค.
- $L = -(t\log y + (1-t)\log (1-y))$
- $y$๋ ์๊ทธ๋ชจ์ด๋ ํจ์์ ์ถ๋ ฅ, $t$๋ ์ ๋ต ๋ ์ด๋ธ
- $t = 1$์ผ ๋ Yes, $t = 0$์ผ๋ No
- ๋ฐ๋ผ์ $t = 1$์ผ๋ $-\log y$๊ฐ, $t = 0$์ผ ๋ $-\log (1-y)$๊ฐ ์ถ๋ ฅ๋๋ค
- ์ด๋ ์ญ์ ํ ๊ณ์ฐ ๊ฒฐ๊ณผ, Chain Rule๋ก ๊ณ์ฐ์ ์๋ฃํ๋ฉด ์ ๋ฌ๋๋ ์ค์ฐจ(๊ธฐ์ธ๊ธฐ)๊ฐ $y-t$๊ฐ ๋๋ค.
- $t = 0$์ผ๋๋ $y$๊ฐ ํฌ๋ฉด ํฌ๊ฒ ํ์ตํ๊ณ , $y$๊ฐ ์์ผ๋ฉด ์๊ฒ ํ์ตํ๋ค๋ ์๋ฏธ๋ ๋๋ค!
- ์ด์ง ๋ถ๋ฅ ๋ฌธ์ ๋ฅผ ์ ๊ฒฝ๋ง์ผ๋ก ํ ๋์๋
- 4.2.4 ๋ค์ค ๋ถ๋ฅ์์ ์ด์ง ๋ถ๋ฅ๋ก

- ์์ ๋ชจ๋ ์ต์ ํ๋ฅผ ๊ฑฐ์น ๊ทธ๋ฆผ์ ์์ ๊ฐ๋ค.
- ์ฌ๊ธฐ์ ์ถ๋ ฅ์ธต์ Embedding ๊ณ์ธต๊ณผ ๋ด์ ์ฐ์ฐ์ ํฉ์ณ์ Embedding dot ๊ณ์ธต์ผ๋ก ํํํ๋ฉด ์กฐ๊ธ ๋ ๊ฐ๋จํ๊ฒ๋ ๊ทธ๋ฆด ์ ์๋ค.
- Embedding dot ๊ณ์ธต์ $h, idx$๋ฅผ ์
๋ ฅ๋ฐ์์ ์ ์๋ฅผ ๋ฐํํ๋ค.
- ๋ด์ ์ $\text{Score} = \sum\limits_{i=1}^d{h_i \cdot w_i} = h \cdot w_{target}$ ์ด๋ผ๊ณ ์๊ฐํ ์ ์๊ณ ,
- ๊ณฑ์ ๊ฒฐ๊ณผ๋ก ๋์จ ๋ฒกํฐ๊ฐ ์ค์ ์ ๋ต๊ณผ ์ผ๋ง๋ ์ ์ฌํ์ง์ ๋ํ ๊ฐ์ด๋ผ๊ณ ์๊ฐํ ์ ์๋ค.
- 4.2.5 ๋ค๊ฑฐํฐ๋ธ ์ํ๋ง
- ์๋ ์ ๋ต์ ์๋ง ์ ๊ฒฝ์ผ๊ณ , ์ค๋ต์ ์๋ฅผ ์ ๊ฒฝ์ฐ์ง ์์๋ค.
- ์ด๋ฅผ ์ด๋ป๊ฒ ํ์ต์ํค๋ฉด ์ข์๊น?
- ๋ชจ๋ ์ค๋ต์ ๋ํด์ ์ด์ง ๋ถ๋ฅ๋ฅผ ํ์ต์ํค๋ฉด ์ด๋จ๊น?
- ๊ทธ๋ ๋ค๋ฉด ๋ค์ ์ดํ์ ์์ ์ฐ์ฐ๋์ด ๋น๋กํ๊ฒ ๋๋ค….
- ๋ฐ๋ผ์ ๊ทผ์ฌ์ ์ธ ํด๋ฒ์ผ๋ก, ๋ถ์ ์ ์ธ ์๋ฅผ ์กฐ๊ธ๋ง ์ ํํ์!
- ์ด๋ฅผ ๋ค๊ฑฐํฐ๋ธ ์ํ๋ง์ด๋ผ๊ณ ํ๋ค.
- ์๋ ์ ๋ต์ ์๋ง ์ ๊ฒฝ์ผ๊ณ , ์ค๋ต์ ์๋ฅผ ์ ๊ฒฝ์ฐ์ง ์์๋ค.
- 4.2.6 ๋ค๊ฑฐํฐ๋ธ ์ํ๋ง์ ์ํ๋ง ๊ธฐ๋ฒ
- ์ํ๋ง์ ๋จ์ํ ๋ฌด์์๋ก ํ ๊ฒ์ธ๊ฐ?
- ๋ ์ข์ ๋ฐฉ๋ฒ์ด ์๋ค.
- ๋ง๋ญ์น์ ํต๊ณ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ์ด๋ก ์ํ๋งํ์!
- ์์ฃผ ๋ฑ์ฅํ๋ ๋จ์ด๋ฅผ ๋ง์ด ์ถ์ถํ๊ณ , ๋๋ฌผ๊ฒ ๋ฑ์ฅํ๋ ๋จ์ด๋ฅผ ์ ๊ฒ ์ถ์ถํ์.
- ๋จ์ด์ ์ถํ ํ์๋ฅผ ํ๋ฅ ๋ถํฌ๋ก ๋ํ๋ด๊ณ , ๊ทธ ํ๋ฅ ๋ถํฌ๋๋ก ๋จ์ด๋ฅผ ์ํ๋งํ๋ฉด ๋๋ค.
- ๊ทธ๋ฐ๋ฐ, word2vec์ ๋ค๊ฑฐํฐ๋ธ ์ํ๋ง์์๋ ๊ฐ ํ๋ฅ ๋ถํฌ์ 0.75์น์ ํ๋ผ๊ณ ๊ถ์ฅํ๋ค.
- ์ด๋ ์ถํํ๋ฅ ์ด ๋ฎ์ ๋จ์ด๋ฅผ ๋ฒ๋ฆฌ์ง ์๊ฒํ๊ธฐ ์ํจ์ผ๋ก, ๋ฎ์ ์ถํ์จ์ ๋จ์ด์ ํ๋ฅ ์ ์กฐ๊ธ ๋์ด์ฌ๋ฆด ์ ์๋ค.
- ์ํ๋ง์ ๋จ์ํ ๋ฌด์์๋ก ํ ๊ฒ์ธ๊ฐ?
- 4.2.7 ๋ค๊ฑฐํฐ๋ธ ์ํ๋ง ๊ตฌํ
- ์๊ณผ ํฌ๊ฒ ๋ค๋ฅด์ง ์๋ค.
4.3 ๊ฐ์ ํ word2vec ํ์ต
- PTB ๋ฐ์ดํฐ์ ์ผ๋ก ํ์ตํด๋ณด์.
- 4.3.1 CBOW ๋ชจ๋ธ ๊ตฌํ
- 4.3.2 CBOW ๋ชจ๋ธ ํ์ต ์ฝ๋
- 4.3.3 CBOW ๋ชจ๋ธ ํ๊ฐ
4.4 word2vec ๋จ์ ์ฃผ์
- 4.4.1 word2vec์ ์ฌ์ฉํ ์ ํ๋ฆฌ์ผ์ด์
์ ์
- ์ ์ด ํ์ต
- ํ ๋ถ์ผ์์ ๋ฐฐ์ด ์ง์์ ๋ค๋ฅธ ๋ถ์ผ์ ์ ์ฉํ๋ ๊ธฐ๋ฒ
- ์์ฐ์ด ๋ฌธ์ ๋ฅผ ํ ๋, ์ฒ์๋ถํฐ ํ์ตํ๋ ๊ฒ์ด ์๋๋ผ ์ํค๋ฐฑ๊ณผ๋ ๊ตฌ๊ธ ๋ด์ค๋ฑ์ ํฐ ๋ง๋ญ์น๋ก ํ์ต์ ๋๋ธ ํ, ์ฐ๋ฆฌ๊ฐ ์ํ๋ ์์ ์ ๋์ ํ์.
- ๋ฌธ์ฅ์ ๊ณ ์ ํฌ๊ธฐ ๋ฒกํฐ๋ก ๋ณํํ ๋์๋ ๋จ์ด ๋ฒกํฐ๋ค์ ํฉ์ ์ด์ฉํ์.
- ์ ์ด ํ์ต
- 4.4.2 ๋จ์ด ๋ฒกํฐ ํ๊ฐ ๋ฐฉ๋ฒ
- ์ฐ๋ฆฌ๊ฐ ์ป์ด๋ธ ๋ถ์ฐ ํํ์ด ์ข์์ง๋ ์ด๋ป๊ฒ ํ๊ฐํ ์ ์์๊น?
- ๋จ์ด์ ์ ์ฌ์ฑ
- ์ฌ๋์ด ์์ฑํ ๋จ์ด ์ ์ฌ๋๋ฅผ ๊ฒ์ฆ ์ธํธ๋ก ์ฌ์ฉํด ํ๊ฐํ๋ ๊ฒ
- ์ ์ถ ๋ฌธ์ ๋ฅผ ์ด์ฉํ ํ๊ฐ
- “king : queen = man : ?”
- ๊ณผ ๊ฐ์ ๋ฌธ์ ๋ฅผ ์ถ์ ํด์ ์ ๋ต๋ฅ ๋ก ์ธก์
4.5 ์ ๋ฆฌ
- CBOW๋ชจ๋ธ์ ๋ง๋ญ์น์ ์ดํ ์ ์ฆ๊ฐ์ ๋น๋กํด ๊ณ์ฐ๋์ด ์ฆ๊ฐํ๋ ๋ฌธ์ ๊ฐ ์์๋ค.
- ์ด๋ฅผ Embedding๊ณ์ธต ๊ตฌํ, ๋ค๊ฑฐํฐ๋ธ ์ํ๋ง ๋๊ฐ์ง ๋ฐฉ๋ฒ์ ๋์ ํด์ ํด๊ฒฐํ์๋ค.
- ํต์ฌ์ ์ดํ ๋ชจ๋๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์๋๋ผ ์ผ๋ถ ๋จ์ด๋ง์ ๋์์ผ๋ก ํ๋ ๊ฒ์ด๋ค.
โ์ง๋ฌธ ์ฌํญ
- yes / no ๊ฒฐ์ ๋ฌธ์ ๋ก ๋ง๋ค๋ฉด no๊ฐ ๋์ค๋ฉด yes๊ฐ ๋์ฌ๋๊น์ง ๋๋ฆฌ๋๊ฑด๊ฐ? ๊ทผ๋ฐ ๊ทธ๋ฌ๋ฉด ๋๊ฐ์ด ์๊ฐ๋ณต์ก๋๊ฐ $O(N)$์ธ๊ฑฐ ์๋๊ฐ?
- ์ํ, ์๋ ํ์ต์์๋ ๋์ค๋ ์ด์ผ๊ธฐ๊ณ , ๊ฒฐ๊ตญ ๋์ค์ ๋์ฝ๋ฉํ ๋๋ = ๋จ์ด๋ฅผ ์ฐพ์ ๋๋ ์ด๋ค ๋ฒกํฐ์ ๊ฒฐ๊ณผ๊ฐ์ผ๋ก ๊ฐ์ฅ ๊ฐ๊น์ด ๋จ์ด๋ฅผ ์ฐพ์๊ฐ๋๊ฑด๊ฐ? ๊ทธ๊ฑด ์ด๋ป๊ฒ ์ด๋ฃจ์ด์ง์ง? ๋ฒกํฐ๊ณต๊ฐ์์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ ์ฐพ๊ธฐ๊ฐ ์ฝ๋?
- -> ๊ทผ์ฌ ์ต๊ทผ์ ์ด์ (Approximate Nearest Neighbor, ANN) ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ๋ค.
- Approximate Nearest Nighbor ์๊ณ ๋ฆฌ์ฆ
๐ ์ฐธ๊ณ ์๋ฃ
- ํด๋น ์ฌ์ดํธ์์ ๋จ์ด๋ค ๋ผ๋ฆฌ์ ๋ฒกํฐ ์ฐ์ฐ์ ์ง์ ์ํํด๋ณผ ์ ์๋ค.
์๊ทธ๋ชจ์ด๋ ํจ์์ ๋ฏธ๋ถ
- $\frac{\partial y}{\partial x} = y(1 - y)$
๊ต์ฐจ ์ํธ๋กํผ ์ค์ฐจ ๋ฏธ๋ถ
- $$ \begin{aligned} \frac{\partial L}{\partial y} &= - \left( \frac{t}{y} - \frac{1 - t}{1 - y} \right) \\ &= - \left( \frac{t(1 - y) - y(1 - t)}{y(1 - y)} \right) \\ &= - \left( \frac{t - ty - y + ty}{y(1 - y)} \right) \\ &= \frac{y - t}{y(1 - y)} \end{aligned} $$
์ต์ข ์ญ์ ํ
- $$ \begin{aligned} \frac{\partial L}{\partial x} &= \frac{\partial L}{\partial y} \cdot \frac{\partial y}{\partial x} \\ &= \frac{y - t}{y(1 - y)} \cdot y(1 - y) \\ &= y - t \end{aligned} $$