ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Word2Vec (word embedding)
    Natural Language Processing 2022. 2. 9. 14:49
    반응형

    강의 보고 공부한 내용을 정리하는 글(문제시 비공개 처리하겠습니다)

    Reference

    https://www.youtube.com/watch?v=sY4YyacSsLc 

     

    Background

    text는 모델의 입력으로 사용 못 함

    그래서 encoding 기법을 사용해 text(I love you)를 숫자(0, 1, 2)로 변환함

    encoding 기법 중 one-hot encoding이 있는데 단어 간의 유사도를 구할 수 없음

    예를 들어, I(1, 0, 0) love(0, 1, 0) you(0, 0, 1) 인 경우 l2 norm은 1로 모두 같고 cosine 유사도는 벡터 간의 사잇각이 90이 돼버려 유사도가 0이 됨

     

    Embedding

    그래서 embedding을 사용함

    embedidng은 dense vector로 sparse vector인 one-hot encoding과 반대되며 유사도를 구할 수 있음!!

    아래 그림을 보면 비슷한 단어는 비슷한 위치에 분포한 것을 확인할 수 있음

    https://www.youtube.com/watch?v=sY4YyacSsLc

    word2vec

    word2vec은 word embedding 중 하나

    유사도는 neighbor 단어로부터 얻을 수 있음

    word2vec skipgram (window size=1)

    https://www.youtube.com/watch?v=sY4YyacSsLc

    word2vec skipgram (window size=2)

    https://www.youtube.com/watch?v=sY4YyacSsLc

    모든 단어에 대해 아래와 같이 label을 얻음

    딥러닝에는 text(word)가 아닌 encoding value(word one hot encoding)가 input으로 들어가게 되고 출력으로 embedding 결과를 얻음

    https://www.youtube.com/watch?v=sY4YyacSsLc

    target은 다음과 같이 들어가서 중간에 있는 hidden value를 얻음

    https://www.youtube.com/watch?v=sY4YyacSsLc

    아래 그림에서 input과 output은 동일한 차원을 가짐

    input으로 one-hot encoding이 입력됨

    hidden은 word2vec으로 one-hot encoding 보다 적은 차원의 벡터를 가짐으로써 유사도를 갖도록 하기 위함임

    softmax 결괏값인 output과 target 간의 cross entropy를 구해 backpropagation을 실행해 hidden의 가중치를 업데이트함

    이러한 feedforward와 backpropagation을 통해 hidden의 가중치가 유사도를 갖기 위한 값으로 업데이트 됨

    https://www.youtube.com/watch?v=sY4YyacSsLc

    바로 이 w1과 w2 값이 word2vec임

    embedding 값을 w1과 w2임

    https://www.youtube.com/watch?v=sY4YyacSsLc

    input이 one-hot encoding이므로 hidden 계층을 lookup table로 사용할 수 있음

    https://www.youtube.com/watch?v=sY4YyacSsLc

    반응형

    'Natural Language Processing' 카테고리의 다른 글

    5 Text Decoding Techniques  (0) 2022.02.24
    Masking and padding with Pytorch  (0) 2022.02.23
    seq2seq 그리고 attention  (0) 2022.02.04
    기계 번역에서 alignment 의미  (0) 2022.01.25
    GPT2 vs XLNet  (0) 2022.01.13

    댓글

Designed by Tistory.