Notice
Recent Posts
Recent Comments
Link
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

언어 전공자의 NLP 로그

Efficient Estimation of Word Representations in Vector Space 본문

논문 읽기

Efficient Estimation of Word Representations in Vector Space

JohnnyNLP 2024. 2. 23. 14:23

논문 출처 : https://arxiv.org/abs/1301.3781

 

Efficient Estimation of Word Representations in Vector Space

We propose two novel model architectures for computing continuous vector representations of words from very large data sets. The quality of these representations is measured in a word similarity task, and the results are compared to the previously best per

arxiv.org

 

  • 본 논문은 2013년 9월에 구글 연구팀에 의해 발표된 것으로, 기존에 잘 알려진 N-gram과 skip-gram 방식의 워드 임베딩을 발전시킨 CBOW, continuous skip-gram 방식의 모델을 선보인다.
  • 인공신경망에 대한 연구 관심이 높았던 시기답게, 더 많은 용량의 학습 데이터를 더 빨리 학습시킬 수 있는 방법을 모색하는 것이 핵심이다.
  • 어쩌면 이 시기 즈음부터 주요 IT 업계에서 사이즈 경쟁이 시작되었는지도 모르겠다.
  • 본 논문에서 continuous라고 표현한 이유가 뭘까 궁금했는데, [김기현의 자연어 처리 딥러닝 캠프]에서 좋은 설명을 발견했다.

전통적인 자연어 처리에서는 불연속적인 심벌로서 데이터를 취급했습니다. 물론 사람이 데이터를 보고 해석하기 쉽다는 장점이 있었지만, 모호성이나 유의성을 다룰 경우에는 어려움을 겪었습니다.

하지만 word2vec 등의 단어 임베딩을 통해서 단어(또는 토큰)를 연속적인 벡터로써 나타낼 수 있게 되고, 직접적인 해석은 비록 어려워졌지만 대신 모호성과 유의성 문제를 잘 해결할 수 있게 되었습니다.

  • 즉, 이산적인 (discrete) 데이터와 반대로, 지식 그래프의 형태로 지식을 표현하고, 연속된 벡터로 단어를 표현하는 인공 신경망 기반 접근 방식이 continuous하다는 것.

1. Introduction

  • 그간 NLP 시스템들은 단어를 원자 단위로 취급했다. 즉, 각 단어가 단어집의 인덱스로 치환되기 때문에 단어 간 유사성을 고려하지 않는다는 의미이다.
  • 이처럼 단순한 모델을 사용함의 이점은 강건함, 간단함 등이 있겠지만, 더 복잡하고 많은 데이터를 학습한 모델을 이길 수 없다.
  • 따라서 본 논문에서는 단어의 분산 표현이라는 개념을 사용해 신경망 학습에 기반한 언어 모델을 제안한다.
  • 결국 고성능의 단어 벡터는 더 많은 단어를 학습해야 얻을 수 있다. 기존의 단어 벡터들은 대개 임베딩 차원이 50-100 수준인데, 이를 더 늘려야 한다.
  • 본 논문에서 제안하는 단어 벡터는 서로 유사한 단어간 거리가 가까울뿐 아니라, 다방면의 유사성도 가진다. 즉, 단어 간의 관계를 이해할 수 있다는 것이다. 이에 대한 사례가 그 유명한 "King - Man = ?(Queen) - Woman"이다. 이처럼 향상된 형태의 단어 벡터는 구문 규칙과 의미 규칙을 모두 포착한다ㅣ.

2. Model Architectures

  • 학습 데이터를 늘리기에 앞서 중요한 것은 모델 복잡도이다. 모델 복잡도를 먼저 계산한 뒤에, 이를 최적화할 수 있는 모델을 설계하고, 정확도를 최대화하면서도 비용을 최소화하는 방법을 찾는다.
  • 기존의 순전파 신경망 언어 모델의 경우, 입력층, 투영층, 은닉층, 출력층으로 구성된다. 이때 사용되는 총 복잡도는은 $Q=N∗D+N∗D∗H+H∗V$이며, 일반적으로 $H∗V$가 가장 크다. 그러나 이진 트리 구조를 사용하면 V의 비용을 $log2V$로 낮출 수 있어 $N∗D∗H$가 가장 높은 복잡도를 차지하게 된다. 본 논문에서는 Huffman 이진 트리라는 구조로 단어를 표현하게 되는데, 이를 이용하면 나아가 비용을 $log2(Unigram perplexity(V))$까지도 낮출 수 있다고 한다. 그런데 $N∗D∗H$라는 큰 비용이 발생하는 레이어가 은닉층이므로, 여기서는 아예 빼버리기로 한다.
  • RNN 언어 모델의 경우, (알아서 순차적으로 정보를 처리하므로) 앞서 살펴본 N이라는 값을 굳이 설정할 필요가 없고, 투영층도 없어 비용은 $Q=H∗H+H∗V$가 된다. 사실상 앞의 H는 D인데, 단어 표현층이 은닉층 H와 같은 값을 갖기 때문이다. 모델 복잡도가 발생하는 부분은 $H∗H$이다.
  • 병렬 학습의 가능성 : 논문이 쓰일 시기에 많은 모델들이 stochastic gradient descent 방식을 학습에 차용했던 것 같다. 그러나 본 논문에서는 미니 배치식 비동기 경사 하강법인 Adagrad 방법을 도입해 학습 속도를 늘리려고 했다.

