Study/Lecture - Advance 1

Variational Inference - Summary

공부해라이 2023. 11. 29. 21:45

L01 | Variational Transform

복잡한 함수 → 단순한 형태 Approximation

Variational parameter $\lambda$ introduce 하고 이를 잘 조절하여 simplification

$$f(x) = min_{\lambda} \left\{ \lambda^{T} x - f^{*}(\lambda) \right\}$$

 

L02 | Applying to Probability Function

확률도 함수의 형태. Probability distribution function!

복잡한 확률 모델을 우리가 잘 알고 있는 단순한 확률 모델로 Transform!

$$ P(S) = \prod_{i} P(S_{i} \mid S_{\pi(i)}) \leq \prod_{i} P^{U} (S_{i} \mid S_{\pi (i)}, \lambda_{i}^{U}) $$

L03 | ln P(E) formulation

우리가 알아내고 싶은 확률: $P(H \mid E) = P(H, E) / P(E)$

Evidence Given 일 때 아직 알려지지 않은 Hidden 에 대한 확률 ▶ $P(E)$ 라는 것을 Approximation 해보자!

L04 | ELBO

Maximum of Lower Bound when

$$Q(H \mid E, \lambda) = P(H \mid E, \theta)$$
$Q$ 를 한 번 잡아보자!

  • 가급적 단순한 형태
  • 가장 좋은 후보는 '$P$' 와 동일한 확률분포,  $\lambda$ 와 $\theta$ 또한 동일하게 ...
  • 하지만 '$P$'가 복잡하니깐 단순화해보자

L05 | Mean Field Approximation

$Q$ 형태는 일단 마음대로 잡고 $\lambda$ optimization 통해 그 차이를 최대한 줄여보는 형식으로 접근

$$Q(H) = \prod_{i \leq \mid H \mid } q_{i}(H_{i} \mid \lambda_{i})$$
$q_{i}$ : Hidden 들의 각 개별적 확률 분포
개별 Variational parameter ($\lambda_{i}$) 가 주어진 상황에서는 $q_{i}$ 가 모두 각각 독립이라 가정 → 단순 곱셈

$Q(H)$ 를 ELBO 수식에 대입하고 개별 $\lambda_{i}$ 관점에서 전개하면
$$ \textup{ln} \ q_{i}^{*} (H_{i} \mid E, \lambda_{i} ) = \textup{ln} \ \tilde{P} (H, E \mid \theta) = \textup{E}_{q_{i \neq j}} \left [ \textup{ln} P(H, E \mid \theta) \right ] + C $$

 

특정 Hidden Variable의 Variational Parameter를 Optimization하려고 하면
그 특정한 H.V 제외한 나머지 V.P는 모두 홀드하고 P 라는 확률모델이 주어진 상황에서 Expectation에 대해 최적화 수행!
이 방법으로 1, ... , n 까지 모든 개별 $q$ 에 대해 진행

즉, 제안한 P 확률모델의 Hidden과 Evidence를 활용해서 Expectation을 찾고
그 Expectation을 Maximize 시켜줄 수 있도록 $\lambda$ 를 잡는다!

 

 

L06-09 | Simple Example Model

 

 

$$ P(H, E \mid \theta) = P(X, \mu, \tau \mid \mu_{0}, \lambda_{0}, a_{0}, b_{0}) $$

 

[STEP 1] $Q$ 가정 (Mean Field Assumption)

 

$ Q(H \mid E, \lambda) = Q(\mu, \tau \mid X, \mu^{*}, \tau^{*}) = q(\mu \mid X, \mu^{*}) \ \cdot \ q(\tau \mid X, \tau^{*}) = q_{\mu}^{*}(\mu) \ \cdot \ q_{\tau}^{*} (\tau) $

 

[STEP 2] 개별 $q$ 정리

 

$ \textup{ln} \ q_{\mu}^{*}(\mu) = E_{\tau} \left [ \textup{ln} P(X, \mu, \tau \mid \mu_{0}, \lambda_{0}, a_{0}, b_{0}) \right ] + C $

$q_{\mu} $ ~ Normal Distribution 가정하고 정리하면  ▶  $q_{\mu}$ ~ $ N(\mu \mid \ ... \ , \ ... E_{\tau} \left [ \tau \right ] ) $ 형태

 

$ \textup{ln} \ q_{\tau}^{*}(\tau) = E_{\mu} \left [ \textup{ln} P(X, \mu, \tau \mid \mu_{0}, \lambda_{0}, a_{0}, b_{0}) \right ] + C $

$q_{\tau} $ ~ Gamma Distribution 가정하고 정리하면  ▶  $q_{\tau} $ ~ $ G(\tau \mid \ ... \ , \ ... E_{\mu} \left [ \mu \right ], E_{\mu} \left [ \mu^{2} \right ] ) $ 형태

 

[STEP 3] Optimization Each $q$ iteratively

 

Optimize $q_{\mu}$, $q_{\tau}$  ... since the two terms are interlocked, we need a coordinated optimization.

$\lambda^{*}$ 초기값 random 선택하고 수렴할 때까지 iterations 

 

[STEP 4] 개별 $q$ 최적화의 결과

 

$ q(\mu \mid X, \mu^{*}) $ 그리고 $ q(\tau \mid X, \tau^{*}) $ 도출! 

Evidence $x_{i}$ 관측되었을 때 Latent $\mu, \tau$ 어떻게 될 것인가? 추론

 

