본문 바로가기

AI 마일스톤/ML (머신러닝)

논문 분석 : Efficient Estimation of Word Representations in Vector Space(2013)

  우리는 이제 챗GPT와 대화하고 파파고로 번역하는 것이 당연한 시대에 살고 있습니다. 하지만 컴퓨터에게 상식적인 사실들을 가르치는 것은 오랫동안 어려운 일이였습니다. 컴퓨터에게 언어란 그저 텍스트, 즉 기호일 뿐이기 때문입니다.
 
  2013년, 구글의 토마시 미콜로프(Tomas Mikolov) 팀이 발표한 "Efficient Estimation of Word Representations in Vector Space" 논문은 이 문제를 해결하며 현대 자연어 처리(NLP)의 황금기를 열었습니다. 이 논문은 어떻게 단어에서 '의미'를 추출해 숫자로 바꾸었을까요? 오늘날 모든 언어 모델의 근간이 된 Word2Vec에 대해서 알아보겠습니다.


Word2Vec이란 무엇인가?

  Word2Vec은 말 그대로 "Word(단어)를 Vector(숫자 리스트)로 바꾸는(To)" 기술입니다. 이 기술의 핵심은 단어를 단순한 숫자가 아니라 수백 차원의 거대한 공간 속 의 좌표로 변환한다는 점입니다. 여기에는 아주 흥미로운 배경이 하나 깔려 있습니다. 바로 분포 가설(Distributional Hypothesis)입니다.

"비슷한 문맥에서 함께 등장하는 단어들은 의미도 비슷하다."


  예를 들어 "나는 점심에 사과를 먹었다"와 "나는 점심에 를 먹었다"라는 문장이 있다면 '사과'와 '배'는 주변 단어가 비슷하기 때문에 벡터 공간에서도 서로 아주 가까운 위치에 저장됩니다. 즉 Word2Vec은 단어 그 자체를 공부하는 게 아니라 단어의 주변(Context)을 보고 그 단어의 정체성을 파악하는 모델입니다.


Word2Vec 이전과 이후

Word2Vec이 등장하기 전에는 단어를 어떻게 숫자로 표현했을까요?
 

Word2Vec 이전 : 원-핫 인코딩(One-hot Encoding)

  기존에는 단어장에 있는 단어가 1만 개라면, 1만 차원의 벡터를 만들어 해당 단어의 위치에만 '1'을 표시하고 나머지는 모두 '0'으로 채웠습니다. 이러면 단어가 늘어날수록 0이 너무 많아져 메모리가 버티지 못합니다. 그리고 데이터의 의미가 없다는 문제점도 있습니다. [1, 0, 0](사과)과 [0, 1, 0](배) 사이에는 수학적으로 아무런 연관성이 없습니다. 컴퓨터 눈에는 사과와 배가 사과와 자동차만큼이나 다른 존재였죠.
 

Word2Vec 이후 : 밀집 표현(Dense Representation)

  Word2Vec은 이 문제를 완전히 뒤집었습니다. 수만 개의 0을 나열하는 대신, 100~300개의 숫자로 단어의 특징을 압축합니다. 그리고 단어들이 공간상의 좌표로 표현되면서, 두 단어 사이의 거리(코사인 유사도 등)를 계산해 "사과와 배는 90% 정도 비슷하다"라고 말할 수 있게 되었습니다.


논문의 핵심 알고리즘 : CBOW vs Skip-gram

Word2Vec 논문은 단어를 벡터로 만들기 위해 두 가지 학습 방식을 제안합니다.
 
쉽게 말해 "주변을 보고 중심을 맞출 것인가(CBOW)", 아니면 "중심을 보고 주변을 맞출 것인가(Skip-gram)" 의 차이입니다.

출처 : Tomas Mikolov , Efficient Estimation of Word Representations in Vector Space, 2013

 

(1) CBOW (Continuous Bag-of-Words)

CBOW는 주변에 있는 단어들(Context)을 입력으로 주면, 그 사이에 들어갈 중심 단어(Target)를 예측하는 방식입니다.

  • 예시: "오늘", "점심", "먹었다"라는 주변 단어를 보고 빈칸 [ ]에 들어갈 "샌드위치"를 맞추는 학습.
  • 특징: 여러 단어를 조합해 하나를 맞추기 때문에 학습 속도가 매우 빠름. 데이터 셋이 작을 때 효율적.

(2) Skip-gram

Skip-gram은 CBOW와 반대로, 한 개의 중심 단어를 보고 그 주변에 어떤 단어들이 나타날지 예측하는 방식입니다.

  • 예시: "샌드위치"라는 단어를 주면, 주변에 "오늘", "점심", "먹었다" 같은 단어들이 나올 확률을 계산.
  • 특징: 중심 단어 하나로 여러 주변 단어를 예측해야 하므로 학습이 더 어렵고 시간이 오래 걸림. 하지만 저빈도 단어(자주 안 나오는 단어)를 훨씬 더 잘 잡아내며, 전반적인 성능이 CBOW보다 뛰어나 실제 서비스나 연구에서 훨씬 더 많이 쓰인다.
