일반적인 확률 모델을 학습할 때, 주어진 데이터 x_train의 Likelihood를 최대화하는 것이 목표

(즉, xtrain 이라는 주어진 사건에 대해 해당 사건이 잘 나오는 확률 분포를 찾는 것이 목표이며 이러한 모델의 파라미터 θ를 계산하는 것을 MLE(Maximum Likelihood Estimation) 이라고 한다.)

Energy Based Model ( EBM ) : 데이터의 확률분포를 energy function을 활용해 정의한 모델로 observed (혹은 more likely) data point에는 더 적은 에너지를, outlier (혹은 unlikely) data point에는 더 높은 에너지를 할당한다.

이러한 energy-based model은 현실 세계에서 더 안정적인 분자 구조가 더 적은 에너지를 가지는 현상 등과 동일하며, 우리의 목적은 (observed) training data에 대해 에너지를 최소화 시키는 것이다.

Energy based model. -f_theta(x) is called energy

Energy based model. -f_theta(x) is called energy

즉, observed training data를 최대한 낮은 energy에 mapping하고 unobserved data는 최대한 높은 energy를 갖도록 mapping함으로써, unnormalized probability 인 exp(f_theta(x_train))을 maximize 시키고, Normalizing term인 Z(theta)는 minimize되도록 하는 theta를 찾고자 함으로써 에너지를 최소화 시키는 것이 EBM의 목적이다.

EBM 최적화 Method

1. Contrastive Divergence

EBM에서는 확률의 분모에 들어가는 정규화 상수 Zθ를 계산하는 것이 어렵기에(고차원 데이터에서는 무한한 수에 가까운 합산을 계산하는 것이 어려움) Contrastive Divergence에서는 훈련 데이터(p(x))를 기반으로 한 에너지를 줄이면서 모델에서 생성된 가짜 데이터(qθ(x))를 기반으로 한 에너지를 높이는 방식으로 확률을 근사한다.

image.png

2. Langevin Dynamics를 통한 Sampling

Contrastive Divergence외에도 Z(θ)의 계산이 필요 없는 score function을 활용한 Langevin dynamics 를 통한 샘플링으로도 확률 분포 p(x;θ)를 구함으로써 이를 해결할 수 있다.

score function : log-likelihood의 gradient

$$ p_θ(x) = \frac{exp(f_θ(x))}{Z(θ)} $$

$$  log p_θ(x) = f_θ(x) - log Z(θ) $$

$$ ∇_x log p_θ(x) = ∇_x f_θ(x) - ∇_x log Z(θ) $$

$$ ∇_x log p_θ(x) = ∇_x f_θ(x) - 0 = ∇_x f_θ(x) $$

양변에 로그를 취함

양변에 x에 대한 그래디언트 를 적용

Z(θ)가 x에 의존하지 않으므로

∇_x log Z(θ) = 0