/////
📊

Chapter 10. Approximate Inference

Created
2021/02/18 08:26
Probabilistic model을 적용할 때 주로 수행하고자 하는 태스크는 바로 posterior distribution p(ZX)p(Z|X) 를 구하거나, 이렇게 구한 distribution의 expectation을 구하는 것이다. 하지만 많은 상황에서 이러한 posterior distribution의 evaluation이 infeasible한 경우가 많은데, 이로 인해 feasible하게 계산할 수 있는 approximation이 필요하다.
이러한 approximation에는 크게 두 가지 접근 방식이 있는데, 첫 번째는 Markov chain Monte Carlo와 같이 임의성을 가지는 (단 N이 무한대로 커지면 true distribution으로 수렴하는) stochastic technique이고, 두 번째는 posterior distribution의 analytical approximation을 수행하는 deterministic technique이다. 이번 챕터에서 다루는 variational inference (혹은 variational Bayes)는 이러한 deterministic technique에 속한다.

10.1. Variational Inference

Posterior를 찾는 일은 일반적으로 바라봤을 때, functional의 optimization 문제라고 볼 수 있다. (Functional은 함수를 특정 값으로 매핑하는 함수라고 보면 된다.) 하지만 문제는 이러한 optimization을 위해 input function이 존재할 수 있는 모든 공간을 탐색해야 한다는 것인데, 기본적으로 Bayesian inference의 모든 문제는 이로부터 시작된다.
Variational inference는 이러한 탐색 공간에 특정한 제한을 둠으로써 Bayesian inference의 연산을 feasible하게 만드는 것을 목적한다.
먼저 variational optimization이 어떻게 inference에 활용될 수 있는지를 살펴보자. 모든 파라미터에 prior distribution이 주어진 모델이 있다고 가정하자. 이러한 파라미터 ZZ 는 모델 파라미터와 latent variable을 모두 포함한다. 또 우리에게는 observed variable XX 가 주어져있다. 이제 목적은 posterior distribution p(ZX)p(Z|X) 에 대한 approximation을 수행하는 것이다.
바로 이전 챕터의 EM 알고리즘에서 보았듯이, marginal distribution p(X)p(X) 에 대해 다음과 같은 decomposition이 성립한다. EM 알고리즘에서는 모델 파라미터 θ\theta 가 명시적으로 표시되었지만, 이번에는 ZZ 로 흡수되었다.
lnp(X)=L(q)+KL(qp)L(q)=q(Z)lnp(X,Z)q(Z)dZKL(qp)=q(Z)lnp(ZX)q(Z)dZ\ln p(X) = L(q) + KL(q||p) \\{}\\ L(q) = \int q(Z)\ln\frac{p(X,Z)}{q(Z)}dZ\\ KL(q||p) = -\int q(Z)\ln\frac{p(Z|X)}{q(Z)}dZ
이제 여기서 EM 알고리즘에서와 마찬가지로 q(Z)q(Z) 에 대하여 lower bound L(q)L(q) 를 최대화하면 된다. 이는 KL divergence를 최소화하는 문제와 동일하기 때문에, 만약 탐색 공간에 제한을 두지 않는다면 q(Z)=p(ZX)q(Z) = p(Z|X) 가 될 것이지만, 보통은 연산이 불가능하다.
따라서 우리는 q(Z)q(Z) 에 특정한 가정을 더하고, 이러한 가정을 만족하는 분포족에 대하여 KL divergence를 최소화하는 문제를 풀고자 한다. 이 때 이러한 가정은 계산을 tractable하게 만들 만큼 엄격하면서도, true posterior distribution을 충분히 잘 표현할 수 있을 만큼 유연해야 한다.

10.1.1 Factorized distributions

