Machine Learning, Deep Learning

[Paper review] A Neural Probabilistic Language Model

n.han 2021. 4. 2. 14:09
[Paper review] A Neural Probabilistic Language Model

Yoshua Bengio 등, 2003년 The Journal of Machine Learning Research에서 발표한 A Neural Probabilistic Language Model 논문을 읽고 남기고 싶은 부분을 정리한 글 입니다.

Abstract

statistical language model의 목적은 언어의 단어들의 연속에 대한 결합 확률 함수를 학습하는 것입니다. 이것은 curse of dimensionality 때문에 어렵습니다. 이를 해결하기 위한 전통적인 방법은 n-gram입니다. 본 논문에서는 n-gram 대신 semantically 유사한 문장들을 알 수 있는 distributed representation을 제안합니다. model은 단어의 distributed representation을 배우는 것과 더불어, 단어들의 시퀀스에 대한 확률 함수를 배웁니다.

Introduction

statistical model of language은 이 전 단어들이 주어질 때 다음 단어가 발생할 조건부 확률로 표현됩니다.
image
이는 가까운 단어들이 더 중요하다는 사실을 가지고, 다음과 같이 변형할 수 있습니다.
image

훈련 corpus에 없는 n-gram 조합이 생기면 어떻게 할까요? 이를 위해 단어들의 시퀀스들을 generalization하는 것이 필요합니다. n-gram 단어들에서 새로운 단어들을 만들기 위해 interpolated n-gram이나 back-off n-gram algorithm이 제안되었습니다.

하지만 이런 generalization 기법에는 하나 혹은 두개 단어 정도 떨어진 context는 중요하게 생각하지 않았고, 단어들간 유사도를 중요하게 생각하지 않은 문제점들이 있었습니다.

이를 해결하기 위해 제안된 아이디어는 다음과 같이 요약할 수 있습니다:

  1. 단어들을 distributed된 word feature vector로 표현합니다.
  2. 문장의 단어들의 feature vector들의 결합 확률 함수로 단어의 시퀀스를 표현합니다.
  3. feature vector와 확률 함수의 파라미터들을 동시에 학습합니다.

Architecture

Training set은 Vocabulary set V 안에 있는 단어들의 시퀀스입니다. 모델의 목적은 t부터 t-n+1까지의 단어들을 입력으로 넣었을 때 t번째 단어가 나올 조건부 확률이 높게 나오도록 만드는 것 입니다.
image
본 논문의 모델에서는 위 함수를 C와 g 두 부분으로 분리합니다:

  1. V의 i번째 요소(i번째 단어)를 m dimensional vector(feature vector)로 mapping하는 함수 C. C는 |V| X m matrix로 구성되는데, 각 요소들은 학습 과정에서 업데이트될 distributed representation입니다.
  2. feature vector들을 t번째 다음 단어를 위한 조건부 확률 분포와 mapping 시켜주는 함수 g. 함수 g는 FC layer이나 RNN 등으로 구현됩니다.
    image

image

Training은 Regularization term과 함께 다음 log-likelihood를 최대화하도록 theta를 업데이트합니다. 본 논문에서의 Neural Network 구조는 두 개의 hidden layer와 C로 구성되어 있고, 출력 단에 softmax layer를 붙인 형태로 간단합니다.
image

x를 C를 통과한 feature vector들을 concatenate한 것으로 두면,
image
parameter b, W, U, d 그리고 H를 활용하여 다음과 같이 표현될 수 있습니다:
image