EMNLP 2014Citations: 30,000+

GloVe: Global Vectors for Word Representation

GloVe: 단어 표현을 위한 글로벌 벡터

Jeffrey Pennington, Richard Socher, Christopher Manning (2014)

단어-단어 동시 출현 행렬의 통계 정보를 활용하여 단어 벡터를 학습하는 GloVe를 제안했다. 전역 행렬 분해와 지역 문맥 윈도우 방법의 장점을 결합하여, Word2Vec과 동등하거나 우수한 단어 표현을 효율적으로 학습한다.

배경

단어 임베딩 연구는 크게 두 가지 흐름이 있었다. 첫째는 LSA(잠재 의미 분석)처럼 전역 동시 출현 통계를 활용하는 행렬 분해 방법이고, 둘째는 Word2Vec처럼 지역 문맥 윈도우를 순회하며 학습하는 방법이다. LSA는 전역 통계를 잘 포착하지만 단어 유추 태스크에서 약하고, Word2Vec은 유추에 강하지만 전역 통계를 직접 활용하지 않았다. 두 접근법의 장점을 결합하는 방법이 필요했다.

핵심 아이디어

GloVe(Global Vectors)는 동시 출현 확률의 비율(ratio)이 단어 간 의미적 관계를 인코딩한다는 통찰에서 출발한다. 예를 들어 'ice'와 'steam'에 대해 'solid'의 동시 출현 확률 비율은 크고, 'water'의 비율은 1에 가깝다. 이러한 비율 관계를 벡터 공간에서 보존하도록 가중 최소제곱 회귀 목적 함수를 설계했다. 구체적으로 두 단어 벡터의 내적이 해당 단어 쌍의 로그 동시 출현 횟수와 가까워지도록 학습한다. 빈도가 높은 동시 출현에 과도한 가중치가 부여되는 것을 방지하기 위해 가중 함수를 도입했다.

방법론

전체 코퍼스에서 단어-단어 동시 출현 행렬 X를 구성한 뒤, 비용 함수 J = Σ f(X_ij)(w_i^T w̃_j + b_i + b̃_j - log X_ij)^2를 최소화한다. f(x)는 빈도에 따른 가중 함수로 x_max(기본값 100)를 기준으로 클리핑된다. AdaGrad 옵티마이저를 사용하여 학습하며, 최종 단어 벡터는 w + w̃의 합으로 구성한다.

주요 결과

단어 유추 태스크에서 GloVe 300차원 벡터는 Word2Vec Skip-gram을 능가하는 75%의 정확도를 달성했다. 단어 유사도 벤치마크(WordSim-353, MC, RG, SCWS 등)에서도 경쟁력 있는 결과를 보였다. 특히 벡터 차원과 학습 데이터 크기가 증가할수록 성능이 꾸준히 향상되는 안정적 스케일링 특성을 보여주었다.

임팩트

GloVe는 Word2Vec과 함께 사전 학습된 단어 임베딩의 양대 산맥으로 자리잡았다. 공개된 사전 학습 벡터(6B, 42B, 840B 토큰)는 NLP 연구와 실무에서 폭넓게 활용되었으며, 전역 통계 기반 임베딩이 신경망 기반 방법과 동등한 성능을 달성할 수 있음을 보여주었다. 이후 FastText, ELMo 등 후속 임베딩 연구에도 중요한 비교 기준이 되었다.

관련 Foundation 논문

관련 논문