Tractable한 inference를 만들기 위해, q(Z)q(Z) 가 다음과 같이 factorization될 수 있다는 가정을 해보자.
q(Z)=i=1Mqi(Zi)q(Z) = \prod_{i=1}^M q_i(Z_i)
이게 끝이다. 우리가 variational inference를 위해 가할 가정은 이게 전부이다. 이제 위와 같은 가정을 만족하는 q(Z)q(Z) 들 중, lower bound L(q)L(q) 를 최대화하는 (혹은 KL divergence를 최소화하는) q(Z)q^*(Z) 를 찾아야 한다.
먼저 위의 q(Z)q(Z) 식을 L(q)L(q) 의 정의에 대입한 후 잘 풀어내면 다음의 식을 얻을 수 있다.
L(q)=qjlnp~(X,Zj)dZjqjlnqjdZj+constL(q) = \int q_j\ln \tilde{p}(X,Z_j)dZ_j - \int q_j\ln q_jdZ_j + \text{const}
분포 p~(X,Zj)\tilde{p}(X, Z_j) 는 다음과 같이 정의한다.
lnp~(X,Zj)=Eij[lnp(X,Z)]+const\ln\tilde{p}(X, Z_j) = E_{i\neq j}[\ln p(X,Z)] + \text{const}
이제 {qij}\{ q_{i \neq j} \} 를 고정하고 위의 lower bound L(q)L(q) 를 최대화하는 qj(Zj)q_j(Z_j) 를 찾는다고 하자. 위의 L(q)L(q)qj(Zj)q_j(Z_j)p~(X,Zj)\tilde{p} (X, Z_j) 사이의 negative KL divergence임을 이용하면 qj(Zj)=p~(X,Zj)q_j(Z_j) = \tilde{p}(X,Z_j) 임을 알 수 있다. 따라서 다음과 같은 결과를 얻는다. 이 식은 앞으로 계속 쓰일 예정이니 식 (10.9)라고 칭한다.
lnqj(Zj)=Eij[lnp(X,Z)]+const\ln q_j^*(Z_j) = E_{i \neq j}[\ln p(X,Z)] + \text{const}
qq 는 확률 분포이므로 상수항은 무시하고 normalization을 수행하면 다음의 결과를 얻을 수 있다.
lnqj(Zj)=exp(Eij[lnp(X,Z)])exp(Eij[lnp(X,Z)])dZj\ln q_j^*(Z_j) = \frac{\exp(E_{i \neq j}[\ln p(X,Z)])}{\int\exp(E_{i \neq j}[\ln p(X,Z)])dZ_j}
이렇게 개별 qjq_j 에 대한 해를 찾아낸 듯 하지만, 잘 보면 qiq_i 에 대한 해가 qjq_j 에 dependency를 가짐을 확인할 수 있다. 따라서 EM 알고리즘에서와 마찬가지로 각 qiq_i 들을 초기화한 후 iterative하게 수렴할 때까지 update해줌으로써 최종해를 구할 수 있다.

10.1.2 Properties of factorized approximations

위에서 factorized approximation에 기반한 variational inference를 수행했는데, 이러한 factorized distribution의 몇 가지 성질에 대해 알아보자.
먼저 두 correlated variable z=(z1,z2)z = (z_1, z_2) 에 대한 Gaussian p(z)=N(zμ,Λ1)p(z) = N(z|\mu, \Lambda^{-1}) 이 있다고 하자. 그리고 이러한 distribution을 factorized Gaussian q(z)=q1(z1)q2(z2)q(z) = q_1(z_1)q_2(z_2) 로 approximation한다고 하자. 먼저 z1z_1 에 대해 식 (10.9)를 적용하면 다음과 같은 식을 얻을 수 있는데,
lnq1(z1)=12z12Λ11+z1μ1Λ11z1Λ12(E[z2]μ2)+const\ln q_1^*(z_1) = -\frac{1}{2}z_1^2\Lambda_{11} + z_1\mu_1\Lambda_{11} - z_1\Lambda_{12}(E[z_2] - \mu_2) + \text{const}
딱 보면 z1z_1 에 대한 quadratic form이니 적당히 잘 정의된 m1m_1 에 대해 다음이 성립함을 알 수 있다.
q(z1)=N(z1m1,Λ111)q^*(z_1) = N(z_1|m_1, \Lambda_{11}^{-1})
위 결과는 z2z_2 에 대해서도 아주 마찬가지이다. 역시 m1m_1z2z_2 에 dependency를 가지므로 iterative update가 이루어져야 한다.
여기서 variational inference에서는 KL(qp)KL(q||p) 를 최소화하는 문제를 풀었는데, 이제 이를 KL(pq)KL(p||q) 를 최소화한 결과와 비교해볼 필요가 있다. KL(qp)KL(q||p) 를 최소화하는 경우에는 p(Z)p(Z) 가 0에 가까운데 q(Z)q(Z) 가 그렇지 않을 경우 KL divergence에 강한 positive penalty가 주어지기 때문에, true distribution에서 0에 가까운 부분을 최대한 0에 가깝게 만들도록 approximation하게 된다. 반대로 KL(pq)KL(p||q) 를 최소화하는 경우에는 q(Z)q(Z) 가 0에 가까운 부분에서 p(Z)p(Z) 역시 0에 가깝도록 최적화가 진행된다. 이를 비교한 결과가 그림 10.2에 나타나있다.
또한 이 두 차이는 true distribution이 unimodal이 아닌 multimodal일 경우에도 두드러진다. KL(qp)KL(q||p) 를 최소화하는 경우에는 true distribution의 mode 중 하나를 찾아 approximation하게 되지만, KL(pq)KL(p||q) 를 최소화하는 경우에는 모든 mode의 average에 대한 approximation이 이루어지게 된다고 한다. 이유는... 잘 모르겠다. 그림 10.3에 나타나있다.

