Word2Vec

김상윤·2022년 9월 28일
0

AI이모저모

목록 보기
12/13

Introduction

  • (2013)이전에는 atomic unit으로 단오를 표현했다. 또한 단어간 유사성을 표현하지 못 했다.
  • 데이터 셋의 크기에 따라 모델 성능이 크게 좌우된다.
    • N-gram : 통계적 언어 모델링 이용
  • 단어의 분산적 표현 이용한 머신러닝 모델 - 성능 good

goal

  • 방대한 크기의 데이터 셋으로 word vector 표현
  • 다차원에서 단어의 유사성 표현
    -> vector offset 연산으로 단어의 유사성 표현

models

  • parameter수에 따라 모델의 복잡도 정의
    • E : epoch 수
    • T : traning set의 word 수
    • Q : 모델의 특성에 따른 계수
  • SGD, backpropagation으로 훈련

NNLM

  • layer
    • input - projection - hidden - output
  • complexity
  • 복잡도 해결
    • 훈련 중 un-normalized model 이용
    • 계층적 softmax 사용
    • Huffman binary Tree 이용 -> Output Layer 수 줄일 수 있다.
    • 하지만 Hidden Layer의 복잡성은 해결X

RNNLM

  • RNN을 이용한 얕은 신경망 활용
  • Projection Layer를 갖지 않는다.
  • 시간 딜레이를 통해 Hidden Layer 연결
    -> 짧은 시간에 대한 과거 정보 활용하여 현재의 input 정보 update

Parllel Training of NN

  • 거대한 data set 학습을 위해, DistBelief 프레임워크를 통해 병렬적 학습 진행
    • 동일한 모델의 복제본 여러개 병렬로 실행
    • 파라미터를 유지하는 중앙 집중형 서버를 통해 gradient update를 동기화
  • mini-batch 비동기 경사하강법 이용
  • Adagrad : 적응형 learning rate 이용

New Log-linear Models

  1. 간단한 모델을 활용한 continuous word vectors 학습
  2. 분산 표현된 단어들위에 N-gram NNLM 학습

CBOW

  • Bag of Word (BoW)
    • 모든 word가 projection layer 공유.
    • 과거의 데이터 이용 X
  • CBOW
    • 이전 4개, 이후 4개의 단어를 input에 넣어서 훈련

Continuous Skip-gram Model

  • 같은 문장 안의 다른 단어들을 기반으로 단어 분류
  • 기반하는 단어 범위가 증가할 수록 결과 향상, 복잡성 증가
    : 하이퍼파라미터 설정
  • 단어간 거리 증가 할 수록 weight 조절하여 training

0개의 댓글