Word2vec Parameter Learning Explained
word2vec는 이산형인 word를 연속형인 vector로 표현하는 대표적인 방법이다.
CBOW(continuous bag-of-word)와 skip-gram이 word2vec의 대표적인 모델이다.
1. CBOW (Continous Bag-of-Word)
1.1 One-word context
하나의 context word로 하나의 target word를 예측하는 모델이다.
모델의 구조를 들여다보면 다음과 같다.
INPUT
- one-hot encoding된 하나의 context word
- dimension : 1xV ( V : 총 단어의 개수 )
HIDDEN LAYER ( W ) 1) W(vxn)
2) W’(nxv)
OUTPUT
- hidden layer에서 출력되는 score를 softmax 함수를 통해 각 단어로 예측할 확률을 반환한다
(수식3) - 위 식에, 수식1 & 수식2를 대입하면 다음과 같이 정리할 수 있다
(수식4)
OBJECTIVE FUNCTION
(수식4)를 최대화하는 것이다
- 수식 5,6,7
1.2 Multi-word context
위의 1.1 One-word context에서, input이 하나의 context가 아니라 여러 개의 context word라는 점 외에 동일하다.
input context words의 평균 벡터를 인풋으로 받는다.
- 수식 17, 18
모델의 구조는 다음과 같이 표현될 수 있다.
OBJECTIVE FUNCTION
- 다음의 loss function을 최소화하는 것이다
- 수식 19,20,21
2. Skip-Gram Model
CBOW의 반대라고 보면 된다. 모델의 구조를 들여다보면 다음과 같다
이번에는 반대로, input으로 target word가 들어가고, output으로 context word가 들어가게 된다. 그 외의 사항은 동일하다
OUTPUT LAYER
- CBOW는 예측하는 대상이 하나의 단어이기 때문에 한개의 multinomial distribution이 output으로 출력되지만, Skip-Gram같은 경우에는 여러 개의 단어이기 때문에 C개의 multinomial distribution을 출력한다.
- 수식 25
OBJECTIVE FUNCTION
- 다음의 loss function을 최소화하는 것이다
- 수식 27,28,29