10.1.3 Example: The univariate Gaussian

위에서는 parameter를 알고 있는 상황에서 approximation의 특징을 알아보았고, 이번에는 univariate Gaussian model을 variational inference로 approximation하는 문제를 풀어본다. 다시금 우리의 목적은 평균 μ\mu 와 precision τ\tau 에 대한 posterior distribution을 구하는 것이다.
먼저 likelihood function은 다음과 같다.
p(Dμ,τ)=(τ2π)2exp{τ2n=1N(xnμ)2}p(D|\mu, \tau) = (\frac{\tau}{2\pi})^2\exp\{-\frac{\tau}{2}\sum_{n=1}^N(x_n - \mu)^2\}
그리고 다음과 같이 μ,τ\mu, \tau 에 대한 prior distribution을 설정한다.
p(μτ)=N(μμ0,(λ0τ)1)p(τ)=Gam(τa0,b0)p(\mu|\tau) = N(\mu|\mu_0, (\lambda_0\tau)^{-1}) \\{}\\ p(\tau) = Gam(\tau|a_0,b_0)
그리고, parameter에 대한 posterior distribution q(μ,τ)q(\mu, \tau) 가 다음과 같이 factorization된다고 가정한다.
p(μ,τ)=p(μ)p(τ)p(\mu, \tau) = p(\mu)p(\tau)
거두절미하고, 식 (10.9)를 이용해 각각의 posterior distribution을 풀어내면, p(μ)p(\mu) 는 Gaussian, p(τ)p(\tau) 는 Gamma distribution이 됨을 알 수 있다. 여기서 저자는 특정한 functional form에 대한 가정 없이도, factorization에 대한 가정만으로도 이렇게 conjugacy가 도출된다는 점에 주목해야 한다고 한다.

10.1.4 Model comparison

Latent variable ZZ 에 대한 추론을 수행하는 것 뿐 아니라, variational inference를 통해 prior probability p(m)p(m) 을 가진 후보 모델들을 서로 비교해볼 수도 있다.
이 때 목표는 모델에 대한 posterior p(mX)p(m|X) 를 구하는 것인데, 서로 다른 모델마다 latent variable의 구조가 다를 것이기 때문에 문제가 약간 복잡해진다. 즉 단순히 q(Z,m)=q(Z)q(m)q(Z, m) = q(Z)q(m) 으로 factorization될 수 없고, q(Z,m)=q(Zm)q(m)q(Z, m) = q(Z|m)q(m) 임을 고려해야 한다는 것이다.
어쨌거나 동일한 방식으로 decomposition하여 lower bound를 구하고, q(m)q(m) 에 대해 lower bound를 최대화하면 다음과 같은 결과를 얻는다.
q(m)p(m)exp(Lm)q(m) \propto p(m)\exp(L_m)
한편 lower bound를 q(Zm)q(Z|m) 에 대해 최대화하면 서로 다른 mm 들이 서로 dependency를 갖는 것을 확인할 수 있다. 따라서 역시나 iterative update를 해주어야 한다.

10.2. Illustration: Variational Mixture of Gaussians