3. New Log-linear Models

  • 앞서 말한 바와 같이, 은닉층의 존재는 모델 학습 속도를 늦추고 연산 복잡도를 높인다. 따라서 이를 과감히 제거하고, 1) 간단한 모델로 연속적인 워드 벡터를 생성하고, 2) N-gram 신경망 언어 모델로 이러한 단어의 분산 표현을 학습시킨다.
  • 이때 사용된 접근법이 CBOW와 continuous skip-gram이다.
  • CBOW는 순전파 신경망 모델과 유사한데, 비선형 은닉층이 없고, 투영층이 모든 단어에 동일하기 때문에, 모든 단어가 동일한 위치로 투영된다. 윈도우 크기만큼의 단어를 앞뒤로 살펴 가운데 단어를 예측하는 방식은 동일하다.
  • Continuous skip-gram은 CBOW의 반대다. 가운데 단어로 윈도우 크기만큼의 단어를 앞뒤로 예측한다.

4. Results

  • 기존의 단어 벡터가 France와 Italy의 유사도는 어느 정도 짐작할 수 있어도, 그 둘이 '나라'라는 관계로 묶이기 때문이라는 점은 학습하지 못했다면, 본 논문의 제안 방법은 "France의 Paris가 Italy의 어디지?"라고 물으면 Roma라고 답하는 수준의 관계성을 학습할 수 있다.
  • 이러한 관계성을 확인하기 위해, 8869개의 의미론적 / 10675개의 구문론적 질의를 제작하여 그 정확도를 살펴봤다. 정확히 일치하는 경우만 정답으로 체크했을 때 정확도는 60%정도가 나왔으나, 실질적으로는 이보다 조금 더 성능이 좋게 나왔다고 볼 수 있다.
    • 의미론적 관계 유형 : 유명한 수도, 전체 국가 수도, 화폐, 도시와 주의 관계, 남성 단어와 여성 단어
    • 구문론적 관계 유형 : 형용사/부사, 반의어, 비교급, 최상급, 현재분사, 국적 형용사, 과거형, 복수형, 복수동사
  • 연구자들은 또한 임베딩 사이즈와 학습 데이터 간의 관계를 살피기 위해 두 변수를 조정해가며 동일 태스크의 정확도를 비교한다. 예상대로, 데이터가 많아질수록 임베딩 사이즈도 키워줘야 결과가 더 좋게 나온다. 즉, 기존의 50-100 정도의 크기로는 6B 토큰의 구글 뉴스 데이터는 소화하지 못한다.
  • 학습 데이터를 2배 늘린 것은 연산 비용에서 벡터 크기를 2배 늘린 것과 거의 유사한 효과이다.
  • 또한 데이터를 2배 늘려 학습하는 것이 같은 데이터를 3번 학습하는 것보다 효율이 좋다. 여기서도 데이터의 크기가 중요함이 드러났다.
  • 이렇게 구현한 Skip-gram 모델은 Microsoft Sentence Completion Challenge (빈칸 단어 맞추기)에서 RNN구조 언어 모델과 결합하여 SOTA를 기록했다.

5. Examples of the Learned Relationships

  • 본 논문의 핵심은 결국 단어의 관계성을 반영한 단어 벡터의 표현일 것이다. 이에 따라 논문에서도 많은 사례를 보여주며 그 가능성을 설파한다.
  • 동시에 훨씬 많은 데이터로 훨씬 큰 차원을 부여한다면 이러한 관계를 더욱 발전시킬 것이라며 아쉬움을 표현하는데, 추후 BERT와 맞물리면서 LLM으로 나아가려는 분위기가 슬슬 올라오는 시기였던 것 같다.
  • 또한 단어의 유사성을 알 수 있다는 것은, 문맥에 어울리지 않는 단어 찾기 등과 같은 과제에도 사용될 수 있다는 것이다. 이로써 인간 지능에 조금 더 근접한 워드 임베딩이 가능해졌다.

6. Conclusion

  • 간단한 모델 구조로도 의미론/구문론적 특징을 포착하는 모델을 제안했다.
  • 비용이 낮아 차원 수를 늘리고, 더 큰 데이터 셋 학습이 가능하다.
  • 단어간 관계를 시험할 수 있는 테스트 셋을 제안했다.