Word2Vec은 왜 작동하는가 — PMI의 다른 이름
Skip-gram과 CBOW의 설계 차이부터 Hierarchical Softmax·Negative Sampling의 수학적 유도, 그리고 SGNS의 optimal solution이 shifted PMI matrix임을 증명한 Levy & Goldberg 2014까지.
- 01 언어 모델이란 무엇인가 — 확률의 연쇄에서 ChatGPT까지
- 02 단어의 의미는 어떻게 숫자가 되는가
- 03 Word2Vec은 왜 작동하는가 — PMI의 다른 이름
- 04 GloVe는 왜 두 패러다임의 통합인가
- 05 Tokenizer는 왜 Subword를 선택했는가
- 06 FastText에서 ELMo까지 — 임베딩은 어떻게 문맥을 얻었는가
- 07 Embedding 평가는 왜 두 가지가 필요한가
Word2Vec은 “신경망 기반의 새로운 embedding”으로 불렸다. 그러나 Levy & Goldberg(2014)는 Skip-gram with Negative Sampling(SGNS)의 optimal solution이 정확히 shifted PMI matrix의 implicit factorization임을 증명했다. 이것이 의미하는 바는 무엇인가?
Skip-gram과 CBOW — 같은 아이디어, 다른 방향
Word2Vec의 두 architecture는 같은 직관을 반대 방향에서 구현한다.
Skip-gram은 center word로 context를 예측한다. center cat이 주어지면 the, sat을 예측하는 조건부 확률 를 학습한다. 각 (center, context) pair가 독립적인 training signal이 되므로, rare word도 자신의 context로부터 update를 받는다.
CBOW는 반대다. context the, sat의 평균 embedding으로 center cat을 예측한다.
평균 연산이 gradient를 으로 희석하므로, rare word의 update 신호가 약해진다. 대신 token당 softmax 계산이 1회로 줄어 학습이 ~3배 빠르다.
두 model 모두 hidden layer가 없다. Bengio 2003의 신경망 언어모델이 embedding lookup → hidden(tanh) → softmax였다면, Word2Vec은 hidden을 제거하고 embedding을 곧바로 softmax에 연결했다. 학습 속도가 약 10배 향상됐고, embedding quality는 동등하거나 더 나았다.
Skip-gram은 input embedding 과 output embedding 을 분리한다. center로서의 cat과 context로서의 cat은 다른 역할이고, 두 vector가 distributional asymmetry를 각각 모델링한다. Levy & Goldberg(2014)의 정리는 이 분리가 PMI matrix factorization의 두 인수에 정확히 대응함을 보인다.
Full Softmax의 병목과 두 가지 우회
Skip-gram의 conditional probability는 다음과 같다.
분모의 합산이 문제다. 이면 token당 100k dot product, 1B token corpus에서는 연산 — 단일 CPU로 수십 년이 걸린다.
Hierarchical Softmax는 vocabulary를 binary tree의 leaf로 배치하고, word prediction을 root → leaf의 binary decision 연쇄로 분해한다.
Huffman tree를 사용하면 frequent word의 path length가 짧아진다. 기대 path length는 분포의 entropy 에 수렴하며, 기준으로 full softmax 대비 약 3000배 빠르다.
Negative Sampling은 더 단순하다. 매 (center, context) pair마다 개의 random “negative” word를 sampling해 binary classification으로 대체한다.
per-pair cost가 로 줄어든다. 이면 full softmax 대비 약 10,000배 빠르다.
noise distribution 의 지수 0.75는 Mikolov의 grid search 결과다. uniform()이면 rare word가 negative로 너무 자주 등장해 학습 신호가 약해지고, unigram()이면 the, a 같은 frequent word가 모든 pair의 negative로 수렴한다. 0.75는 mid-frequency를 강조하는 경험적 최적점이다.
SGNS의 optimal solution — PMI의 재발견
(unigram)일 때, SGNS의 per-pair expected loss를 최소화하는 dot product는 다음과 같다.
pair 의 expected loss를 의 함수로 쓰면
을 구하면
sigmoid identity 를 대입하면
양변에 를 취하면
행렬 관점으로 보면, 학습된 와 는 다음의 rank- factorization을 수행한다.
2013년까지 NLP 커뮤니티는 count 기반(PPMI + SVD)과 prediction 기반(Word2Vec)을 본질적으로 다른 방법으로 인식했다. 이 정리는 둘이 같은 PMI matrix의 서로 다른 factorization 알고리즘임을 보였다.
트레이드오프
Hierarchical Softmax vs Negative Sampling: 두 방법의 per-token cost는 각각 와 로 비슷한 수준이다. 실험적으로 CBOW + HS가 속도 우위이고, Skip-gram + NS가 품질 우위다. Levy 2015의 분석은 알고리즘 차이보다 PMI의 어떤 변형을 factorize하느냐가 품질을 결정한다고 본다.
의 역할: 가 PMI threshold로 작용한다. 가 크면 인 pair만 meaningful representation을 얻는다. corpus가 작을수록 큰 (1520)가, 클수록 작은 (25)가 권장된다.
Static embedding의 한계: Word2Vec의 모든 설계는 one word = one vector를 전제한다. polysemy는 처리할 수 없고, 장거리 의존성도 window size에 갇힌다. 이 한계가 ELMo → BERT로의 전환을 낳았다.
정리
- Skip-gram은 rare word에, CBOW는 frequent word에 강하다. 차이는 gradient의 분포에서 온다.
- Full softmax의 병목을 HS는 tree 구조로, NS는 binary classification으로 우회한다.
- SGNS의 optimal solution은 다. Word2Vec은 PMI matrix factorization의 다른 이름이다.
- hyperparameter 는 학습 속도뿐 아니라 PMI threshold를 결정하는 의미론적 선택이다.
Word2Vec 이후 GloVe, FastText, ELMo, BERT로 이어지는 진화는 이 distributional 통찰을 더 큰 context와 더 깊은 모델로 확장하는 과정이다.