2017년 6월 13일 화요일

Variational Inference

VAE 논문을 읽다가 해당 개념을 찾아보게 되었다.
  • 목적: 
    • to approximate an intractable probability distribution, $p$, with a tractable(다루기 쉬운) one, $q$, in a way that makes them as ‘close’ as possible.
      • 복잡한 분포(distribution)을 조금 더 간단한 형태의 분포로 근사하여 쉽게 풀어보자는 것.
    • observation data가 주어져 있을 때 hypothesis에 대한 latent variable을 찾아야 하는 통계적 추론 문제(statistical inference problem)를 최적화 문제(optimization problem)로 re-write할 수 있다는 의미가 있음.
      • DL과의 연계성 측면: 대량 데이터의 다차원 공간에 대해 (경사 하강법 등 이용해서) 최적화 문제를 잘 풀 수 있다.
  • 이름의 어원: 
    • posterior(사후 확률 분포)를 가장 잘 설명하는 특정 분포를 찾아나가는(calculus of variations) 과정.
  • 참고: Quora Answer (by S. Wang, 2015 Mar.)
    • {세미나 시간에 질문자가 던진 꽤 어려운 질문이 있을 때, 발표자가 해당 질문을 손쉽게 conveniently reframe함으로써, 원래의 어려운 질문을 직접 대답하는 대신 reformulated question에 정확한 답을 주는 상황}을 떠올려 보자.
  • 참고: Variational Methods 소개(by E. Jang, 2016 Aug.)
    • 수식 표기가 정확하고, 개념적으로 친절하게 설명되어 있음
    • 고양이 이미지 분류 예시를 통해 posterior, likelihood 설명함.
  • 참고자료: 확률에 대한 개념 요약
    • 기계학습에 확률 $p(x)$을 도입하기 위해서는 실수 벡터를 입력으로 받아서 실수값을 출력하는 '함수'로 간주하면 조금 더 이해가 편할 것으로 생각됨; 따라서 distribution 또한 어떠한 파라미터를 가진 확률 함수 $p(x;\theta)$로 볼 수 있을 듯. 
통계/수학 문제에서 posterior를 직접 계산하기 어려운 경우가 많다. (because the normalization constant is intractable.) 즉, $X$가 observation 집합, $Z$가 latent variable 집합을 나타낸다고 하면, posterior $P(Z|X)$를 구하고 싶지만, 다음 식의 분모(denominator) 부분을 직접 계산하기 어려울 때가 많다.
$$P(Z|X)=\frac{P(Z,X)}{\int_{Z}P(Z,X)}$$
  • 접근 방안 1: MCMC를 이용해서 샘플링을 하는 방식; 만약 샘플링을 해야하는 parameter 개수가 많아질 경우, convergence가 매우 느려진다(slow to converge).
    • Markov chain Monte Carlo
  • 접근 방안 2: true posterior $P(Z|X)$를 approximate함으로써 손쉽게 계산한다. 이때, $V$를 approximate variational distribution의 parameter라고 하면 다음의 식으로 표현된다.
    • Bayesian model의 posterior distribution에 variational inference를 적용하는 것을 variational Bayes (VB)라고 부르기도 한단다.
      • a family of techniques for approximating intractable integrals arising in Bayesian inference and machine learning
$$P(Z|X)\approx Q(Z|V)=\prod_{i}Q(Z_{i}|V_{i})$$
  • 여기에서, (실제로 latent variables $Z$는 $X$와 independent하지 않을 수도 있지만,) 'mean field' approximation(평균 장 어림법, 평균 장 점근법)을 전제한다면(to restrict the family of variational distributions to a distribution that factorizes over each variable in $Z$), 문제를 더욱 쉽게 계산할 수 있다. 
    • $Z$가 서로 겹치지 않는(independent) 부분 집합 ${Z_1, \dots, Z_M}$으로 구성되어 있을 때, 전체 $Q(Z)$ 또한 각 부분집합의 $Q(Z_i)$으로 factorization 된다는 가정
$$Q(Z|V)=\prod_{i=1}^{M}Q(Z_i|V_i)$$
이제, Kullback Leibler (KL) divergence를 이용해서, $Q(Z|V)$가 최대한 $P(Z|X)$에 가까워지는 $V_{i}$를 계산할 수 있다.

$$\begin{eqnarray*}
V^{*} &=& arg\min_V D_{KL}(Q(Z|V)||P(Z|X)) \\
&=& arg \min_V \sum Q(Z|V)log\frac{Q(Z|V)}{P(Z|X)}
\end{eqnarray*} $$

따라서, estimation 문제가 최소값을 찾아야하는 optimization 문제로 바뀌었고, $V^{*}$를 찾게되면, $Q(Z|V^{*})$를 posterior에 대한 best guess로 사용하도록 한다.
$$ \begin{eqnarray*}
D_{KL}(Q||P) &\equiv& \int Q(Z)log\frac{Q(Z)}{P(Z|X)} = \mathbb{E}_Q(log\frac{Q(Z)}{P(Z|X)})\\
&=& \int Q(Z)log\frac{Q(Z)}{P(Z,X)} +\int Q(Z)log(P(X)) \\
&=& \int Q(Z)log\frac{Q(Z)}{P(Z,X)} + log(P(X))
\end{eqnarray*}$$
    • $log(P(X))$를 중심으로 decompose하면 다음과 같다.
$$\begin{eqnarray*}
log (P(X)) &=& log\frac{P(Z,X)}{P(Z|X)} \\
&=& log\frac{Q(Z)}{P(Z|X)}+log\frac{P(Z,X)}{Q(Z)}
\end{eqnarray*}$$

$$\mathbb{E}_Q(log (P(X))) = \mathbb{E}_Q(log\frac{Q(Z)}{P(Z|X)}+log\frac{P(Z,X)}{Q(Z)})$$
    • $log(P(X))$는 Q(Z)에 대해서 constant 하므로 다음과 같이 표현된다. 또한, $D_{KL}$은 nonnegative이므로, 두번째 항이 $log(P(X))$의 lower bound 또는 ELBO (evidence lower bound) $\mathcal{L}$라고 불린다. 그리고, 첫번째 항을 최소화하기 위해서는 결국 두번째 항을 최대화할 필요가 있다.
$$\begin{eqnarray*}
log (P(X)) &=& D_{KL}(Q||P) + \mathbb{E}_Q(log\frac{P(Z,X)}{Q(Z)}) \\
&=& D_{KL}(Q||P) + \mathcal{L}
\end{eqnarray*}$$

    • 이제, ELBO $\mathcal{L}$은 다음과 같이 전개된다.

$$\begin{eqnarray*}
\mathcal{L} &=& \mathbb{E}_Q ( \log{P(Z,X)} -\log{Q(Z)}) ) \\
&=& \mathbb{E}_Q ( \log{P(X|Z)} + \log{P(Z)} -\log{Q(Z)}) ) \\
&=& \mathbb{E}_Q ( \log{P(X|Z)} + \log{\frac{P(Z)}{Q(Z)}} ) \\
&=& \mathbb{E}_Q ( \log{P(X|Z)} ) + \int Q(Z)log\frac{P(Z)}{Q(Z)}
\end{eqnarray*}$$

댓글 없음:

댓글 쓰기