구분CBOWSkip-gram

 
  당시 유행하던 복잡한 딥러닝 방식과 달리 미콜로프는 신경망의 층을 아주 얇게(Shallow) 설계했습니다. 덕분에 연산량은 획기적으로 줄이면서도 수십억 개의 거대한 데이터를 학습할 수 있게 되었습니다. '단순함이 복잡함을 이긴' 아주 대표적인 사례라고 할 수 있습니다.


단어 산술 연산 (Word Analogy)

  Word2Vec 논문이 발표되었을 때 학계와 대중이 가장 놀랐던 점은 바로 단어끼리 더하기 빼기가 가능하다는 것이었습니다. 단순히 단어를 숫자로 바꾼 것을 넘어 그 숫자들 사이에 의미적인 규칙이 존재한다는 사실이 증명되었기 때문입니다.
 

(1) "왕 - 남자 + 여자 = 여왕"

가장 유명한 예시입니다. Word2Vec으로 학습된 벡터 공간에서 다음과 같은 계산을 해봅시다. 

Vector("King") - Vector("Man") + Vector("Woman") = Vector("Queen")

 
  King 벡터에서 Man 벡터를 빼면, '남성성'이라는 특징이 사라지고 '통치자'라는 핵심 의미만 남습니다. 여기에 Woman 벡터를 더하면, '통치자'라는 의미에 '여성성'이 결합되어 자연스럽게 Queen에 가장 가까운 좌표로 이동하게 되는 원리입니다.
 

(2) 관계를 기억하는 벡터 공간

이런 게산방법은 성별뿐만 아니라 다양한 관계에서도 적용할 수 있습니다.
 
국가와 수도 : Vector("Korea") - Vector("Seoul") + Vector("Tokyo") = Vector("Japan")
동사의 시제 : Vector("Walking") - Vector("Walk") + Vector("Swim") = Vector("Swimming")
형용사의 비교급 : Vector("Clearer") - Vector("Clear") + Vector("Strong") = Vector("Stronger")
 
  이런 현상이 일어나는 이유는 Word2Vec이 단어를 학습할 때, 단어 간의 거리뿐만 아니라 방향성까지 학습하기 때문입니다.
벡터 공간에서 '남자 → 여자'로 가는 화살표의 방향과 길이는, '왕 → 여왕'으로 가는 화살표나 '아들 → 딸'로 가는 화살표와 거의 일치하게 됩니다. 즉, 우리 머릿속에 있는 언어적 관념이 수학적인 기하학 구조로 그대로 복사된 것이라고 볼 수 있습니다.


  2013년 발표된 이 얇은 논문 한 장이 바꾼 세상은 생각보다 훨씬 거대합니다. Word2Vec은 단순한 알고리즘을 넘어, 인공지능이 인간의 언어를 다루는 '기본 문법'을 바꾸어 놓았습니다.

모든 NLP 모델의 시작점, 임베딩(Embedding)

  오늘날 우리가 열광하는 GPT, BERT, Llama 같은 거대 언어 모델(LLM)들도 결국 그 밑바닥에는 단어를 벡터로 바꾸는 '임베딩' 원리가 살아 숨 쉬고 있습니다. Word2Vec이 증명한 "의미의 수치화"라는 개념이 없었다면, 지금처럼 자연스러운 AI와의 대화는 불가능했을지도 모릅니다.

단순함이 복잡함을 이긴다

  미콜로프의 이 논문은 우리에게 중요한 교훈을 줍니다. 무조건 모델을 복잡하고 깊게(Deep) 만드는 것만이 정답은 아니라는 것입니다. 데이터의 본질을 꿰뚫는 가설(분포 가설)과 이를 뒷받침하는 효율적인 구조만 있다면 가벼운 모델로도 세상을 놀라게 할 수 있다는 것을 보여주었습니다.
 

왜 이 논문이 효율적인가

  당시에는 정확도를 높이기 위해 모델을 복잡하게 만드는 것이 유행이었지만, 이 논문은 정반대의 길을 갔습니다.복잡한 인공신경망의 중간 층(Hidden Layer)을 과감히 단순화하면서 비선형 층을 제거하려 했습니다. 그리고 모델은 최대한 단순하게 만들되 대신 엄청나게 많은 데이터(구글 뉴스 데이터 등)를 쏟아부어 학습시켰습니다. 그 결과 기존의 무거운 모델들보다 수십 배 빠르게 학습하면서도 성능은 오히려 압도적으로 높게 나오는 효율성을 보여주었습니다. 논문의 제목에 들어간 'Efficient'라는 단어는 미콜로프 팀의 강한 자부심을 보여줍니다. 


글을 마치며

  "King - Man + Woman = Queen"이라는 수식은 이제 자연어 처리를 공부하는 사람들에게는 마치 수학의 1 + 1 = 2처럼 당연한 상식이 되었습니다. 만약 AI 개발자나 데이터 과학자를 꿈꾼다면, 혹은 단순히 AI의 원리가 궁금하다면 이 논문은 반드시 거쳐 가야 할 관문과도 같습니다. 10년이 지난 지금 읽어도 이 논문의 효율성(Efficiency)에 대한 집착과 통찰은 여전히 유효하니까요.