Noise Constrastive Estimation (NCE)

는 random sample vector 이며, 각각의 unknown probability density function 을 갖고 있습니다. (예를 들어서 “사과” 라는 단어의 확률이 몇일까? 라는 관점에서 결코 알기 쉽지 않을 것입니다.)

Noise Constrastive Estimation의 기본적인 아이디어는 noise sample 을 알고있는 확률밀도함수 (known PDF) 으로부터 가져온뒤 ratio 를 추정(estimate)을 하고 궁극적으로 의 분포도를 알 수 있게 됩니다.

Definition

2개의 데이터셋 를 연결시키기 위하여 합집합으로 연결을 시킵니다.
( 는 실제 샘플 데이터와 가짜 노이즈 데이터를 둘다 갖고 있는 형태라고 보면 됩니다.)

각각의 datapoint 는 이라면 그리고 이라면 만약 입니다.

Random vector 의 샘플 데이터(진짜 데이터)는 위에서 언급했듯이 unknown probability density function (PDF) 를 따릅니다.
PDF는 알수 없는 상황이기 때문에 를 가정하는 모델을 만듭니다.
여기서 는 true model vector parameters 이며 를 학습시켜서 objective function을 maximize 하도록 만들어야 합니다.

위와같은 정의에서 Likelihoods는 다음과 같습니다.

Priors는 다음과 같습니다.

따라서 에대한 확률 은 다음과 같습니다.
공식에 대한 이해가 필요하면 Bayes Rules을 참고 합니다.


Posterior Probabilities 는 다음과 같습니다.

이때 는 다음과 같이 정의합니다.

를 대입하면 최종적으로 posterior probabilities 는 다음과 같습니다.

이때 [2]은 [1]과 동일한 방법으로 계산한 결과 값 입니다.
는 다음과 같이 rewritten될 수 있습니다.

[4] 그리고 [5]은 모두 [3]에서 도출되었습니다.
[4]에서는 앞전에서 찾으려고 했던 estimate ratio 를 볼수 있습니다.
[5]에서는 log ratio로 변환했습니다.
[6] 에서는 로 표기합니다.

는 두 분포 그리고 사이의 log ratio를 정의합니다.

따라서 [5]의 공식은 다음과 같이 써질수 있습니다.

여기서 는 다음과 같습니다.

를 parameter로 갖는 Sigmoid/Logistic function이 되게 됩니다.
Logistic function의 정의는 다음과 같습니다.

Objective Function

Class labels 는 Bernoulli and iid 로 가정을 합니다. Conditional log-likelihood는 다음과 같이 정의 됩니다.

저 위에서부터 써놓은 가장 흥미로운 사실들이 여기에 모두 집결이 됩니다.
에 관하여 를 optimizing하는 것은 결론적으로 log-ratio 을 추정(estimate)하는 것과 동일합니다.

Normalization

는 cross-entropy function과 동일 합니다.

결과값은 Logistic Regression (supervised learning)를 연산하여 나온 density estimation (unsupervised learning task)을 보여줍니다.

NCE Estimator

처음 언급을 했었듯이 는 parameterized model 와 동일합니다. 즉.. 이며 normalized pdf 는 다음의 제약조건을 받으시 따라야 합니다.

는 Model parameters 를 가르키고, 는 estimate of the model parameters를 가르킵니다.
첫번째 조건인 normalization constraint를 만족시키지 못하는 경우, 해당 모델을 unnormalized model이라고 합니다.
대표적인 unnormalized models은 다음과 같습니다.

  • Image : Markov Random Field
  • Text : Neural probablistic language models
  • Physics : Ising model

Unnormalized model인 경우 partition function을 사용해서 unnormalized model을 normalized model로 변경시켜줄수 있습니다.
Partition function 를 사용하여 unnormalized model을 normalized model로 변경시켜주며,
probability density function 또한 다음과 같이 변하게 됩니다.

은 probability density function이지만 1로 integrate될 필요는 없습니다.
의 경우는 좀 문제가 있습니다. integral자체가 쉽지가 않습니다. (특히 dimension 자체가 커지면 커질수록 numerical integration이 매우 어려워집니다.

이래서.. unnormalized model을 위한 estimation으로 나온것이 Noise Constrastive Estimation (NCE) 입니다.
기본적으로 normalizing constant 를 하나의 parameter 로 사용하며 정의는 다음과 같습니다.

따라서 normalized model 는 다음과 같이 재정의 될 수 있습니다.

여기서 입니다. 를 학습한 이후부터, 에 대한 추정치(estimate)을 갖게 됩니다.
Unnormalized model 대한 estimator는 를 maximize함으로 정의될 수 있습니다.

이때 입니다.

결과적으로 optimal parameter 에 관하여 가능하면 크게만들고, 에 대해서는 가능하면 최대한 작게 만듭니다.
쉽게 이야기하면 를 학습하는데 기준은 결과값이 에 대해서는 크게, 에 관해서는 작게 만드는게 목표입니다.
즉 logistic regression이며, 원래는 unsupervised 문제인데 supervised문제로 만들어서 문제를 해결합니다.

References