문과 열등생 2024. 2. 28. 21:01

WordeVec

CBOW (Continuous Bag of Words)

  • 주변에 있는 단어(x)들을 입력으로 중간에 있는 단어(y)들을 예측하는 방식으로, sliding window 방식을 활용한다
  • 중심 단어가 예측되는 과정
    • 초기 토큰은 원 핫 인코딩으로 표현된다.
    • 원 핫 인코딩으로 표현된 각각의 초기 토큰은 projection layer에 전달되며, 이 때 전달되는 값은 원 핫 인코딩으로 표현된 토큰에 가중치 W를 곱한 값들의 평균이다. (이 평균은 window에 의해 select된 단어들의 맥락 정보를 담고 있다.)
    • 이 평균 값에 가중치 행렬을 곱한 값에 softmax 함수를 적용한 값은 score vector가 된다.
    • 정리
      • 주변 단어들의 embedding vector 값을 바탕으로 중심 단어를 예측하는 방식으로 작동
      • 주변 단어들의 embedding vector들의 평균이 하나의 context vector를 형성하고, context vector를 사용해서 중심 단어의 확률 분포를 예측하며, 이 score vector와 실제 중심 단어의 원 핫 벡터와의 손실 값 최소화하는 방향으로 학습

CBOW의 손실 함수

  • 헷갈리는 점
    • score vector : 주변 단어들을 기반으로 각 단어가 중심 단어일 확률을 나타내는 벡터
    • embedding vector : 단어의 의미적 특성을 저차원 공간에 표현한 벡터로, 각 단어를 대표하는 벡터. CBOW 모델에서는 중심단어를 사용하지 않고 중심단어를 예측하기 때문에, 주변 단어들의 embedding vector만을 사용한다.
  • 학습의 목적이 되는 목적 손실 값은 score vector와 실제 중심 단어의 벡터 값이며, 이 때 실제 중심 단어의 벡터 값은 원 핫 인코딩된 벡터 값이다. (이 때 차원은 vocabulary의 차원과 동일하다)
    • score vector는 확률 값으로 구성되어 있다.

CBOW 모델 구성

 

Skip-Gram

  • 중심 단어(x)를 입력으로 주변 단어(y)들을 예측하는 방식으로 sliding window 방식을 활용한다.
  • 주변 단어들을 예측하는 과정
    • 중심단어의 embedding vector : 중심단어의 원핫벡터 * W
    • 중심단어의 embedding vector * w가 softmax 활성함수를 통과하고, 이를 통해 주변 단어의 score vector가 주변 단어 갯수 만큼 생성되고,
    • score vector와 주변 단어의 원 핫 벡터의 손실 값이 최소가 되는 방향으로 학습이 진행

Skip-Gram 모델 구성

 

★ Word2Vec의 두 모델의 핵심 architecture는 embedding vector를 활용하여 단어를 예측하는 것.

★ Word2Vec 모델은 간단한 인공신경망 모델이다.

 

Word Embedding의 목적

  • 텍스트 데이터를 Dense Vector로 표현하여 컴퓨터가 이해할 수 있는 형태로 표현
  • 단어, 텍스트의 의미적 관계와 유사성을 표현 (자연어 처리 과정에서의 성능 향상을 위함)

 

최적화 방법

  • hierarchical softmax → Fast Text 방법과 관련
  • negative sampling  → SGNS(Skip-Gram Negative Sampling)과 관련
    • 학습 과정에서 전체 단어 집합이 아니라 일부 단어 집합에만 집중할 수 있도록 하는 방법으로, 중심 단어에 대해서 전체 단어 집합보다 훨씬 작은 단어 집합을 만들고, 마지막 단계를 이진 분류 문제로 변환하여 연산량을 크게 줄이는 방법

한계

  • 단어의 형태학적 특성을 반영하지 못함 (teach, teachers, teacher를 개별 단어로 처리)
  • 희소한 단어의 embedding이 어려움 : 희소한 단어의 충분한 문맥 정보를 학습하기 어려움
  • OOV (out of vocabulary)의 처리가 어려움 (새로운 단어가 등장하면 전체를 다시 학습해야하는 문제)
      •  

 

참고 : 골든플래닛 (goldenplanet.co.kr)