본문 바로가기
Machine Learning/Statistics

Variational Bayes Tutorial

by 187cm 2023. 6. 8.
반응형

논문 링크: https://arxiv.org/pdf/2103.01327.pdf

Variational Bayes에 대해 설명을 제공하는 "A practical tutorial on Variational Bayes" 라는 논문에서 Variational Bayes에 대해 가볍게 앞부분만 정리하고 넘어가고자 한다.

 

- Variational Bayes는 Variational Inference, Variational Approximation이라고 불린다. 

- 본 논문에서는 흔하게 사용되는 Variational Bayes (줄여서 VB)를 가지고 데이터 분석 전문가들이 다양한 커뮤니티에서 지속적인 접근 가능하게 할 것이라고 해서 가볍게 정리하고자 한다.

 

1. Introduction.

- Bayesian techniques은 큰 데이터 셋 및 큰고 복잡한 모델에 확장 가능하다. 기존의 MCMC, SMC sampling 방법은 이걸 충족 시키지 못한다. 특히 Deep-Learning 분야에서.

- VB는 Bayesian techniques를 최적화 시킨 방법으로, 계산이 효율적이고 위의 sampling 방법을 대체할 수 있다.

- VB는 사실 Variational Inference 방식 중 하나로, 특히 missing data에 대해 MLE(Maximum likelihood estimation) 방식을 통해 추정하는 방식이다.

 

왜 Bayesian Rule은 p(θ|y) = p(θ)⋅p(y|θ) / p(y) or p(θ)⋅p(y|θ)로 불릴까?

- y: 데이터

- p(y|θ) : likelihood function 주어진 데이터에 대해 우리의 모델 θ가 얼마나 적합한지 나타내는 확률, 즉 데이터에 대해 대한 가능도

- p(θ): prior → 모델 파라미터 θ에 대한 사전 분포이다. 즉 우리의 모델 파라미터가 어떤 분포를 가정하고 있다는 것을 의미

- p(θ|y): posterior distribution → 사후 분포, 즉 데이터 y가 주어졌을 때, 우리의 모델이 나타내는 분포이다.

 

우리의 Baysian에 의해 사후 분포를 정의 p(θ|y) 한다면 아래와 같다.

- p(y, θ)는 joint distribution으로 Bayesian 정리에 의해 p(θ)p(y|θ)로 나타낼 수 있다.

- p(y) = ∫θ  p(θ)⋅p(y|θ)⋅dθ 로 marginal likelihood 혹은 evidence로 불린다. 사실 우리는 p(y), 즉 정답 데이터에 대한 분포를 정확하게 구하지 못하기 때문에 p(θ)와 p(y|θ)를 가지고 정답 데이터를 추론 및 근사 하는 과정을 거치게 된다. 이 과정에서

모든 θ에 대해 적분을 통해 확률을 계산한다. 이 것이 marginal likelihood의 개념이며, evidence라고도 불린다.

- ∝는 비례한다는 뜻으로, 위에서 구한 p(y)가 Normalize하는 상수이므로 마지막과 같이 생략하여 사용한다. 우리가 p(y)에 대한 분포를 모르기 때문이다.

 

- Bayesian inference는 사후 분포에 대한 기댓값 계산을 요구하는데, 데이터 y에 존재하는 한 점에 대해서 추정 할 때, 이 때 사후 평균을 사용하며, 이는 데이터 y에 대한 사후 분포 p(θ|y)에서 기댓값과 관련이 있다. 하지만 p(θ|y)에서 대부분 y의 분포를 모르기 때문에 Bayesian inference에서 p(θ|y)에서 샘플링 방식을 사용하는 MCMC를 사용한다. 

- 이러한 MCMC 방식 대신 Variational Bayes를 사용하여 모델의 optimization 과정을 보여줄 것이며, VB는 사후 분포에서 Gaussian 분포 중 하나인 확률 분포 및 밀도 q(θ)를 활용하여 근사하는 방법을 사용할 것이다.

- 하지만 VB는 tractable family (Gaussian, Exponential family)등 에서만 근사가 가능하다는 단점이 존재한다. 

- 위의 수식은 Variational Bayesian approximation에서의 최고 근사치 q*에 대한 수식이며, q*는 q(θ)와 p(θ|y)를 KL Divergence가 가장 작은 값을 가지는 q 값이 q*가 된다. 말 그대로 p(θ|y)를 가장 잘 근사하는 q(θ)를 찾겠다라는 뜻.

- p(⋅|y)는 데이터 분포 y가 주어졌을 때의 latent vector ⋅ = (θ) 를 q(θ)가 잘 근사할 수 있는지가 된다.

- KL Divergence KL(q(θ)||p(θ)) = ∫ q(θ) log (q(θ)/p(θ))로 다음과 같으므로 위와 같은 수식을 만족시킬 수 있다.

- 사후 확률 분포를 계산할 수 없는 p(θ|y)를 Variational Bayesian Approximation 결과 q*를 활용하여 위의 수식을 대체했다.

- 간단한 log의 성질과 Bayesian rule을 활용하면 다음과 같은 수식을 얻을 수 있다. (왼쪽)

- 또한 KL Divergence의 수식을 따라, 계산하면 하나의 Entropy와 Cross-Entropy로 나눠지는 것을 확인할 수 있다. 

왼쪽 KL divergence 유도 과정, 오른쪽 KL divergence 구성 유도.

- 따라서 위의 수식을 바탕으로 우리의 VB.에서의 Lower bound는 log(p(y))에 의해 다음과 같이 정의 할 수 있다. Lower bound를 구하기 위해 Evidence lower bound (ELBO)를 구하는 방법과 동일하게 KL divergence에서 log-likelohood 값을

빼준다. 따라서 log값이 빠진 우리의 LB는 위의 수식과 같다. 

- LB = (Log-likelihood - KL) 이라는 점을 바탕으로 위의 수식을 설명해보자면, KL을 Miniming하는 것은 사전 분포 q(θ)와 사후 분포 p(|y)를 비슷하게 만드는 것을 의미한다 KL divergence를 0으로 수렴시키려는 이유이다.

- log-likelihood의 경우는 데이터에 대한 분포 p(y) = ∫p(y, θ)⋅dθ 값을 최대화 하는 것이며 log(p(y)) 와 동일하다.  

- 또한 어떠한 제약 없이 q*(θ) = p(θ|y)가 되는 것은 계산 불가능하기에, 이러한 점에서 VB는 MFVB와 FFVB 2개로 나눠진다. (MFVB: Mean Field VB), (FFVB: Fixed Form VB)

 

일단 간단한 VB는 여기서 마치고 FFVB 혹은 MFVB는 다음번에 포스팅해야지.

반응형