이제 Gaussian mixture model에 variational inference를 적용해보자. 실제로 Gaussian mixture뿐 아니라 많은 Bayesian model들이 variational inference를 통해 풀어질 수 있다고 한다.
먼저 각 데이터 포인트 xnx_n 에 대해 one-hot-coding 형식의 binary latent variable znz_n 이 주어진다고 하자. 그러면 mixture model의 mixing coefficient π\pi 가 주어졌을 때 ZZ 의 conditional distribution을 다음과 같이 정의할 수 있다.
p(Zπ)=n=1Nk=1Kπkznkp(Z|\pi) = \prod_{n=1}^N\prod_{k=1}^K \pi_k^{z_{nk}}
또 latent variable과 모델 파라미터에 대한 observed data의 conditional distribution은 다음과 같이 정의된다.
p(XZ,μ,Λ)=n=1Nk=1KN(xnμk,Λk1)znkp(X|Z,\mu,\Lambda) = \prod_{n=1}^N\prod_{k=1}^KN(x_n|\mu_k,\Lambda_k^{-1})^{z_{nk}}
이제 모델 파라미터 μ,Λ,π\mu, \Lambda, \pi 에 대한 prior distribution을 각각 다음과 같이 정의한다.
p(π)=Dir(πα0)=C(α0)k=1Kπkα01p(μ,Λ)=p(μΛ)p(Λ)=k=1KN(μkm0,(β0Λk)1)W(ΛkW0,ν0)p(\pi) = Dir(\pi|\alpha_0) = C(\alpha_0)\prod_{k=1}^K\pi_k^{\alpha_0 - 1} \\ p(\mu,\Lambda) = p(\mu|\Lambda)p(\Lambda) = \prod_{k=1}^KN(\mu_k|m_0,(\beta_0\Lambda_k)^{-1})W(\Lambda_k|W_0,\nu_0)

10.2.1 Variational distribution

