Personal Perspective

Variational Inference

2018-06-02


Graphical model의 맥락에서 inference와 learning은 보통 다른 의미로 사용된다. Inference는 $p(z|x)$ 와 같이 특정 확률 변수의 분포에 대한 질문을 의미한다. Learning은 확률 모델의 패러미터를 바꿔서 좋은 확률 모델을 만들어가는 것을 의미한다. 가령 Gaussian Mixture Model을 사용한 클러스터링에서 새로운 관측치가 생겼을 때, 어떤 클러스터에 속하는지 판단하는 것은 inference 문제이고, 전체 모델을 결정하는 클러스터 prior 확률이나 Gaussian 분포의 평균 및 공분산 행렬을 결정하는 것은 learning 이다. Varitaional inference는 말 그대로 inference를 수행하는 방법 중 하나이다.

Evidence Lower Bound

Latent variable model을 가정해보자. 관측할 수 있는 변수인 $x$가 있고, 관측할 수 없는 변수인 $z$가 있다. 우리가 만든 모델 $p$는 많은 경우 $p(x, z)$는 쉽게 계산이 가능하지만 $p(z|x)$는 계산이 쉽지 않다. 이제 $p(z|x)$를 근사하는 어떤 tractable 한 분포 $q$를 도입할 것이다. 우선 아래의 등식을 보도록 하자.

$$\log p(x) = \mathcal{L}(q) + D_{KL}(q || p)$$

여기에서 각 항은 다음과 같다.

$\mathcal{L}(q) = \mathbb{E}_{z \sim q} [\log \frac{p(x, z)}{q(z)}]$, $D_{KL}(q || p) = \mathbb{E}_{z \sim q} [\log \frac{q(z)}{p(z | x)}]$

$p$는 우리가 만든 모델을 의미하며 $q$는 $p(z|x)$를 근사하기 위해 우리가 도입한 임의의 분포이다. 위의 등식은 $q$가 적당히 좋은 성질을 만족하면 항상 성립하는 식이다. 이는 $\mathcal{L}$과 $D_{KL}$ 항을 위의 등식에 넣어보면 확인할 수 있다.

$q(z)$가 $p(z|x)$를 잘 근사한다는 것은 둘 사이의 KL-divergence가 작다는 것으로 풀어볼 수 있다. 이를 위의 등식의 관점에서 생각해보면 $\log p(x)$는 $q$와는 관련이 없이 불변이므로 $\mathcal{L}(q)$를 최대화하는 것과 같음을 알 수 있다.

$\mathcal{L}$은 흔히 variational lower bound 혹은 ELBO (Evidence Lower BOund)라 부르며, 이는 evidence $p(x)$의 하한 ($D_{KL}$의 최소값이 0이므로) 역할을 하기 때문에 붙은 이름이다. ELBO는 우리가 결정한 $q$와 상대적으로 계산이 쉬운 $p(x, z)$로 구성되어 있기 때문에 계산 가능하다.

위의 논의를 정리해보면, 우리가 $p(z|x)$를 계산하고 싶을 때 $\mathcal{L}$을 최대화하는 $q$를 찾아서 $q(z)$를 대신 사용하면 된다는 결론이 나온다. 즉, inference 문제인 $p(z|x)$를 optimization 문제인 $\arg\max_{q} \mathcal{L}(q)$로 변경한 것이다.

References

Variational inference에 대한 더 자세한 소개는 Chris Bishop의 Pattern Recognition and Machine Learning의 해당 챕터를 참고하기 바란다. 베이지안 관점에서 inference와 learning은 같은 문제라 볼 수 있다. PRML에는 이에 대한 관점의 서술도 나와있다.

최근 주목을 받고 있는 variational autoencoder도 ELBO의 최대화 문제를 푸는 방식으로 구성되어 있다. 이에 대한 설명은 Tutorial - What is a variational autoencoder? – Jaan Altosaar를 참고하기 바란다.