딥러닝, 논문 리뷰

[딥러닝, 논문리뷰] Efficient Estimation of Word Representations in Vector Space(Word2Vec) - 2

cheorish 2025. 1. 1. 23:04

 

https://arxiv.org/abs/1301.3781

 

출처 : https://arxiv.org/pdf/1301.3781

 

 

 

 

Word2Vec1 이라고 불리는 논문이며, 기존에 텍스트 데이터를 벡터 방식으로 표현할 때 가장 많이 사용하였던 "원-핫 인코딩"
방식 등을 채택한 "밀집표현" 방식 대신 "CBOW", "Skip-gram"을 사용하여 고차원으로 표현되던 벡터를 저차원으로 변환시키고 그에 따른 단어간의 가중치 값을 담은 실수 값으로 변형 → 단어간의 유사도를 비교할 수 있는 방법을 고안하여, 워드 임베딩을 효율적으로 향상시킨 평가를 받은 논문 

 

 

1.  Abstract 

대규모 데이터셋에서 효율적으로 단어 벡터 표현(Word Embeddings)을 학습하기 위한 두 가지 새로운 모델 아키텍처, Continuous Bag-of-Words (CBOW)Skip-gram을 제안.

 

이 모델들은 기존의 신경망 기반 언어 모델보다 훨씬 낮은 계산 비용으로 더 높은 정확도를 달성하였음. 약 16억 개의 단어 데이터셋에서 하루 이내에 고품질의 단어 벡터를 학습할 수 있으며, 구문적(Syntactic) 및 의미적(Semantic) 유사성 작업에서 최첨단 성능을 보였음

 

또한, 단어 벡터 간의 선형 관계를 유지하여 단어 간 연산(예: King - Man + Woman = Queen)이 가능함을 입증했음 

 

2.  Introduction

기존 자연어 처리(NLP) 모델들이 단어를 원자적 단위로 다뤄 단어 간 유사성을 포착하지 못한다는 한계를 지적함

 

단순 N-gram 모델은 방대한 데이터로 훈련될 경우 강력하지만, 특정 도메인의 고품질 데이터가 부족하면 한계가 드러남. 따라서 더 복잡한 모델과 분산된 단어 표현(distributed word representations)이 필요하며,

 

이 연구는 대규모 데이터셋과 방대한 어휘에서 고품질 단어 벡터를 효율적으로 학습하는 방법을 제시함

 

3.  Model Architectures

이 섹션에서는 단어 임베딩을 학습하기 위한 주요 신경망 모델 및 분산 표현(밀집 표현이 서브로 있음)에 초점을 맞추면서 보다 효율적인 방식을 제안하는데, 최종적인 연산의 복잡도를 도식화 하자면 

 

\(O = E × T × Q,\)

 

E: 학습 에포크(Epochs) 수 (일반적으로 3~50회)

T: 학습 데이터셋의 단어 수 (최대 10억 개 단어)

Q: 모델 아키텍처에 따라 정의되는 각기 다른 계산 비용

 

기존 단어 임베딩 신경망 모델과 Word2Vec 모델의 비교를 위해

  • 기존 피드포워드 뉴럴 네트워크의 신경망 모델을 정리하려고 한다.

 

3-1. Feedforward Neural Net Language Model (NNLM)

  • 단어의 N-그램(N-gram) 입력을 받아 예측하는 구조.
  • 투영(projection) 층에서 단어 벡터를 계산한 후 **은닉층(hidden layer)**을 통해 확률 분포를 생성.
  • 계산 복잡도:  \(Q = N × D + N × D × H + H × V\) 
  • 단점: 계산 비용이 높음.

출처 : https://wikidocs.net/45609

 

 

  • 계산복잡도
    • \(Q = N × D + N × D × H + H × V\)
      • \(N: 입력 단어의 개수\)
      • \(D: 단어 벡터의 차원\)
      • \(H: 은닉층의 유닛 수\)
      • \(V: 어휘(vocabulary) 크기\)

 

3-2.Recurrent Neural Net Language Model (RNNLM)

  • 기존 Projection Layer를 가지고 있지 않은 상태에서 입력, 은닉, 출력만으로 이루어져 계산 
  • 모든 단어들의 대한 정보를 순환하며 과거의 기억을 저장하며 입력 값을 업데이트(RNN방식)

특징

  • 은닉층이 과거 상태를 기억하여 더 긴 문맥을 학습 가능.
  • 계산 복잡도:  \(Q = H × H + H × V\)
  • 은닉층 간의 시간 지연 연결을 사용해 과거 정보를 유지.

 

  • 계산 복잡도
    • \(Q = H × H + H × V\)
    • \(H × H: 은닉 상태 간 연결.\)
    • \(H × V: 출력 계층 계산.\)

단점

기존 RNN과 똑같이 장기의존성의 문제와 계산 비용이 높고, 학습 속도가 느리다는 단점이 존재 

 

3-3. Parallel Training

방대한 데이터셋에 대한 모델을 훈련시키기 위해, 분산 연산 프레임워크인 DistBelief을 사용,

같은 여러 모델들을 복제시켜 데이터들을 배치화 시킨 다음, 병렬적으로 실행시키는 로직이다. 

 

각각의 복제된 여러 모델들은 중앙을 통해 신경망 방식의 기울기를 업데이트를 하며 미니 배치 방식으로 Adagrad를 이용한 기울기 최적화를 탐색하고, 경사하강법을 통해 최적의 학습 지점을 탐색한다고 보면 된다.

 

단점 

여러 복제본들 간의 동기화가 필요하여 비용증가, 비동기적 경사 하강법이라는 특징으로 인해, 매개변수 업데이트가 일관성을 잃을 가능성이 크고 유지보수에 대한 비용이 증가한다는 크나큰 단점이 있음.

 

 