위의 모델에 variational treatment를 진행하기 위해, 먼저 variable들에 대한 joint distribution을 다음과 같이 쓴다.
p(X,Z,π,μ,Λ)=p(XZ,μ,Λ)p(Zπ)p(π)p(μΛ)p(Λ)p(X,Z,\pi,\mu,\Lambda) = p(X|Z,\mu,\Lambda)p(Z|\pi)p(\pi) p(\mu|\Lambda)p(\Lambda)
이제 다음과 같은 factorization을 가정한다. 다시 한번 저자는 이 것이 유일한 가정이라는 것을 가정한다.
q(Z,π,μ,Λ)=q(Z)q(π,μ,Λ)q(Z,\pi,\mu,\Lambda) = q(Z)q(\pi,\mu,\Lambda)
먼저 q(Z)q(Z) 에 대해 식 (10.9)를 적용하면 다음의 식을 얻을 수 있다.
lnq(Z)=Eπ,μ,Λ[lnp(X,Z,π,μ,Λ)]+const\ln q^*(Z) = E_{\pi,\mu,\Lambda}[\ln p(X,Z,\pi,\mu,\Lambda)] + \text{const}
이제 맨 위의 joint distribution에 대한 등식에 따라 다음과 같이 쓸 수 있다.
lnq(Z)=Eπ[lnp(Zπ)]+Eμ,Λ[lnp(XZ,μ,Λ)]+const\ln q^*(Z) = E_{\pi}[\ln p(Z|\pi)] + E_{\mu,\Lambda}[\ln p(X|Z,\mu,\Lambda)] + \text{const}
이제 다음과 같이 변수를 정의하고,
lnρnk=E[lnπk]+12E[lnΛk]D2ln(2π)12Eμk,Λk[(xnμk)TΛk(xnμk)]\ln \rho_{nk} = E[\ln \pi_k] + \frac{1}{2}E[\ln|\Lambda_k|] - \frac{D}{2}\ln(2\pi) - \frac{1}{2}E_{\mu_k,\Lambda_k}[(x_n - \mu_k)^T\Lambda_k(x_n - \mu_k)]
위에서 정의한 formulation들을 이용하면 다음을 얻어낼 수 있다.
q(Z)n=1Nk=1Kρnkznkq^*(Z) \propto \prod_{n=1}^N\prod_{k=1}^K\rho_{nk}^{z_{nk}}
이제 이를 normalize하면 rnk=ρnkj=1Kρnjr_{nk} = \frac{\rho_{nk}}{\sum_{j=1}^K\rho_{nj}} 를 이용하여 다음을 얻을 수 있다.
q(Z)n=1Nk=1Krnkznkq^*(Z) \propto \prod_{n=1}^N\prod_{k=1}^Kr_{nk}^{z_{nk}}
놀랍게도(?) prior p(Zπ)p(Z|\pi) 와 같은 functional form을 가지는 것을 알 수 있다. 또 discrete distribution qq^* 에 대해 E[znk]=rnkE[z_{nk}] = r_{nk} 가 성립하는데, 이로부터 rnkr_{nk} 가 우리에게 친숙한 responsibility의 역할을 수행하고 있다는 것을 알 수 있다.
또 역시나 ρ\rhozz 이외의 다른 변수들에 의존적이기 때문에 closed form solution을 도출해낼 수 없고, iterative update가 필요하다.
이제 q(π,μ,Λ)q(\pi, \mu, \Lambda) 에 대해 살펴보기 전에, 다음과 같은 변수들을 정의하고 가자. EM 알고리즘에서의 그것들과 매우 흡사한 형태이다.
Nk=n=1Nrnkxˉk=1Nkn=1NrnkxnSk=1Nkn=1Krnk(xnxˉk)(xnxˉk)TN_k = \sum_{n=1}^Nr_{nk} \\ \bar{x}_k = \frac{1}{N_k}\sum_{n=1}^Nr_{nk}x_n \\ S_k = \frac{1}{N_k}\sum_{n=1}^Kr_{nk}(x_n - \bar{x}_k)(x_n - \bar{x}_k)^T
그리고 이제 q(π,μ,Λ)q(\pi,\mu,\Lambda) 에 대해 식 (10.9)를 적용해보면 다음의 식을 얻는다.
lnq(π,μ,Λ)=lnp(π)+k=1Klnp(μk,Λk)+EZ[lnp(Zπ)]+k=1Kn=1NE[znk]lnN(xnμk,Λk1)+const\ln q^*(\pi,\mu,\Lambda) = \ln p(\pi) + \sum_{k=1}^K\ln{p(\mu_k,\Lambda_k)} + E_Z[\ln p(Z|\pi)] + \sum_{k=1}^K\sum_{n=1}^NE[z_{nk}]\ln N(x_n|\mu_k,\Lambda_k^{-1}) + \text{const}
이제 위 식을 보면 π\pi 에 관한 term과 μ,Λ\mu, \Lambda 에 관한 term은 서로 나뉘어져있음을 알 수 있는데, 이로부터 q(π,μ,Λ)=q(π)q(μ,Λ)q(\pi,\mu,\Lambda) = q(\pi)q(\mu,\Lambda) 의 factorization이 추가적으로 성립함을 알 수 있다.
또한 μ,Λ\mu, \Lambda 에 관한 term은 kk 에 대한 summation으로 이루어져있는데, 이로부터 다시 q(π,μ,Λ)=q(π)kq(μk,Λk)q(\pi,\mu,\Lambda) = q(\pi)\prod_kq(\mu_k,\Lambda_k) 와 같은 factorization이 성립함을 알 수 있다.
이제 위 식에서 π\pi 에 관한 식을 꺼내 정리하면 다음과 같이 되는데,
lnq(π)=(α01)klnπk+knrnklnπk+const\ln q^*(\pi) = (\alpha_0 - 1)\sum_k \ln \pi_k + \sum_k\sum_n r_{nk}\ln\pi_k + \text{const}
이제 위 식의 양 변에 exponential을 취하면, q(π)q^*(\pi)αk=α0+Nk\alpha_k = \alpha_0 + N_k 에 대한 Dirichlet distribution이 됨을 알 수 있다.
q(π)=Dir(πα)q^*(\pi) = Dir(\pi|\alpha)
마찬가지로 q(μ,Λ)q(\mu,\Lambda) 에 대해 정리하면 역시 Gaussian-Wishart distribution이 되는 것을 알 수 있다. 자세한 정의는 교재를 보자.
q(μk,Λk)=N(μkmk,(βkΛk)1)W(ΛkWk,νk)q^*(\mu_k,\Lambda_k) = N(\mu_k|m_k,(\beta_k\Lambda_k)^{-1})W(\Lambda_k|W_k,\nu_k)
지금까지 정리한 parameter에 대한 update equation은 EM 알고리즘의 M step에 해당한다. 이러한 M step을 수행하기 위해서는 E[znk]=rnkE[z_{nk}] = r_{nk} 가 필요한데, 이 계산 과정이 EM 알고리즘과 얼마나 유사한지를 교재에서는 게속해서 강조한다. 어쨌거나 이렇게 responsibility를 구하고, 이를 이용하여 parameter에 대한 variational distribution을 업데이트하는 것을 반복함으로써 variational posterior distributino에 대한 최적화가 이루어질 수 있다.
계속해서 언급하기를 이러한 variational treatment는 EM 알고리즘과 상당히 유사한 모습을 보여주는데, EM 알고리즘은 maximum likelihood estimation인 반면 variational treatment는 Bayesian approach이기 때문에 singularity에 대한 우려가 없고, 역시나 over-fitting에 robust하다는 특성을 가진다.

10.2.2 Variational lower bound

Variational posterior distribution을 최적화하는 것 외에도, marginal distribution의 lower bound를 직접적으로 계산할 수도 있다. 잘은 모르겠지만 현실 세계에서 convergence monitoring이나 implementation을 디버깅할 때 유용하게 쓰일 수 있다고 한다.
열심히 계산을 따라가면 이해할 수 있다. 교재를 참고하자.

