Processing math: 100%
본문 바로가기
딥러닝과 자연어처리 (DL & NLP)/강의노트 - Text Analytics (고려대 강필성 교수님)

[강의노트] 05-1 Text Representation II - Distributed Representation Part 1 (NNLM)

by YS_LEE 2024. 7. 10.
반응형

위 강의노트는 고려대학교 산업경영공학부 대학원 강필성 교수님의
비정형데이터분석 (Text Analytics) 을 듣고 정리한 강의노트입니다.

Word-level: NNLM

Distributed Representation: Word Embedding

Word Embedding

어떤 단어를 의미론적으로 유사한 단어는 서로 가까운 공간상에 위치하도록 특정 공간의 vector space로 매핑하는 것

Word vectors: one-hot vector

  • 가장 단순하고 직관적인 표현
  • 특정 단어의 인덱스에 대해 그 단어가 맞으면 1, 아니면 0
    wat=[0,0,1,,0], wzebra=[0,0,0,,1]
  • 단어 사이의 유사도가 보존되지 않는다.
    (whotel)Twmotel=(whotel)Twcat=0

Word vectors: distributed representation

  • 단어들을 임의의 차원을 갖는 벡터로 바꾸는 parameterized function(하나의 표현식에 대해 다른 parameter를 사용하여 다시 표현하는 과정)을 찾는다.
    W:wordsRn , (n<<|V|)
  • 의미론적인 차이가 단어의 벡터 차이에 보존이 된다.
    • v(king)v(queen)v(man)v(woman)
    • v(walking)v(walked)v(swimming)v(swam)Neural Network Language Model (NNLM)

Purpose

distributed representation을 통해 one-hot-encoding의 curse of dimensionality(차원의 저주)를 해결

  • 각 단어들을 분산된 word feature vector로 표현
  • 단어 sequences의 결합 확률 분포를 통해 해당하는 단어들의 조합이 발생할 확률을 계산
    1. 어떤 feature vector가 좋은 것인가 2. 단어 sequences의 probability가 높게 / 두 가지를 학습하겠다.

Why it works?

우리가 dog and cat이 (의미적으로나 종합적으로) 비슷한 역할을 한다는 것과 (the,a), (bedroom, room), (is, was), (running,walking)에 대한 유사성을 안다면 자연스럽게 일반화할 수 있다.

e.g.) The cat is walking in the bedroom 이 하나의 문장을 통해

  • A dog was running in a room
  • The cat is running in a room
  • A dog is walking in a bedroom
  • The dog was walking in the room
    등을 전부 generation 할 수 있다.

Comparison with Count-based Language Models

Count-based Language Models

  • Chain rule에 의해 w1 부터 wt 까지 발생할 결합확률분포는 P(w1)P(w2|w1)P(w3|w1w2)
  • 100번째 단어를 만드는 Language Model을 사용하려면 99개의 단어를 모두 본 다음 100번째 단어를 봐야하는데, 99개 단어 sequence가 같은 조합을 찾기가 거의 불가능함
  • Markov assumption: 모두 보는 것이 아닌 기존의 n-gram 만큼만 보고 예측하자

NNLM

  • 단어는 특정 공간 Rn상의 dense vector이다. (n<<|V|)
  • wtR|V| : One-hot representation of word V at time t
  • xt=Xwt : Word embedding (XRn×|V|,n<|V|)
    (X가 가져올 look-up table이고 embedding matrix이다.)
  • 다음 단어를 예측하는 neural network을 학습

    (w1 부터 wt1 가 주어지면 wt가 과연 j일지를 찾고자 하는 것)

NNLM Architecture

  • shared parameters across words: look-up table (word embedding이 저장되어 있는 table)은 전부 다 공용으로 사용한다. (각 Matrix C(wi)들이 같은 table에서 왔다는 뜻)
  • 초록색의 실선은 모델이 그대로 연결되어있는 부분, 점선은 Optional (output을 만들 때 hidden node를 뛰어넘고 input->output 연결하는 skip connection이 존재할 수도 있다)

Learning NNLM

  • 좋은 모델 f(전체 단어가 아닌 window에 해당하는)를 찾는 것
    e.g.) 5-gram: 앞선 4개에 단어에 대해 5번째 단어를 예측하는 상황에서 확률이 극대화되는 함수 또는 모델
  • 제약 조건
    1. 어떤 조건에서도 이후 단어들이 생성될 확률의 총합은 1
    2. f0 (각 단어가 생성될 확률은 0보다 크거나 같아야 함)

Decompose the function f

f(wt,wtn+1=ˆP(wt|wt11)

  • A mapping C (look-up table)
  • The probability function over words, expressed with C
    f(i,wt,,wtn+1=g(i,C(wt),,C(wt11))
  • The function f is a composition of these two mappings (C and g), with C being shared across all the words in the context

y=b+Wx+Utanh(d+Hx)

  • Wx는 optional, Utanh(d+Hx) 는 필수적인 부분
  • x는 word features
  • h는 hidden units 개수

Stochastic gradient ascent


요약

  • Word Embedding
    단어를 의미가 비슷한 단어끼리 서로 가까운 공간에 위치하도록 매핑하는 것
  • Word Vectors
    • one-hot vector
      • 특정 단어의 인덱스에 대해 그 단어가 맞으면 1, 아니면 0
      • 단어 사이의 유사도가 보존되지 않는다. (내적이 무조건 0)
    • distributed representation
      • 단어들을 임의의 차원을 갖는 벡터로 바꾸는 parameterized function을 찾는다.
      • 단어 사이의 유사도가 보존된다.
  • Neural Network Language Model (NNLM)
    • Count-based Language Models
      • Chain rule에 의해 w1 부터 wt 까지 발생할 결합확률분포를 계산
      • 모든 이전 단어들을 보기 힘드니 마르코프 가정을 통해 n개만 보자
    • NNLM
      • look-up table에서 word embedding을 가져와 다음 단어를 예측하는 neural network을 학습한다.
      • 어떤 조건에서도 이후 단어들이 생성될 확률의 총합은 1이고, 각 단어의 확률은 0 이상이다는 제약조건을 가진다.
반응형

댓글