Deep Learning/CS224N

[CS224N] cound based Word Prediction model (GloVe)

언킴 2021. 7. 22. 11:34
반응형

- Optimization

- Word Prediction Methods

- GloVe : Global Vectors for Word Representation 

- How to evaluate word vectors

- Word senses and word sense ambiguity

 


 

Optimization 

gradient descent 

최적화의 가장 대표적인 모델은 경사하강법(GD)이 있다. 경사하강법은 Cost Function J(θ)를 최소화하기 위한 알고리즘으로 초기에 θ를 랜덤하게 설정하고 시작한다. 그리고 현재의 θ에서 J(θ)의 기울기를 계산하고 기울기의 반대방향으로 조금씩 이동하면서 최소가 되는 θ^을 찾아가는 방법이다. 하지만 비용함수가 Convex가 아닐 수도 있고, Global minimum이 아닌 Local minimum을 찾을 수도 있다. 그러한 문제를 해결하기 위해 SGD, Momentum, AdaGrad, Adam 등 여러 방법이 등장했다. 

 

 


Word Prediction Methods

Count based : LSA, HAL, COALS, Hellinger-PCA

count based 방법은 빠른 학습 속도를 자랑한다. 그리고 효율적으로 통계 정보를 사용이 가능하지만, 주로 단어간의 유사성 여부만 포착 가능하고 단어간의 관계는 고려가 불가능하며 큰 빈도수에 과도하게 중요도가 부여된다. 

 

Direct : Skip-gram/CBOW, NNLM, HLBL, RNN

Direct 방법은 count based 모델들과 달리 사용하는 모델의 corpus Size 크기에 따라 성능이 향상되기 때문에 큰 사이즈의 corpus가 요구되며, Co-ocuurrence와 같은 통계 정보를 효율적으로 사용하지 못한다. 하지만 대부분의 영역에서 좋은 성능을 보여주고, 단어간의 유사성 이상의 복잡한 패턴을 포착할 수 있는 장점이 있다. 

 

위 count based 방법의 장점인 Co-occurrence matrix와 같은 단어 빈도수의 통계 정보를 활용하고, Direct 방법의 장점인 복잡한 패턴을 포착할 수 있는 장점들을 살려서 각 방법의 문제점을 해결하기 위해 나온 모델이 GloVe라고 할 수 있다. 

 

 

 

 


GloVe : Global Vectors for Word Representation

ELMO, BERT 등의 모델이 나오기 전에 가장 많이 사용되던 Word embedding 기법이다. GloVe 모델을 학습하기 위해서는 co-occurrecne matrix를 사전에 구축해놓아야 한다. 또한 GloVe 목적 함수는 다음과 같이 나눌 수 있을 것이다. 파란색 부분과 초록색 부분은 이미 사전에 구축해놓은 부분이기 때문에 따로 계산할 필요는 없고 빨간 부분을 구해 단순한 회귀분석에서의 Σ(yy^)2 형태로 생각할 수 있다. 

 

X : co - occurrence matrix ( 단어 - 단어 )

Xij : j 번째 단어가 i 번째 단어와 같은 context 내에 등장한 빈도 수

Xi=ΣkXik : i 번째 단어와 같은 context 내에 등장한 모든 단어들의 빈도수의 총합

 

 

 

Crucial insight : Ratios of co-occurrence probabilities can encode meaning components

- Pij=P(wj|wi)=XijXi : j 번째 단어가 i 번째 단어와 같은 context에 등장할 확률

 

위 의미를 간단하게 설명하자면 해당 context에 얼음이라는 단어가 나왔을 때 고체라는 단어가 나올 확률은 어느정도 높게 측정될 것이다. 하지만 동일 context에 기체라는 단어가 나올 확률은 낮다는 것을 의미한다. 

 

GloVe 모델의 목적은 단어들의 동시 등장 비율 정보인 PikPjk 를 인코딩해, 단어 벡터 공간안에 나타내는 것이며 다음과 같이 목적함수 F를 설정할 수 있다. 

 

F(wi,wj,wk~)=PikPjk    (1)

 

하지만 단어 subspace는 Linear structure 를 가지므로 PikPjk 를 단어  subspace 안에서 표현하는 것이 불가능하다. 단어 i,j 가 각각 단어 k 와 동시에 등장할 확률의 차이를 보는 것이 목적이므로 다음과 같이 F를 수정한다. 

 

F(wiwj,wk~)=PikPjk    (2)

 

위 식에서 F(wiwj,wk~ 는 벡터, PikPjk 는 스칼라 값을 가지기 때문에 내적을 사용하게끔 F을 최종적으로 아래와 같이 수정한다. 

 

F((wiwj)Twk~)=PikPjk    (3)

 

 

 

GloVe 모델에는 다음과 같은 세가지 제약조건이 존재한다. 

1. 교환법칙이 성립해야 한다. ww~

2. Symmetric 해야한다. XXT

3. Homomorphism을 만족해야한다. F(X+Y)=F(X)×F(Y) 

 

GloVe에서는 Homomorphism을 만족하기 위해 목적함수를 F=ex로 정의했다.