10.2.3 Predictive density

Bayesian mixture Gaussian model을 적용할 때 종종 새로운 데이터 포인트 x^\hat{x} 에 대한 predictive density가 목적이 되곤 한다. 그렇다면 predictive density는 이 데이터 포인트에 대한 latent variable인 z^\hat{z} 에 대해 다음과 같이 표현된다.
p(x^X)=z^p(x^z^,μ,Λ)p(z^π)p(π,μ,ΛX)dπdμdΛp(\hat{x}|X) = \sum_{\hat{z}}\int\int\int p(\hat{x}|\hat{z},\mu,\Lambda) p(\hat{z}|\pi) p(\pi,\mu,\Lambda|X) d\pi d\mu d\Lambda
먼저 위의 ZZ 에 대한 formulation을 이용하여 z^\hat{z} 에 대한 summation을 수행할 수 있다.
p(x^X)=k=1KπkN(x^μk,Λk)p(π,μ,ΛX)dπdμdΛp(\hat{x}|X) = \sum_{k=1}^K\int\int\int \pi_kN(\hat{x}|\mu_k,\Lambda_k) p(\pi,\mu,\Lambda|X) d \pi d\mu d\Lambda
이제 더 이상 연산이 불가능하기 때문에, p(π,μ,ΛX)=q(π)q(μ,Λ)p(\pi,\mu,\Lambda|X) = q(\pi)q(\mu,\Lambda) 로 approximation하여 풀어낸다. 집어 넣고 풀어내면 되니 교재를 참고하자.

10.2.4 Determining the number of components

Variational lower bound를 통해 KK 개의 components로 이루어진 mixture model에 대한 posterior distribution을 도출해낼 수 있음을 배웠다.
하지만 이 KK 개의 모델의 배치만 바꾸면 동일한 결과를 가진 다른 모델을 만들어낼 수 있으므로, 사실상 K!K! 개의 equivalent setting이 존재한다.
이러한 상황에서 maximum likelihood 프레임워크를 사용하게 된다면, (예를 들어 EM 알고리즘을 사용하면) initialization point에 따라 이 중 단 하나의 setting을 찾아낼 것이기 때문에 우려할 상황은 없다. Bayesian 프레임워크에도 KL(qp)KL(q||p) 를 최소화하면 여러 개의 mode 중 하나의 mode를 찾아 최적화하는 모습을 지켜보았기 때문에 문제가 되지 않는다.
하지만 여러 다른 KK 값에 대한 비교가 이루어질 때는 이러한 multi-modality를 반영해야 한다고 하며, 간단한 해결책은 바로 모델 비교 시 lower bound term에 K!K! 를 더하는 것이라고 한다. Maximum likelihood estimation에서는 KK 에 따라 likelihood가 증가하기 때문에 비교가 불가하지만, Bayesian 프레임워크에서는 이런 식으로 trade-off가 일어나 비교가 가능해진다.
또 다른 방법은 mixing coefficient π\pi 에 대한 point estimation을 진행하고, 이 값이 작은 component들을 가지치기하는 automatic relevance determination이다. 이러한 방법은 KK 값을 비교하기 위해 여러 번 학습할 필요 없이, 단 한 번의 학습을 통해 model selection이 가능하다는 장점을 가진다.

10.2.5 Induced factorizations

섹션 10.2.1에서 optimal solution을 찾는 과정 중 우리가 가했던 가정 외에도 추가적인 factorization property가 발견되었던 적이 있다. 이러한 additional factorization은 우리의 factorization assumption과 변수간 conditional independence 사이의 상호작용으로 발생한 결과이다.
당연하게도 이러한 induced factorization은 학습 및 추론에 있어서의 효율성을 제공한다. 이러한 측면에서 induced factorization은 graphical test를 통해 쉽게 발견될 수 있다. 한마디로 설명하자면 두 변수가 d-separation 관계를 이용하여 두 변수 사이의 factorization 성립 여부를 알아낼 수 있다.

10.3. Variational Linear Regression

위의 과정을 linear regression에 그대로 다시 한 번 적용해보는 섹션이다. 고로 생략한다.

10.4. Exponential Family Distributions

