MACHINE LEARNING

Approximate inference 정리

24_bean 2023. 2. 21. 21:59

정의

 

Approximate inference = 근사  추론

 

어떤 확률 모델에서 정확한 계산이 불가능해 데이터 분포를 표현하기 어려울 때 그와 유사한 표현을 통해 모델을 대체하겠다는 개념으로 근사시킨다는 말을 사용한다.

즉, 근사적인(approximate) 방법을 사용해 확률 분포를 추정하는 것이다.

 

꽤 복잡한 확률 모델의 경우 특히 유용하다는 특징을 가지는데, 일반적으로 모델에서 정확한 추론(inference)를 수행하기 위해 exponetial한 계산을 필요로 하기 때문이다.

 

가령, RBM(Restricted Boltzmann machine) 이나 PPCA(probabilistic principle component analysis)등을 예시로 들 수 있고, graphical model with multiple layers of hidden variables 들이 언급한 intractable 한 posterior distibution을 갖는다.

 

다른 더 쉬운 예시를 들자면,

bayesian network model에서, 가능한 모든 상태의 조합을 고려하는 bayesian inference는 NP-hard 문제가 되어 일반적으로 계산하기 매우 어렵다는 특징을 갖는다.

이럴 때 근사 추론(approximate inference)를 사용해 문제를 해결한다.

 

 

approximation = 근사(비슷한 값을 사용하자는 컨셉)

 


종류

 

근사 추론(approximate inference)으로는 크게 Markov Chain Monte Carlo(MCMC), Variational Inference(VI)등이 있다.

이에 대해 간단하게 core idea와 concept만 알아보자.

 

Markov Chain Monte Carlo (MCMC)

MCMC는 Markov chain의 steady state distribution으로부터 sampling하여 모델의 분포를 추정한다.

 

Markov chain은 현재 상태가 이전 상태에만 영향을 받는 확률 과정을 말한다.

즉, 현재 상태에 따라 다음 상태를 결정하게 된다. 따라서 현재 상태와 이전 상태 간의 관계만으로 다음 상태를 추론한다.

 

이런 특징 때문에 Markov chain을 이용하여 분포를 sampling하는 것이 가능해진다.

이때 Markov Chain은 steady state distribution에 수렴하게 된다.

 

그럼 또 steady state distribution은 무엇인가...?

 

steady state distribution은 Markov chain이 충분한 시간이 지났을 때 도달하게 되는 분포로, 초기 분포에 따라 변할 수 있지만 시간이 지난 후에는 초기 분포와 상관 없이 동일한 분포로 수렴한다.

 

이를 위해 충분한 수의 iterative status transfer가 수행되어야하며

 

결론적으로, MCMC는 충분한 수의 iterative sampling을 수행해서, steady state distribution에서 얻어낸 이후 수렴하여 얻는 분포를 통해 sampling한다.

 

이때 "Monte carlo"라는 단어는 Probability sampling strategy(확률적 샘플링 기법)를 의미한다.

 


reference: https://www.youtube.com/watch?v=yApmR-c_hKU 

 

짧은 mc integration 이해 (pi approximation을 통한): https://www.youtube.com/watch?v=ELetCV_wX_c


 

Variational Inference (VI)

 

Variational Inference을 변분법 추론 이라 번역하고 싶다.

 

MCMC와 다르게 VI는 정확한 분포 대신 다른 분포(gaussian distribution, etc..)를 통해 모델의 분포를 근사한다.

이때 근사한 분포에 대한 KL-divergence를 최소화하는 방식으로 추론을 하는데 이는 ELBO(Evidence lower bound)를 최대화 하겠다는 의미와 동일하다.

 

조금 자세히 설명하자면,

VI는 확률 분포의 근사를 통해 maximum likelihood inference 및 bayesian inference를 수행한다.

 

결국 목표는 target distribution과 비슷한 형태를 가진 하나 이상의 approximate distribution을 찾는 것이다.

이를 위해, 근사 분포와 타겟 분포의 차이를 최소화하는 방향으로 학습한다(KL-divergence 최소화).

이때, 근사 분포는 다른 확률 분포 중 하나로 선택되며, bayesian rule에 따라 근사 분포를 이용하여 posteriori probability를 계산한다.

 

VI는 다음과 같은 단계를 차례로 수행하며 진행된다.

 

1. initialize the parameters of approximate inference

2. update the parameters of approximate inference towards minimize the KL-divergence

3. iterate step 2 until converge

 

하지만, 결과적으로 approximate distribution에 대한 가정을 하기 떄문에, 모델이 잘못된 가정을 할 경우 정확한 결과가 보장되지 않을 수 있다.

따라서, modeling과 inference의 정확성은 approximate distribution이 target distribution과 얼마나 가까운지에 크게 의존한다.(KL-divergence 최소화의 중요성)

 


reference : https://www.youtube.com/watch?v=HxQ94L8n0vU 


추가

approximate inference를 사용하면 모델의 정확도가 손상될 수 있기 때문에 모델을 정확하게 학습하는 것이 좋다.

또한, 모델이 충분히 단순할 경우 굳이.. approximate inference가 필요하지 않은 경우가 있으니 확인을 먼저할 필요가 있다.

 

'MACHINE LEARNING' 카테고리의 다른 글

openCV / image blur 처리 예제  (0) 2023.03.15
openCV / K-means clustering 시각화  (1) 2023.03.15
Bias-Variance tradeoff 관계 해석  (0) 2023.02.19
Word2Vec 개념 정리  (0) 2022.12.30
ML / 3가지 주요 원칙  (2) 2022.09.16