3-4. New Log-linear Models

  • 계산 복잡도 최소화
  • 기존 NNLM의 **은닉층(hidden layer)**으로 인한 높은 계산 비용 문제 해결

출처 : https://arxiv.org/pdf/1301.3781

 

주요 아키텍처 

 

1. CBOW

  • 주변 단어로 중심 단어를 예측
  • 입력 단어 벡터를 평균화해 예측 수행
  • 복잡도:  \(Q = N × D + D × \log_2(V)\) 

2. Skip-gram

  • 중심 단어로 주변 단어를 예측
  • 더 넓은 문맥을 학습하며 멀리 있는 단어는 가중치를 낮게 부여
  • 복잡도:  \(Q = C × (D + D × \log_2(V)\) 

자세한 아키텍처는 1편에 정리하였음

 

[딥러닝] Word2Vec 논문 리뷰 전 분석 - 1

Word2Vec1. 희소 & 밀집 표현대표적인 기법 → 원-핫 인코딩대상이 되는 범주형 변수는 해당 변수 범주 개수(n)만큼의 신규 변수로 쪼개어짐고차원 행렬 형태로 변환되며 고유 이진 벡터로 표현됨으

cheorish.tistory.com

 

4.  Result

  1. 단어 벡터 품질 평가:
    • CBOW와 Skip-gram이 기존 NNLM 및 RNNLM보다 더 나은 성능 보임.
    • Skip-gram은 **의미적 유사성(semantic similarity)**에서 우수, CBOW는 **구문적 유사성(syntactic similarity)**에서 더 나음. 
  2. 학습 데이터와 차원:
    • 더 큰 데이터셋과 높은 벡터 차원이 성능을 개선하지만, 점진적 개선 효과는 감소함.
  3. 학습 속도:
    • Skip-gram은 더 정확하지만 CBOW보다 학습 시간이 오래 걸림.
    • 한 번의 에포크(epoch)에서 더 많은 데이터를 사용하는 것이 여러 번 반복 학습하는 것보다 효율적임.
  4. 병렬 학습:
    • DistBelief 프레임워크를 통해 대규모 데이터셋을 빠르게 학습할 수 있음.
  5. 벤치마크 성능:
    • Skip-gram과 CBOW 모두 기존 모델들을 능가하며, 문장 완성 작업에서 높은 정확도를 달성함.
  6. 의미적 관계 학습:
    • 벡터 연산(예: Paris - France + Italy = Rome)으로 단어 간 관계를 성공적으로 포착함.

Task Description

 

상기 표대로 단어 벡터의 품질을 평가하기 위해 5가지 의미적(semantic) 질문 유형과 9가지 구문적(syntactic) 질문 유형으로 구성된 테스트 세트를 정의함.

 

단어 벡터는 코사인 거리(cosine distance)를 사용해 가장 가까운 단어를 찾아 정답 여부를 판단함.

정확한 단어만 정답으로 인정되며, 동의어는 오답으로 처리됨.

이 평가를 통해 모델이 단어 간의 구문적, 의미적 관계를 얼마나 잘 학습했는지 확인함.

 

Maximization of Accuracy

  • 데이터와 벡터 차원: 더 많은 데이터와 높은 차원의 벡터를 사용할수록 정확도가 향상됨.
  • 수렴 한계: 데이터와 벡터 차원이 일정 수준을 넘어가면 개선 효과가 감소.
  • 효율적 학습: 더 많은 데이터를 한 번 학습하는 것이 같은 데이터를 여러 번 학습하는 것보다 효율적임.
  • 최적화 전략: 학습률(learning rate)을 선형으로 감소시키면서 SGD(확률적 경사 하강법)로 훈련 진행.

RNNLM이 가장 낮은 성능을 보였으며, CBOW 및 Skip-gram이 나머지 모델들을 모두 압도하는 결과를 보여줌

Comparison of Model Architectures (모델 아키텍처 비교) 

 

  1. RNNLM (Recurrent Neural Network Language Model)
    • 장점: 구문적(Syntactic) 질문에서 강점.
    • 단점: 높은 계산 비용과 느린 학습 속도.
  2. NNLM (Feedforward Neural Network Language Model)
    • 장점: RNNLM보다 전반적으로 더 나은 성능.
    • 단점: 복잡한 구조와 높은 계산 비용.
  3. CBOW (Continuous Bag-of-Words)
    • 장점: 구문적 작업에서 높은 성능.
    • 단점: 의미적 관계에서 Skip-gram보다 성능이 낮음.
  4. Skip-gram
    • 장점: 의미적(Semantic) 관계에서 뛰어난 성능.
    • 단점: 학습 시간이 CBOW보다 길다.

Conclusion (결론)

이 논문은 대규모 데이터셋에서 효율적으로 단어 벡터를 학습할 수 있는 두 가지 새로운 모델 아키텍처(CBOW와 Skip-gram)를 제안함. 이 모델들은 기존 NNLM 및 RNNLM에 비해 계산 비용이 낮고 더 높은 정확도를 제공함. 또한, 단어 간의 선형 관계를 유지하면서 의미적 및 구문적 패턴을 효과적으로 학습할 수 있음을 입증함. 이 벡터는 다양한 NLP 작업(기계 번역, 정보 검색 등)에서 높은 성능을 기대할 수 있으며, 미래 NLP 연구의 중요한 기반이 될 것으로 보임.

 

 

인용 : https://velog.io/@lee9843/Word2Vec-Efficient-Estimation-of-Word-Representations-in-Vector-Space-%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0