여태까지 우리는 모델의 변수를 observed variable과 hidden variable로 나누어 왔다. 이제부터는 이를 좀 더 세부적으로 데이터 셋의 크기에 따라 개수가 달라지는 latent variable과 데이터 셋의 크기와는 무관히 개수가 정해지는 parameter로 구분하고자 한다.
이제 observed and latent variable의 joint distribution이 natural parameter η\eta 에 대한 exponential family의 member라고 가정하자.
p(X,Zη)=n=1Nh(xn,zn)g(η)exp{ηTu(xn,zn)}p(X,Z|\eta) = \prod_{n=1}^N h(x_n,z_n)g(\eta) \exp\{\eta^Tu(x_n,z_n)\}
또 다음과 같은 conjugate prior를 상정한다. (교재에 오타가 있다.)
p(ην0,χ0)=f(ν0,χ0)g(η)ν0exp{ν0ηTχ0}p(\eta|\nu_0, \chi_0) = f(\nu_0,\chi_0)g(\eta)^{\nu_0} \exp\{\nu_0\eta^T\chi_0\}
이제 q(Z,η)=q(Z)q(η)q(Z,\eta) = q(Z)q(\eta) 라는 factorization property를 가정해보자. 그러면 식 (10.9)를 통해 다음을 얻을 수 있다.
q(zn)=h(xn,zn)g(E[η])exp{E[ηT]u(xn,zn)}q(η)=f(νN,χN)g(η)νNexp{νTχN}q^*(z_n) = h(x_n,z_n)g(E[\eta]) \exp\{E[\eta^T]u(x_n,z_n)\} \\ {} \\ q^*(\eta) = f(\nu_N,\chi_N)g(\eta)^{\nu_N} \exp\{\nu^T\chi_N\}
명백히 q(zn)q^*(z_n)q(η)q^*(\eta) 가 coupling되어 있으므로, 두 값을 번갈아가면서 업데이트하는 접근이 필요하다.

10.4.1 Variational message passing

여태까지는 Bayesian mixture Gaussian이라는 상당히 specific한 모델에 대한 variational inference를 다루었는데, 이번에는 좀 더 일반적으로 directed graph로 표현될 수 있는 모델에 대한 variational inference에 대해 다루고자 한다. 우선 directed graph model의 joint distribution은 다음과 같이 표현될 수 있다. pai\text{pa}_i 는 node ii 의 parent node set이다.
p(x)=ip(xipai)p(x) = \prod_i p(x_i|\text{pa}_i)
이제 다음과 같은 factorization property를 가정하자.
q(x)=iqi(xi)q(x) = \prod_i q_i(x_i)
이제 식 (10.9)를 통해 다음의 결과를 얻는다.
lnqj(xj)=Eij[ilnp(xipai)]+const\ln q^*_j(x_j) = E_{i \neq j}[\sum_i\ln p(x_i|\text{pa}_i)] + \text{const}
이 때 우변의 xjx_j 와 관련 없는 term들은 모두 const에 흡수될 수 있는데, xjx_j 에 dependent한 term은 p(xjpaj)p(x_j|\text{pa}_j)pa\text{pa}xjx_j 가 속해 있는 term들 뿐이다. 따라서 정의에 따라 const에 흡수되지 않는 term들은 xjx_j 의 Markov blanket에 속하는 node들 뿐이다.
이러한 측면에서 variational posterior distribution의 업데이트는 graph의 local calculation으로 표현될 수 있다. 이를 이용하여 모델의 구체적인 형태 없이도 general한 variational inference machine을 구현할 수 있다.
특히 여기서 모든 conditional distribution이 conjugate-exponential structure를 가진 모델로 시선을 좁히면, variational update procedure은 local message passing 알고리즘의 형태로 표현될 수 있다고 한다.

10.5. Local Variational Methods