$Q(H \mid E, \lambda)$ 도출!  ▶  ELBO Maximum 조건 충족  ▶  $P(H, E \mid \theta) $ 가장 잘 설명할 수 있는 Approximation 완료!

 

 

L10-20 | Latent Dirichlet Allocation (LDA)

 

$$ P(H, E \mid \theta) = P(\theta, z, w \mid \alpha, \beta) $$

 

[STEP 1] $Q$ 가정 (Mean Field Assumption)

 

$
\begin{align*}
Q(H \mid E, \lambda) &= Q(\theta, z \mid w, \theta^{*}, z^{*}) = q(\theta \mid w, \theta^{*}) \ \cdot \ q(z \mid w, z^{*}) \\
&= Q(\theta, z \mid \gamma, \phi) = q(\theta \mid \gamma) \ \cdot \ q(z \mid \phi) \\
\end{align*}
$

 

Variational parameters "$\gamma$, $\phi$" ... Evidence $w$ 없지만 사실 introduced function 이라 don't care!

 

[STEP 2] ELBO 정의 $L(\gamma, \phi \mid \alpha, \beta)$

 

$$
\begin{align*}
\textup{ln} \ P(E \mid \theta) &\geq \sum_{H} Q(H \mid E, \lambda) \ \textup{ln} \ P(H, E \mid \theta) - Q(H \mid E, \lambda) \ \textup{ln} \ Q(H \mid E, \lambda) \\
\textup{ln} \ P(w \mid \alpha, \beta) &\geq \int \sum_{z} q(\theta, z \mid \gamma, \phi) \ log \frac{P(\theta, z, w \mid \alpha, \beta)}{q(\theta, z \mid \gamma, \phi)} d\theta \\
&= E_{q} \left( log P(\theta \mid \alpha) \right) + E_{q} \left( log P(z \mid \theta) \right) + E_{q} \left( log P(w \mid z, \beta) \right) + H(q) \\
&= L(\gamma, \phi \mid \alpha, \beta) \\
\end{align*}
$$
$\theta, z$ 는 어차피 $\gamma, \phi, \alpha, \beta$ 로 표현가능하기에 $L(\gamma, \phi \mid \alpha, \beta)$ 형태로 정리 가능

 

$q$ 역시 확률 분포 → Graphical notation 표현 가능

... Mean Field Assumption 으로 Original Graph 비해 많은 연결이 끊어짐 (독립 가정)

... Original Graph 재현할 수 있는 Variational Parameters 잘 최적화 필요

... 위와 같은 Graphical Model 을 통해 Variational Distribution 설계 ... 이 모델을 최적화 할 단계!

 

ELBO 수식 전개

Dirichlet Distribution: Exponential Family  ▷  Log normalizer 미분 = Sufficient statistics 기대값

활용하여 $L(\gamma, \phi \mid \alpha, \beta)$ 의 4 terms 정리하면 아래와 같이 "최적화" 가능한 수식으로 유도 가능

$\gamma, \phi, \alpha, \beta$ 총 4가지 - 우리가 학습을 통해 "최적화" 해야 할 parameters

 

 

 

[STEP 3] ELBO 최적화

 

유도한 ELBO 최적화를 미분 0 으로 계산!

ELBO 최적화 함으로서 $\alpha$ 와 $\beta$ 를 이용해서 $w$ 를 잘 설명하는 확률을 높이는 것

 

$\phi$ 미분 = 0  ▷  $ \frac{d L(\gamma, \phi \mid \alpha, \beta)}{d \phi_{d, n, i}}=0 $  $ \phi_{d, n, i} \propto \beta_{i, w_{d, n}}exp(\psi (\gamma_{d, i})) $  ...  $\beta, \gamma$ 필요

 

$\gamma$ 미분 = 0    $ \frac{d L(\gamma, \phi \mid \alpha, \beta)}{d \gamma_{d, i}}=0 $  ▷  $ \gamma_{d, i} = \alpha_{i} + \sum_{n=1}^{N_{d}}\phi_{d, n, i} $  ...  $\alpha, \phi$ 필요

 

$\beta$ 미분 = 0   $ \frac{d L(\gamma, \phi \mid \alpha, \beta)}{d \beta_{i, w_{d, n}}}=0 $   $ \beta_{i, v} \propto \sum_{d=1}^{M} \sum_{n=1}^{N_{d}} \phi_{d, n, i} 1(v=w_{d, n}) $  ...  $\phi$ 필요

$\alpha$ 미분 = 0   $ \frac{d L(\gamma, \phi \mid \alpha, \beta)}{d \alpha_{i}}=0 $  ▷  $\alpha_{n+1} = \alpha_{n} - H^{-1} (\alpha_{n}) f'(\alpha_{n})$  ...  $\alpha_{n} $ iterations

 

[STEP 4] 유도한 4가지 수식 도식화

 

E step

- Variational parameters $\phi, \gamma$ coordinated ascent ... $\theta, z$ approximation (Latent vars. 대해서 Expectation)

- Local information $\gamma, \phi$ ... document 마다 learning 필요

 

M step 

- Model parameters $\alpha, \beta$ optimization ... ($\phi, \gamma$ 잘 최적화 되었다는 가정하에)

- Global information $\alpha, \beta$ ... 전체 Loop 정보

 

 

 

 

Reference

문일철 교수님 강의

https://www.youtube.com/playlist?list=PLzZ7PPT4KK5qpd-1VF4qmFMlpnr1is7Pu