word2vec

2022. 3. 6. 18:03카테고리 없음

    목차
반응형
  • word2vec은 추론 기반 기법이며 단순한 2층 신경망
    • 2개의 layer는 모두 fully connected layers
  • word2vec의 구현 모델

 

  • skip-gram: 주변 단어를 예측
  • CBOW: 중심 단어를 예측
    • Continuous Bag of Word

l  word2vec은 가중치로 다시 학습할 수 있어 단어 갱신 시 학습에 유리

 

추론 기반 기법

  • 통계 기반 기법
  • 추론 기반 기법
    • word2vec

 

통계 기반 기법의 문제

단어의 출현 빈도를 기준으로 예측

DTM으로 각 문서 내 단어의 출현 빈도를 계산하고 이를 SVD로 차원 축소하여 단어의 분산 표현인 "밀집벡터"를 얻음

 

문제점

  • 연산 속도
    • 느림... 
    • SVD의 time complexity는 O(n^3)
  • SGD 방식만 가능
    • batch, mini-batch가 불가능
  • memory usage
    • corpus의 크기가 클수록 거대한 차원이 필요
    • 즉, 현실적인 방법이 아님

 

word2vec

you say goodbye에서

you와 goodbye를 입력으로 준 뒤 say를 예측하는 즉, 중심 단어를 예측하는 모델

예측을 위한 학습 과정에서 각 입력 단어들이 가중치로 표현되며 이것이 분산표현이 됨

 

두개의 Fully connected layer로 구성된 단순한 모델을 사용

Win -> Wout -> softmax

  • Win은 단어의 분산 표현
    • Win만 단어의 분산표현으로 사용함
  • Wout은 단어의 의미가 encoding된 벡터

 

cf. 분산표현

  • 어떤 입력을 "고정길이"의 dense 벡터로 표현한 것이 "분산 표현"
  • dense 벡터: 대부분의 원소가 0이 아닌 실수로 구성된 벡터

 

학습의 결과로

  • 각 단어의 "분산표현"인 dense 벡터(고정길이 dense 벡터)들을 얻게됨
    • 자연어를 벡터의 표현으로 바꿔서 학습의 입력으로 사용할 수 있음
    • 학습된 분산 표현을 얻을 수 있음
    • 이를 가지고 다른 모델의 입력으로 사용 가능함 (전이학습에 사용)
  • 각 단어 벡터는 서로 유사한 벡터들끼리 모여있음
    • +/- 연산으로 유사, 유추 등에 응용할 수 있음

 

평가

유사성 평가

사람이 작성한 단어 유사도를 검증 세트를 사용하여 평가함

사람이 부여한 유사 점수와 word2vec에 의한 cosine similarity의 점수를 비교하여 상관을 평가

 

 

 

반응형