논문 리뷰 - GloVe

Soogyung Gwon·2026년 5월 7일

구름을잡아라

목록 보기
54/60

자연어 처리(NLP)에서 단어를 컴퓨터가 이해하려면 숫자 벡터로 변환해야 한다.
이러한 단어 벡터를 학습하는 대표적인 방법으로는 Word2Vec과 GloVe가 있다.

이번 글에서는 GloVe(Global Vectors for Word Representation) 가 무엇인지, 왜 등장했는지, 그리고 Word2Vec과 어떤 차이가 있는지 정리해본다.


Word Embedding이란?

Word Embedding은 단어를 고정 길이의 실수 벡터로 표현하는 방법이다.

예를 들어:

단어벡터
king[0.21, -0.55, ...]
queen[0.18, -0.51, ...]

이 벡터는 단순 숫자가 아니라 단어의 의미를 담고 있다.

좋은 embedding은 의미 관계까지 반영한다.

대표적인 예:

kingman+womanqueen\vec{king}-\vec{man}+\vec{woman}\approx\vec{queen}

즉:

  • king에서 남성성을 제거하고
  • 여성성을 더하면
  • queen에 가까워진다.

이런 특성을 통해 단어 벡터의 품질을 평가한다.


기존 Word Embedding 방법들의 한계

기존 방법은 크게 두 가지 계열로 나뉜다.

1. Matrix Factorization 기반 방법

대표 예시:

  • LSA
  • HAL
  • PPMI
  • HPCA

이 방법들은 단어들의 전체 통계를 잘 활용한다.

예를 들어:

단어쌍동시 등장 횟수
ice - solid많음
steam - gas많음

이러한 co-occurrence(동시 등장) 정보를 행렬로 만든 뒤 분해한다.

장점

  • corpus 전체 통계 활용 가능

단점

  • 큰 데이터에서 비효율적
  • analogy task 성능이 낮음

2. Local Context 기반 방법

대표 모델:

  • CBOW
  • Skip-gram

이 모델들은 주변 단어를 예측하는 방식으로 학습한다.

예:

The cat sits on the mat

window=2 라면:

  • cat ↔ sits
  • sits ↔ on

같은 local context만 본다.

장점

  • analogy task 성능 우수
  • 학습 속도 빠름

단점

  • corpus 전체 통계를 충분히 활용하지 못함

GloVe의 핵심 아이디어

GloVe는 다음 질문에서 시작한다.

“단어의 의미를 표현하려면 단순한 local context만으로 충분할까?”

논문은 다음 결론을 제시한다.

“단어 간 전체 co-occurrence statistics가 중요하다.”

즉 GloVe는:

  • local context의 장점
  • global statistics의 장점

을 결합하려고 했다.


Co-occurrence Matrix

GloVe는 먼저 co-occurrence matrix를 만든다.

Xij:

단어 i 주변에서 단어 j가 등장한 횟수

예시:

중심 단어주변 단어횟수
icesolid1200
steamgas980

확률 기반 접근

GloVe는 다음 확률을 정의한다.

Pij=XijXiP_{ij}=\frac{X_{ij}}{X_i}

여기서:

  • Xij = 동시 등장 횟수
  • Xi = 단어 i의 전체 co-occurrence 수

즉:

“i 주변에서 j가 등장할 확률”


GloVe의 가장 중요한 아이디어

논문에서 가장 핵심은 바로 이것이다.

의미는 확률 자체보다 “확률의 비율”에 담겨 있다.

예:

  • ice
  • steam

그리고 비교 단어:

  • solid
  • gas

solid는 ice와 자주 등장하고
gas는 steam과 자주 등장한다.

이를 다음 비율로 표현:

PikPjk\frac{P_{ik}}{P_{jk}}

이 ratio가 단어 의미 차이를 잘 드러낸다.

즉:

  • ice ↔ solid
  • steam ↔ gas

같은 관계를 벡터 공간 안에 반영할 수 있다.


목적 함수(Objective Function)

GloVe는 다음 목표를 가진다.

실제 co-occurrence를 잘 예측하도록 벡터를 학습한다.

이를 위해:

  • dot product
  • bias
  • least squares

를 사용한다.

핵심은:

log(co-occurrence count)를 예측하는 것

이다.


왜 log를 사용하는가?

co-occurrence count는 편차가 매우 크다.

예:

단어쌍횟수
the - of수백만
zebra - telescope몇 번 안 됨

그대로 사용하면 큰 값이 학습을 지배한다.

그래서:

  • 로그를 취해 값 범위를 줄인다.
  • 관계를 더 안정적으로 학습한다.

Weighting Function

GloVe는 weighting function도 사용한다.

f(x)=(xxmax)αf(x)=\left(\frac{x}{x_{max}}\right)^\alpha

일반적으로:

  • α=3/4\alpha = 3/4 사용

왜 Weight가 필요한가?

문제점:

너무 희귀한 단어쌍

  • 노이즈 가능성 높음

너무 자주 등장하는 단어쌍

예:

  • the
  • of

이런 단어는 정보량이 적다.

따라서:

  • 적당한 중요도로 조절해야 한다.

GloVe vs Word2Vec

특징Word2VecGloVe
방식prediction 기반count + prediction 결합
활용 정보local contextglobal statistics
학습 대상주변 단어 예측co-occurrence 관계
강점analogy 성능의미 관계 + 통계 활용
학습 방식neural predictionweighted regression

실험 결과

논문 결과:

  • analogy accuracy 약 75%
  • similarity task 최고 수준
  • NER 성능 우수

테스트 데이터셋:

  • WordSim-353
  • SCWS
  • RW
  • CoNLL-2003

흥미로운 결과

작은 window

문법(syntactic)에 강함

예:

  • 시제
  • 품사

큰 window

의미(semantic)에 강함

예:

  • 주제
  • 개념 관계

Word2Vec보다 좋은 점

논문에서는 같은 조건에서:

  • 더 빠르고
  • 더 정확하며
  • global statistics 활용 능력이 뛰어나다고 설명한다.

결론

GloVe는 단순히 주변 단어만 보는 것이 아니라:

“단어들이 corpus 전체에서 어떻게 함께 등장하는가”

를 학습하는 모델이다.

즉:

  • Word2Vec의 local context 학습 능력
  • Count-based 방법의 global statistics 활용

을 결합한 embedding 모델이라고 볼 수 있다.

그래서 GloVe는:

  • word analogy
  • semantic similarity
  • NER

등 다양한 NLP task에서 뛰어난 성능을 보인다.

특히:

“확률의 비율이 의미를 만든다”

라는 아이디어가 GloVe의 핵심이라고 할 수 있다.

profile
오랜시간 망설였던 코딩을 다시 해보려고 노력하고 있는 사람

0개의 댓글