섹션 10.1과 10.2에서는 full posterior distribution을 구하는 global method를 다루었다면, 이제는 특정 변수 혹은 특정 변수 그룹에 대한 posterior를 구하는 local method를 다루고자 한다. 특히 이번 섹션에서는 local posterior distribution의 bound를 찾는 것에 집중한다.
이러한 local variational 프레임워크에서 convexity가 핵심적인 역할을 한다. 예를 들어 convex function f(x)=exp(x)f(x) = \exp(-x) 를 생각해보자. 또 우리의 목표를 이 함수를 더 간단한(i.e. linear) 함수로 approximation하는 것이라고 하자. Convex function이기 때문에, 함수 위의 임의의 접선은 이 함수의 lower bound가 될 것이다. 특정한 점에서의 접선은 Taylor expansion을 통해 얻을 수 있다.
y(x)=f(ξ)+f(ξ)(xξ)y(x) = f(\xi) + f'(\xi)(x - \xi)
f(x)=exp(x)f(x) = \exp(-x) 에 대한 접선은 다음과 같다.
y(x)=exp(ξ)exp(ξ)(xξ)y(x) = \exp(-\xi) - \exp(-\xi)(x - \xi)
이제 λ=exp(ξ)\lambda = -\exp(-\xi) 로 정의한다. Convex function에서 임의의 접선은 lower bound인 동시에 접하는 점에서만 등식이 성립하기 때문에, 함수 자체를 lower bound를 통해 다음과 같이 표현해낼 수 있게 된다.
f(x)=maxλ{λxλ+λln(λ)}f(x) = \max_\lambda\{ \lambda x - \lambda + \lambda \ln(-\lambda)\}
이제 convex duality를 이용해 보다 일반적인 접근법을 이끌어낼 수 있다. 우선 기울기를 λ\lambda 로 가지는 접선을 λxg(λ)\lambda x - g(\lambda) 로 표현할 수 있다. 그러면 negative intercept g(λ)g(\lambda) 를 다음과 같이 구할 수 있다.
g(λ)=minx{f(x)λx}=maxx{λxf(x)}g(\lambda) = -\min_x\{ f(x) - \lambda x\} = \max_x\{ \lambda x - f(x)\}
한편 λ\lambda 를 고정하고 xx 값을 조정하는 대신, xx 값을 고정하고 slope λ\lambda 를 조정할 수도 있다.
f(x)=maxλ{λxg(λ)}f(x) = \max_\lambda\{ \lambda x - g(\lambda)\}
그러면 이제 f(x)f(x)g(λ)g(\lambda) 사이에 duality가 존재함을 발견할 수 있다. Concave function에 대해서는 upper bound에 대해 생각해보면 위와 아주 같은 프레임워크를 적용할 수 있다.
한편 우리가 관심 있는 function이 convex가 아닐 경우, 이런 방식으로 직접적인 approximation을 수행할 수는 없게 된다. 하지만 대신에 invertible transformation을 통해 목표 함수를 convex로 만들어 approximation을 수행하고, 해당 approximation에 inverse transformation을 가하여 간접적인 approximation을 수행할 수 있다.
위와 같은 간접적인 approximation의 예시로 sigmoid function을 들어보자. Sigmoid function에 로그를 취하면 concave function이 되는데, 이 sigmoid function에 위의 식을 적용하면 다음과 같다. Binary entropy function이 나와버렸다.
g(λ)=minx{λxf(x)}=λlnλ(1λ)ln(1λ)g(\lambda) = \min_x\{ \lambda x - f(x)\} = -\lambda\ln\lambda - (1 - \lambda)\ln(1 - \lambda)
그러면 이제 다음과 같은 upper bound를 갖게 된다.
σ(x)exp(λxg(λ))\sigma(x) \leq \exp(\lambda x - g(\lambda))
한편 이러한 sigmoid function에 대한 Gaussian form의 lower bound를 구할수도 있다. 먼저 log of sigmoid를 다음과 같이 decompose할 수 있는데,
lnσ(x)=x/2ln(ex/2+ex/2)\ln\sigma(x) = x/2 - \ln(e^{x/2} + e^{-x/2})
바로 ln(ex/2+ex/2)\ln(e^{x/2} + e^{-x/2}) 가 convex function임을 이용하는 것이다. 위의 방법들을 적용하여 이 함수에 대한 lower bound를 구함으로써 간접적으로 sigmoid function에 대한 다음과 같은 lower bound를 구할 수 있다.
σ(x)σ(ξ)exp{(xξ)/2λ(ξ)(x2ξ2)}\sigma(x) \geq \sigma(\xi) \exp\{(x - \xi)/2 - \lambda(\xi)(x^2 - \xi^2)\}
근데 위 우변은 딱 봐도 xx 에 대한 이차식의 exponential이므로 반가운 Gaussian form이다.
그러면 이제 이러한 lower bound가 어떻게 쓸모있는지 살펴본다. 간단히 말하자면 당연하게도 intractable한 integration을 approximation을 통해 tractable하게 만듦으로써 쓸모가 있다.

10.6. Variational Logistic Regression

위에서 배운 logistic sigmoid function의 lower bound를 활용하여, Bayesian logistic regression에 대한 local variational method를 다뤄보자. Posterior distribution을 Gaussian form으로 approximation한다는 측면에서 Laplace approximation과 같지만, ξ\xi 라를 paramter를 통해 자유도를 얻음으로써 보다 정확한 approximation이 가능하다.

10.6.1. Variational posterior distribution

TBA
E.O.D.