๋ณธ ํฌ์คํ ์ ์คํ ํฌ๋ Christopher Manning ๊ต์๋์ [Stanford CS224N: Natural Language Processing with Deep Learning]์์ ์ ๋ฐํ์ผ๋ก ์ ์๋์์ต๋๋ค. ์ด์ธ์๋ ์ถ๊ฐ ์ค๋ช ์ด ํ์ํ ๊ฐ๋ ๋ฑ ์ฐธ๊ณ ํ ์๋ฃ๋ ๋งํฌ์ ์ถ์ฒ๋ฅผ ๋จ๊ฒจ๋์์ต๋๋ค.
๊ฐ์ ์์ : https://www.youtube.com/watch?feature=shared&v=rmVRLeJRkl4
๊ฐ์ ์๋ฃ : https://web.stanford.edu/class/cs224n/slides/
๊ฐ์
2023๋ ์ ๊ฐํํ openAI์ ChatGPT๋ฅผ ์ด์ด ๊ตฌ๊ธ์ Bard, ๋ง์ดํฌ๋ก์ํํธ์ Bing์ด ์ฐ๋ฌ์ ์ถ์๋๋ฉฐ ์จ ์ฌํ๊ฐ ์์ฑํ AI ๊ธฐ๋ฐ ์ธ์ด ๋ชจ๋ธ์ ์ฃผ๋ชฉํ๊ณ ์๋ค. ์์ฐ์ค๋ฝ๊ฒ NLP(Natural Language Processin, ์์ฐ์ด์ฒ๋ฆฌ) ๊ธฐ์ ์ ์์๋ ์ฆ๊ฐํ๊ณ ๊ฐ๊ด ๋ฐ๊ณ ์๋ค.
ํ์๋ ์ฐ๊ตฌ์ค์์ ํ๋ ํ๋ก์ ํธ์ ํ ์คํธ๋ง์ด๋์ด ๋ง์ด ์ฐ์ฌ์ LDA ํ ํฝ ๋ชจ๋ธ๋ง, ๊ฐ์ฑ๋ถ์ ๋ฑ์ ์์๋ก ํ๊ณ ์์๋๋ฐ, ์์ฐ์ด์ฒ๋ฆฌ ๊ธฐ์ ์ ๊ฐ๋ ๊ณผ ์๋ฆฌ๋ฅผ ๊น์ด ์ดํดํ๊ณ ์ ์ ํ ํ์ฉํ๊ณ ์ ์คํ ํฌ๋์ ๋ฅ๋ฌ๋ ๊ธฐ๋ฐ ์์ฐ์ด ์ฒ๋ฆฌ ๊ฐ์๋ฅผ ์๊ฐํ๊ฒ ๋์๊ณ , ๋ฐฐ์ด ๊ฐ๋ ์ ๋ด ๋๋ฆ์ ์ธ์ด๋ก ํํํ๊ณ ์ ํฌ์คํ ์ ์์ํ๊ฒ ๋์๋ค.
NLP๋ ๋ฌด์์ธ๊ฐ
- ์์ฐ์ด๋ฅผ ์ฒ๋ฆฌํ๋ ๋ชฉ์ ์ ์ปดํจํฐ๊ฐ ์์ฐ์ด๋ฅผ ์ฒ๋ฆฌํ์ฌ ์ดํดํ ์ ์๊ฒ ํด์ฃผ๋ ๊ฒ์ด๋ค. 0๊ณผ 1๋ก ์ ๋ณด๋ฅผ ์ฒ๋ฆฌํ๋ ์ปดํจํฐ์๊ฒ ๋ณต์กํ ์ธ๊ฐ์ ์ธ์ด๋ฅผ 0๊ณผ 1๋ก ์ ๋ณํํด์ ์ปดํจํฐ๊ฐ ์ฌ๋๊ณผ ์์ฌ์ํตํ ์ ์๋๋ก ๋๋ ๋ถ์ผ๋ผ๊ณ ํ ์ ์๋ค.
- ์ธ๊ฐ์ ์ธ์ด๋ 0๊ณผ 1๋ก ํํํ๊ธฐ์๋ ๋ณต์กํ๋ค. ๊ฐ์ ๋จ์ด๋ผ๊ณ ํ ์ง๋ผ๋ ๋งฅ๋ฝ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ฐ์ด๋ฉฐ, ๋ ๊น๊ฒ ๋ค์ด๊ฐ๋ฉด ๋งํ๋ ์ฌ๋์ ํ์ , ์์ง์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ฐ์ด๊ธฐ๋ ํ๋ค.
(๊ณ ๊ฐ๋ฅผ ์ ์ผ๋ฉฐ “์ค ~ ์์ ๋ง์๋ค ~” ํ๋ ๊ฒ์ ์์์ด ๋ณ๋ก์์ ๋น๊ผฌ๋ ๋งฅ๋ฝ์ด๋ค.) - ๋น
๋ฐ์ดํฐ ์๋์ ๋ฐฉ๋ํ ์์ ๋น์ ํ ๋ฐ์ดํฐ๊ฐ ์์์ ธ ๋์ค๊ณ ์๋ค. NLP๋ ์ธ๊ฐ๊ณผ ์ปดํจํฐ ์ํธ์์ฉ์ ๋๋ ์ธ๊ณต์ง๋ฅ์ ํ ๋ถ์ผ์ด๋ค.
(์ฐธ๊ณ : https://modulabs.co.kr/blog/natural-language-process-definition/, https://www.oracle.com/kr/artificial-intelligence/what-is-natural-language-processing/)
NLP์ ๋ ๊ฐ์ง ๋ชจ๋ธ
๋ค์ํ๊ณ ๋ณต์กํ ์ธ๊ฐ ์ธ์ด ์์คํ ์ ์ฒ๋ฆฌํ๋ ์์ฐ์ด ์ฒ๋ฆฌ ๋ชจ๋ธ์๋ ํฌ๊ฒ ๋ ๊ฐ์ง ๋ฐฉ์์ด ์๋ค.
์ฒซ ๋ฒ์งธ๋ ํต๊ณ์ ๊ธฐ์ดํ ํต๊ณ์ ์ธ์ด ๋ชจ๋ธ (Statistical Language Model, SLM)์ด๊ณ , ๋ ๋ฒ์งธ๋ ์ธ๊ณต ์ ๊ฒฝ๋ง์ ๊ธฐ์ดํ ๋ฅ๋ฌ๋ ์ธ์ด ๋ชจ๋ธ(Deep Neural Network Language Model, DNN LM)์ด๋ค.
- ํต๊ณ์ ์ธ์ด ๋ชจ๋ธ์ ๋จ์ด์ ๋ฑ์ฅ ํ์๋ฅผ ๋ฐํ์ผ๋ก ์กฐ๊ฑด๋ถ ํ๋ฅ ์ ๊ณ์ฐํ๋ค. ๋ฐฉ๋ํ ์์ ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ํ์ตํ์ฌ, ์ด๋ค ๋ฌธ์ฅ์์ ์ ๋จ์ด๊ฐ ์ฃผ์ด์ง๋ฉด ๋ค์ ๋จ์ด๊ฐ ๋์ฌ ํ๋ฅ ์ ๊ตฌํ๋ ์ปจ์ ์ด๋ค. ์๋ฅผ ๋ค์ด “๋๋ ๋ฐฅ์” ์ด๋ผ๋ ๋ฌธ์ฅ์ด ์ฃผ์ด์ง๋ฉด ํ๋ฅ ์ ์ผ๋ก “๋จน๋๋ค.”๋ผ๋ ๋จ์ด๊ฐ ๋์ฌ ํ๋ฅ ์ด ํฌ๋ค๋ ๊ฒ์ด๋ค.
- ๋ฅ๋ฌ๋ ์ธ์ด ๋ชจ๋ธ์ ํต๊ณ์ ์ธ์ด ๋ชจ๋ธ์ ๋จ์ ์ ๋ณด์ํ ๋ชจ๋ธ์ด๋ผ๊ณ ํ ์ ์๋ค. ํต๊ณ์ ์ธ์ด ๋ชจ๋ธ์ ์กฐ๊ฑด๋ถ ํ๋ฅ ์ ๊ตฌํ๊ธฐ ์ํด ๋ฐฉ๋ํ ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฒฝํ์ ์ผ๋ก ํ์ตํด์ผ๋ง ํ๋ค.(Sparsity Problem) ๋ฅ๋ฌ๋ ์ธ์ด ๋ชจ๋ธ์ ์ ๊ฒฝ๋ง์ ํตํด ๋จ์ด๊ฐ ์ ์ฌ๋๋ฅผ ๊ณ ๋ คํ์ฌ ์ ๋จ์ด์ ์ ์ ํ ๋ท ๋จ์ด๋ฅผ ๊ตฌํ๋ค. ์๋ฅผ ๋ค์ด ์์ด๋ ๋๊ฐ์ด “๋๋ ๋ฐฅ์” ์ด๋ผ๋ ๋ฌธ์ฅ์ด ์ฃผ์ด์ก์ ๋, ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ๊ฒฝํ์ ์ธ ํ๋ฅ ์ด ์๋ “๋”์ “๋ฐฅ”๊ณผ ์ ์ฌ๋๊ฐ ๋์ “๋จน๋๋ค” ๋ผ๋ ๋จ์ด๋ฅผ ๋ฐฐ์นํ๋ ๊ฒ์ด๋ค.
(์ฐธ๊ณ : https://velog.io/@kingjiwoo/2.์ธ์ด๋ชจ๋ธLanguage-Model , https://velog.io/@milkbutterchesse/๊ธฐ์ด์์ฐ์ด์ฒ๋ฆฌ-7.3์ ๊ฒฝ๋ง์ธ์ด๋ชจ๋ธ)
The Course
NLP์ ๋ ๊ฐ์ง ์ธ์ด ๋ชจ๋ธ (SLM, DLM) ์ค์์ ํด๋น ๊ฐ์๋ DLM์ ์ด์ ์ ๋ง์ถฐ NLP๋ฅผ ๋ค๋ฃฌ๋ค.
์์ ์ ๋ชฉํ(๊ณง ํฌ์คํ ์ ๋ชฉํ)๋
1. NLP๋ฅผ ์ํ ๋ฅ๋ฌ๋์ ๊ธฐ์ด
2. ์ธ๊ฐ ์ธ์ด์ ์ปดํจํฐ ์ฒ๋ฆฌ ๊ฐ์ ์ฐจ์ด์ ๋ํ ํฐ ๊ทธ๋ฆผ์ ์ดํด
3. NLP์์ ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ์ํ ์์คํ ๊ตฌ์ถ
์ด๋ค.
์ธ์ด๋ ์ฌ๋๋ค๋ก๋ถํฐ ์ดํด๋๋ ์ฌํ์ ์์คํ ์ด๋ฉฐ, ๋ชจํธํจ์ด ์กด์ฌํ ์ ๋ฐ์ ์๋ค. ์ฌ๋๋ค ๊ฐ์ ์ธ์ด์๋ Phrasing(๋งฅ๋ฝ ์ ๋๋ก ๋ฒ์ญ), ํค, ํ์ด๋ฐ ๋ฑ์ ์ ํ์ ํตํ ๊ฐ์ ๋ง์ด๋๋ผ๋ ๋ค๋ฅธ ํํ์ด ์กด์ฌํ๋ค.
NLP์ ๊ด์ฌ์ ์ด๋ฐ ๋ณต์กํ ์ฌ๋๋ค์ ์ธ์ด๋ฅผ ์ปดํจํฐ๋ก ์ดํดํ๊ธฐ ์ํด, ์ฌ๋๋ค์ด ์ด๋ค ๋ชฉ์ ์ผ๋ก ๋จ์ด๋ฅผ ์ ํํ๋์ง ์ถ์ธกํ๋ ๊ฒ์ด๋ผ๊ณ ํ ์ ์๋ค.
์ธ๊ฐ ์ธ์ด์ ํฅ๋ฏธ๋ก์ด ์ ์ ์ธ๋ฅ๊ฐ ๊ตฌ์ถํ๋ค๋ ๊ฒ์ด๋ค. ์ธ๊ฐ์ ์ง๋ฅ์ ๋ํ ์ฐ๊ตฌ๋ ์ง์๋์ด ์๋ค. ์ด ์ค์์๋ ์ธ์ด์ ์ญํ ์ ์ค์ํ๋ค. ๋น์ทํ ์์ฅ๋ฅ์ ๋ค๋ฅด๊ฒ ์ธ๊ฐ์ ๊ฐ๋ ฅํ ์ปค๋ฎค๋์ผ์ด์ ์ ํตํด ๋ค๋ฅธ ์๋ช ์ฒด๋ค๋ณด๋ค ์ฐ์ธํ๊ฒ ํ๋ค. ์์ ์ ์๊ฐ์ ๋ง๋ก ํํํ๊ณ ๊ธ๋ก ์ฐ๋ ๊ฒ์ ๊ธด ๊ธฐ์ต์ ๊ฐ๊ฒ ๋์๊ณ ์ง์์ด ๊ฑฐ๋ฆฌ์ ์๊ฐ๊ณผ ์๊ด ์์ด ์ ๋ฌ๋๊ฒ ํ์๋ค.
๊ฒฐ๊ตญ AI, HCI ๊ด์ ์์ ์ฃผ์ํ ์ง๋ฌธ์ “์ปดํจํฐ๊ฐ ์ธ๊ฐ์ ์ธ์ด์ ๋ด๊ธด ์ ๋ณด๋ฅผ ์ด๋ป๊ฒ ์ดํดํ๋๋”์ ์๋ค.
Human Language and Word Meaning
์ธ๊ฐ์ ์ฑ ๊ณผ ์น ๋ฑ์ ํตํด ๋ค์ํ ์ธ์ด๋ก ํ ์คํธ๋ฅผ ๋จ๊ธฐ๊ณ ์๊ณ , ์ด์ ๋ ์ ๋ฒ ํฉ๋ฆฌ์ ์ผ๋ก ๋ฐฉ๋ํ ์์ ํ ์คํธ ์ ๋ณด๋ฅผ ๋ชจ๊ตญ์ด๋ก ์ดํดํ ์ ์๊ฒ ๋์๋ค.
- GPT-3 : ์ฐ๋ฆฌ๊ฐ ์ ์๊ณ ์๋ OpenAI๊ฐ ์ถ์ํ ์๋ก์ด ๊ฑฐ๋ ์ธ์ด ๋ชจ๋ธ
๋ค์ ๋จ์ด๊ฐ ๋ญ๊ฐ ์ฌ์ง ์ ๊ธฐ๋ ํ๊ณ , ์ฌ์ฉ์๊ฐ ์ด ๋ฌธ์ฅ์ ๋ํด ์ฆ๊ฐ์ ์ธ ๋ฌธ์ฅ์ ์์ฑํด๋ธ๋ค. ๋ด๊ฐ ํ์ํ ์์ ์ ์ ๋ ฅํ๋ฉด ์ฝ๋๋ฅผ ์์ฑํด์ฃผ๊ธฐ๋ ํ๋ค.
์ด ๋ชจ๋ธ์ด ๋๋จํ ์ด์ ๋ universal model๋ก์จ์ ์ฒซ ๊ฑธ์์ผ๋ก, ์ธ๊ฐ์ ์ธ์ด์ ๋ํ ๋ชจ๋ ์ง์์ ๊ฐ๊ณ ์๋ ๋ชจ๋ธ๋ก์จ์ ์ฒซ ๊ฑธ์์ด๋ผ๋ ๊ฒ์ ์๋ค.
GPT3๋ ์ธ์ด์ ๋ป์ ์๊ณ ์๋ค. ์ฌ์ฉ์๊ฐ ์ด๋ค ์ผ์ ํ๊ณ ์ถ์์ง ์ ๋ ฅ๋ ๋ฌธ์ฅ์ ํตํด ์๋ฏธ๋ฅผ ํ์ ํด ์๋๋ฅผ ํ์ ํ ๋ต๋ณ์ ์ค๋ค.
Meaning of the word
์ธ์ด์ ์๋ฏธ๋ Signifier (๊ธฐํ), Signified(๊ธฐ์)๋ก ์ด๋ฃจ์ด์ง๋ค. Signifier๋ ์ธ์ด์ ํ์ ์์ฒด, ์ฆ “์ฐ”์ด๋ผ๋ ๋จ์ด ๊ทธ ์์ฒด๋ฅผ ํ์ํ๋ ๊ธฐํธ ํํ๋ฅผ ๋งํ๊ณ , Signified๋ “๋๋ฌด๊ฐ ๋ง๊ณ ํธ๋ฅธ, ์์ํ “ ๋ฑ ์ฐ์ ๋ํด ์ฐ๋ฆฌ๊ฐ ์๊ฐํ๋ ๊ธฐํธ ์๋ฏธ๋ฅผ ๋ปํ๋ค.
(์ถ์ฒ : https://m.blog.naver.com/dasan11/220340193155)
์ธ๊ฐ์ ์ธ์ด๋ฅผ ์ ๋๋ก ์ดํดํ๊ธฐ ์ํด ์ธ์ด ๋ชจ๋ธ์ ๊ธฐํ ๋ฟ ์๋๋ผ ๊ธฐ์๊น์ง ํ์ ํ๋ ๋ชจ๋ธ์ด์ด์ผ ํ๋ค.
๊ณผ๊ฑฐ์ ์ธ์ด์ ์๋ฏธ๋ฅผ ํ์ ํ๋ ์์ ์ WorNet์ด๋ผ ๋ถ๋ฆฌ๋ ์ฌ์ ๊ณผ ๊ฐ์ ๊ฒ์ ์ ์ํ์ฌ ๋์์ด(synonym)์ ์์์ด(hypernyms)(=๋จ์ด ๊ฐ์ ๊ด๊ณ)๋ฅผ ํฌํจํ๋ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์๋ค. ๋จ์ด ๊ฐ์ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ํตํด ์ธ๊ฐ์ ์ธ์ด๋ฅผ ์ดํดํ๋ค.
- WordNet์ ๋ฌธ์
๋์์ค๋ฅผ ํ์ ํ๊ธฐ ์ด๋ ต๊ณ , ๋จ์ด์ ์๋ก์ด ๋ป์ด ๋๋ฝ๋ ์ ์๋ค. ๋ฌด์๋ณด๋ค ์ผ์ผํ ๋จ์ด๋ฅผ ๋งคํํด์ผ ํ๋ฏ๋ก, ์ฌ๋์ ๋ ธ๋๋ ฅ์ด ํ์ํ๋ค.
์ ํํ ๋จ์ด ๊ฐ ์ ์ฌ์ฑ์ ๊ณ์ฐํ๊ธฐ๋ ์ด๋ ต๋ค.- ์ ํต์ ์ธ์ด ๋ชจ๋ธ์ ๋ฌธ์ ๋ ๋จ์ด๋ฅผ ์ด์ฐ์ ์ธ ๊ธฐํธ๋ก ์๊ฐํ๋ ๊ฒ์ด๋ค. ์ฆ ๋ฌธ์ฅ์์ ์์ฉํ๋ ์ ์ญ์ ์ธ ์๋ฏธ๋ฅผ ํ์ ํ๊ณ ์ ํ๋ ๊ฒ์ด ์๋, ์ง์ญ์ ์ธ(localist) ์๋ฏธ๋ง์ ๊ณ ๋ คํ๋ ๊ฒ์ด๋ค.์ด๋ฐ ๋ฐฉ์์ ๋ํ ๋จ์ด ๊ฐ์ ์ ์ฌ์ฑ์ ๊ณ์ฐํ ์ ์๋ค.
- ์ด๋ฐ ์ง์ญ์ ์ธ ์๋ฏธ ๊ณ ๋ ค๋ ๋จ์ด์ ๊ฐฏ์๋งํผ ๋ฒกํฐ ๊ณต๊ฐ์ด ์ปค์ง๋ ๊ฒ์ ์๋ฏธํ๊ธฐ๋ ํ๋ค. (๋จ์ด์ ๊ฐฏ์๋งํผ ๋ฒกํฐํํด์ ์๋ฏธ๋ฅผ ์ ์ฅํ๋ฏ๋ก)
์ด๋ฐ ์์ผ๋ก Motel๊ณผ Hotel์ ์ธ๊ฐ์ ์ธ์ด๋ก๋ ์ ์ฌํ ์๋ฏธ๋ก ์ฌ์ฉ๋์ง๋ง, ์ธ์ฝ๋ฉ ๋ฐฉ์์ผ๋ก ๋ดค์ ๋ ์ปดํจํฐ๋ ๋จ์ด ๊ฐ์ ์ ์ฌ์ฑ์ ๊ตฌ๋ถํ ์ ์๋ค. (์๋ฅผ ๋ค์ด ์ ํ ๋ค๋ฅธ ์๋ฏธ์ธ ‘์ฌ๊ณผ’๊ฐ apple = [0000000000000100]์ผ๋ก ์ง์ ๋๋ฉด, ์ปดํจํฐ๋ 1์ ๊ฐฏ์์ ๊ฑฐ๋ฆฌ๋ง ๋ณด๊ณ ์ฌ๊ณผ, ๋ชจํ ๊ฐ์ ๊ด๊ณ์ ๋ชจํ , ํธํ ๊ด์ ๊ด๊ณ๋ฅผ ๊ฐ๋ค๊ณ ์ดํดํ๊ฒ ๋๋ค. / ๋ํ ์ํ์ ์ผ๋ก ๋ด๋, ๋ ๋ฒกํฐ์ ๊ด๊ณ๋ ์ง๊ตํ๋ฏ๋ก ์ ์ฌ์ฑ์ 0์ด๋ค.)
- Distribution Semantics
“You shall know a word by the company it keeps”
ํต๊ณ์ ์์ฐ์ด ์ฒ๋ฆฌ์ ๊ฐ์ฅ ์ฑ๊ณต์ ์ธ ์์ด๋์ด : ํ๋์ ๋จ์ด์ ํจ๊ป ์ฐ์ธ ๋จ์ด๋ค์ ๊ฐ์ ๋งฅ๋ฝ์ด๋ค.
์ ์ฌํ ๋ฌธ๋งฅ์ ๋ํ๋๋ ๋จ์ด์ ๋ฒกํฐ์ ์ ์ฌํ๋๋ก ์ ํ๋ ๊ฐ ๋จ์ด์ ๋ํด ๋ฐ์ง๋ ๋ฒกํฐ(dense vector)๋ฅผ ๊ตฌ์ถํ๊ณ ๋ฒกํฐ ๋ด์ (์ค์นผ๋ผ)์ผ๋ก ์ ์ฌ์ฑ์ ์ธก์
→ ์ด ๋ ๋ง๋ค์ด์ง ๋จ์ด ๋ฒกํฐ๋ค์ word embeddings๋ผ๊ณ ํ๋ค.
์ด๋ฐ ์์ผ๋ก ํํ๋ ๋จ์ด๋ ๋ ์ด์ ์ง์ญ์ ์ธ ์๋ฏธ๋ฅผ ๊ฐ์ง ์๋๋ค. ์ฌ์ฉ์๊ฐ ์ง์ ํ n๊ฐ ์ฐจ์์์์ ์๋ฏธ๋ฅผ ๊ฐ๊ธฐ ๋๋ฌธ์, ๋งฅ๋ฝ์ ๋ฐ๋ผ ํํ๋ ์ ์๊ฒ ๋๊ณ ์ด๊ฒ์ distributed representation ๋์๋ค๊ณ ํํํ๋ค.
Word2vec introduction
- Word2Vec
- ๋จ์ด ๋ฒกํฐ๋ฅผ ํ์ตํ๋ ํ๋ ์์ํฌ
ํฐ ๋ง๋ญ์น(corpus)๋ฅผ ๊ฐ์ง๊ณ ์์ ๋ ์ฌ์ ์ ์๋ ๋ชจ๋ ๋จ์ด๋ฅผ ๋ฒกํฐ๋ก ํํ - ๊ฐ๊ฐ์ ๋จ์ด๊ฐ ๊ฐ์ง ์ต์ ์ ๋ฒกํฐ๋ ๋ฌด์์ธ๊ฐ?
์ ๋ํ์ฌ, ๋ค์๊ณผ ๊ฐ์ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ ์ฌ๋๋ฅผ ๊ณ์ฐํ๋ ์ฐ์ฐ์ ์ํํ๋ค.
- ๋จ์ด ๋ฒกํฐ๋ฅผ ํ์ตํ๋ ํ๋ ์์ํฌ
- center word “c”์ context(outside) words o์ ๋ํด, ๊ฐ๊ฐ์ ์์น(c์ ์์น์ธ t์ ๋ํด)๋ฅผ ๊ฐ๋๋ก ๋ถ์ฌ
- c์ o ์ฌ์ด์ ์ ์ฌ๋๋ฅผ ์ธก์ ํ์ฌ c์ ๋ํ o์ ํ๋ฅ ๊ณ์ฐ → ํ๋ฅ ์ ์ต๋ํํ๋๋ก ๊ณ์ฐ ๋ฐ๋ณต (t์ ์์น๋ฅผ ๋ณ๊ฒฝํด๊ฐ๋ฉด์ ์ํ)
Word2vec objective function gradients
- Word2Vec์ ๋ชฉ์ ํจ์
- ๋ค๋ฅธ ๋จธ์ ๋ฌ๋ ๋ฐฉ๋ฒ๊ณผ ๋น์ทํ๊ฒ Word2vec ์ญ์ ์์ธก์ ์ ํ๋๋ฅผ ์ต๋ํํ๊ธฐ ์ํด ๋ชฉ์ ํจ์(๋น์ฉํจ์)๋ฅผ ์ต์ํํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค.
- ๊ฐ๊ฐ์ ์์น t(1…T)์ ๋ํด, ์ค์ฌ ๋จ์ด Wj๋ค์ ๋ํด m๊ฐ์ ๋ฌธ๋งฅ ๋จ์ด์ ์กฐ๊ฑด๋ถ ํ๋ฅ ์ ๊ณฑ์ด Wordvec์์์ ์ฐ๋ํจ์์ด๋ค.
์ค์ฌ๋จ์ด์ ๋ํ ๋ฌธ๋งฅ๋จ์ด์ ์กฐ๊ฑด๋ถ ํ๋ฅ ์ ์ด๋ป๊ฒ ๊ตฌํ๋๊ฐ ?
๋จ์ด w์ ๋ํ์ฌ, ๋ฒกํฐ v_w๊ฐ w๊ฐ ์ค์ฌ๋จ์ด์ผ ๋ ๋ฒกํฐ์ด๊ณ ๋ฒกํฐ u_w๊ฐ u๊ฐ ๋ฌธ๋งฅ๋จ์ด์ผ ๋ ๋ฒกํฐ๋ผ๋ฉด ์กฐ๊ฑด๋ถ ํ๋ฅ ์ ๋ค์๊ณผ ๊ฐ์ด ๊ณ์ฐ๋๋ค.
- ๋ด์ ์ ํตํด o์ c์ ์ ์ฌ๋ ๊ตฌํ๊ธฐ : ๋์ ๋ด์ ๊ฐ์ด ๋์ ํ๋ฅ (์ ์ฌ๋)์ด๋ค. (→ ๋ถ์ํญ)
- ์ง์ํ(exponentiation)ํด์ ๋ชจ๋ ๊ฐ์ ์์๋ก ๋ฐ๊พผ๋ค. (๋ถ๋ชจ, ๋ถ์ ๋ชจ๋)
- ํ๋ฅ ์ ์์์ผ ์ ์์ผ๋ฏ๋ก
- ๋ชจ๋ ์ดํ์ ํ๋ฅ ๊ฐ์ ๋ถ์ฌํ๊ธฐ ์ํด ์ ๊ทํํ๋ค. (→ ๋ถ๋ชจํญ)
- 1๋ก ์ ๊ทํ๋ฅผ ์งํํจ
์ด ๋ชจ๋ ๊ณผ์ ์ด Softmax Function์ด๋ค. softmax๋ ํน์ดํ ๋จ์ด์๋ ์์ ํ๋ฅ ์ด๋ผ๋ ๋ถ์ฌํ๋ค.
์ฐ๋ํจ์์ ๋ชฉ์ ํจ์๋ ์ฐ๋ํจ์๋ฅผ ๋ก๊ทธํํ์ฌ ๊ณ์ฐ์ ์ฝ๊ฒ ํ ํ, ์์๋ฅผ ์ทจํ์ฌ ์ต์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ๋ก ๋ณํ์ํจ Negative Log Likelihood ํจ์์ด๋ค. Gradient Descent๋ฅผ ์ด์ฉํ๋ฉด ์ต์๊ฐ์ ๊ตฌํ๋ ๋ฌธ์ ๋ฅผ ํ ์ ์๋ค.
์ด๋ป๊ฒ ํ๋ฉด ์์ค(๋ชฉ์ ํจ์)๋ฅผ ์ต์ํํ ์ ์์ ๊ฒ์ธ๊ฐ?
theta๋ ๋ชจ๋ธ์ ๋ชจ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ํํํ๋ ํ๋์ ๊ธด ๋ฒกํฐ์ด๊ณ , ์ด ๊ฒฝ์ฐ d๊ฐ์ ์ฐจ์์ ๊ฐ์ง V๊ฐ์ ๋จ์ด์ ์งํฉ์ด ๋ฒกํฐ๋ฅผ ๊ตฌ์ฑํ๋ค. ๋ชจ๋ ๋จ์ด๋ ์ค์ฌ๋จ์ด์ผ ๋ v, ๋ฌธ๋งฅ๋จ์ด์ผ u๋ก ์ด ๋ ๊ฐ์ ๋ฒกํฐ๋ฅผ ๊ฐ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก theta ๋ฒกํฐ์ ํฌ๊ธฐ๋ d X V X 2(๋ ๊ฐ์ ๋ฒกํฐ)์ธ ๊ฒ์ด๋ค.
์์คํจ์๋ฅผ ์ต์ํํ๊ธฐ ์ํด์๋ ๋ชจ๋ ๋ฒกํฐ๋ค์ gradients๋ฅผ ๊ณ์ฐํด์ผ ํ๋ค.
์์คํจ์ ๊ณ์ฐ๋ฒ
์๊ณ ๋ฆฌ์ฆ์ ํต์ฌ์ ์ค์ฌ๋จ์ด์ ๋ณํ์ ๋ฐ๋ผ, ๋น์ฉํจ์๋ฅผ ์ต์ํํ๋ ๊ฒ์ด๋ฏ๋ก, ๋ณ์๋ ์ค์ฌ๋จ์ด ๋ฒกํฐ (V_c)์ด๋ค. V_c๋ฅผ ๋ฏธ๋ถํ์ฌ ๋ฏธ๋ถ๊ฐ์ด 0์ด ๋๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ฐพ์ผ๋ฉด ๋๋ค.
(1) ๋ถ์ํญ์ ๋ฏธ๋ถ๊ฒฐ๊ณผ์ด๋ค. log์ ์ง์๋ ์์๋๊ณ , v_c๋ ๋ฏธ๋ถํ์ฌ 1์ด ๋๋ฏ๋ก u_0 ๋ฒกํฐ๋ง ๋จ๋๋ค.
(2) ๋ถ๋ชจํญ์ ๋ฏธ๋ถ์ ์กฐ๊ธ ๋ณต์กํ๋ค. ํจ์ ์์ ํจ์๊ฐ ์๋ ๊ผด์ด๊ธฐ ๋๋ฌธ์ด๋ค. (log ๋ค์ ์๊ทธ๋ง๊ฐ ์๋ ๊ผด) ์ด ๋๋ Chain Rule์ ์ฌ์ฉํด์ผ ํ๋ค.
chain rule์ ์ ์ฉํ์ฌ log ํจ์์ ๋ํจ์์ ์๊ทธ๋ง ์์ ์๋ ์ง์ ํจ์์ ๋ํจ์๋ฅผ ๊ตฌํ ๊ฐ์ ๋ค์๊ณผ ๊ฐ๋ค.
์ต์ข ์ ์ผ๋ก ๊ตฌํด์ง ์์คํจ์๋ ๋ค์๊ณผ ๊ฐ๊ณ , ์ฒซ ๋ฒ์งธ ํญ์ด ๋ฏธ๋ถ๋ ๊ฐ(u_0)์ ๊ณง ๊ด์ธก์น(observation)์ ์๋ฏธํ๋ฏ๋ก, ์์คํจ์์ v_c์ ๋ํ ๋ฏธ๋ถ๊ฐ์ ๊ด์ธก์น์์ ๊ธฐ๋๊ฐ์ ๋บ ๊ฐ์ด ๋๋ค.
์์คํจ์๊ฐ ์ต์๊ฐ ๋๋ ์ง์ ์ ์ฐพ๊ธฐ ์ํ ์๊ณ ๋ฆฌ์ฆ์ด ๊ฒฝ์ฌํ๊ฐ๋ฒ(gradient descent algorithm)์ด๋ฉฐ, ๋ค์ ์๊ฐ์ optimization basic๊ณผ ํจ๊ป ๋ค๋ฃจ๋๋ก ํ๊ฒ ๋ค.
๋ฐฐ์ฐ๋ ๊ณผ์ ์์ ์์ฑํ๋ค ๋ณด๋ ๋ถ์กฑํ ์ ์ด ๋ง๊ณ ํ๋ฆฐ ์ ์ด ์์ ์ ์์ต๋๋ค.
ํน์ ์ค๋ช
์ด ์ถ๊ฐ์ ์ผ๋ก ํ์ํ ๋ถ๋ถ์ด๋ ์์ ํด์ผ ํ ๋ถ๋ถ ๋ฐ๊ฒฌํ์๋ฉด ํผ๋๋ฐฑ ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.