Courses/Probabilistic Graphical Model

[1] Probabilistic Graphical Model Overview

모끼주인 2024. 9. 11. 20:58

아래 references의 강의 및 자료들을 공부하고 짧게 정리한 내용입니다! 저도 공부하면서 정리한 내용이라 틀린 것이 있다면 언제든 댓글 달아주신다면 감사하겠습니다~ :D

[Preliminary: Probability Review]

https://ermongroup.github.io/cs228-notes/preliminaries/probabilityreview/

 

Probability Review

Probability Review We provide a review of probability concepts. Some of the review materials have been adapted from CS229 Probability Notes and STATS310 Probability Theory Notes. 1. Elements of probability We begin with a few basic elements of probability

ermongroup.github.io

 

 

1. Probabilistic Graphical Model (PGM) 이란?

Graphical model은 변수들 간의 상호 의존 관계를 표현한 모델이다.

위 그림에서 보듯이, Grade라는 random variable의 값에 영향을 미치는 변수로는 Difficulty, Intelligence가 있을 수 있다. 반면 만약 '오늘 점심 메뉴'라는 변수가 있다면 아마도 이 변수와 Grade는 상호 독립 관계일 것이다. 이와 같이 PGM은 변수들 간의 dependence/independence 관계를 설명하기 위해 디자인 된 것이며 그래프는 단지 PGM을 시각화 하기 위한 방법으로 볼 수 있다.

 

PGM이라는 이름에서 graph specific한 내용이 아닐까? 라는 추측을 하게 만들긴 하지만 결론적으로 현재 우리가 활발히 사용하고 있는 language model, diffusion model, VAE, RL 모두 graphical model로 설명할 수 있다. 이에 관한 설명은 맨 아래 Applications에 적어두었다.

 

2. Why Probabilistic Graphical Model?

우리가 흔히 알고 있는 classification model은 다음과 같은 확률값을 구하는 것이다:

만약 input variable x_1 ~ x_n이 binary 값을 가진다고 해 보자. 그러면 2^n개 만큼 서로 다른 값을 가질 수 있으므로 model parameter는 O(2^n)만큼 필요하다. 만약 x가 k개만큼의 값을 가질 수 있다면, O(k^n)만큼 필요할 것이다. 이와 같이 내재적으로 probabilistic modeling은 NP-hard 문제이며 exponential time안에 모든 경우의 수를 계산할 수 있다.

 

따라서 probabilistic graphical model에서는 변수들 간의 structure에 assumption을 추가하여 확률 값을 더 단순하게 모델링한다. probabilistic model에서의 기본 assumption은 conditional independence인데, 이 부분은 section 4에 정리하였다.

 

3. 변수 간 상관 관계 측정 방법

변수 간 구조에 대한 assumption을 추가하는 대신 직접 변수 간 상관관계를 측정할 수는 없을까? 

결론적으로는 가능하지만, 변수가 많아지고 관계가 복잡해질 수록 어려워진다.

위 그림은 변수 간 relation을 구하기 위한 방법들에 대한 구조도이다. 요약하면

  • Pearson's correlation: marginal variables 간의 linear relations
  • Mutual information: marginal variables 간의 non-linear relations
  • Partial correlation: non-marginal variables 간의 linear relations
  • Conditional independence (PGM 기본 가정): non-marginal variables 간의 non-linear relations

Pearson's Correlation.

Pearson's Correlation은 marginal variables들 간의 linear dependency를 나타내는 방법이다. 일단 marginal variables가 뭔지는 무시하기로 하고, pearson's correlation은 아래와 같이 normalized covariance를 구하는 방법이다:

위 Preliminary 링크에는 covariance와 variance에 대해 정리되어 있는데, 한번 읽고 나서 보면 왜 normalized covariance인지 알 수 있을 것이다.

 

이것이 linear dependency를 나타내는 이유는, 선형 회귀 분석으로 y=ax에서 a값을 추론할 때를 살펴보면 알 수 있다. 추정치 y^과 참값 y간의 잔차를 최소화 하는 방법을 사용하여 a를 구하게 되면 다음과 같다:

위의 경우 X에서 Y로 mapping하기 위한 계수이므로 Var(X)로 나눠주었지만, pearson's correlation은 두 변수 간의 linear dependency 이므로 normalized covariance를 사용한다.

pearson's correlation으로 다음과 같이 변수 간의 dependency를 확인할 수 있다:

  • X와 Y가 독립이면 pearson's correlation은 0이다.
  • pearson's correlation이 0이더라도 꼭 X와 Y가 독립인 것은 아니다. (counter example: non-linear relations)

Mutual Information.

Mutual Information은 linear 뿐만 아니라 non-linear dependency까지도 유추할 수 있다. 만약 random variable X, Y가 독립이라면 X와 Y의 joint pdf는 P(x,y) = P(x)P(y)로 factorize될 수 있다. (Preliminary 링크 참조)

 

Mutual information에서는 이 점을 이용하여, P(x,y)와 P(x)P(y)간의 KL divergence를 측정한다. 만약 KL distance가 0이라면 두 분포가 서로 같은 것이므로 변수 X와 Y는 independent함을 알 수 있다.

즉 mutual information I(X,Y)는 위 수식과 같이 정의된다.

Marginal vs. Non-marginal.

논문에서도 qualitative results section에서 pearson's correlation이나 mutual information을 활용하는 경우들을 봤을 것이다. 하지만 이러한 경우들의 단점은 marginal variables간의 relation을 구하는 방법이라는 것이다. 즉 예를 들어, X가 아이의 키, Y가 아이의 어휘 능력, Z가 아이의 나이를 나타내는 random variable이라고 하면 이 경우 다른 variable의 값을 참조하지 않고 바로 각각 X, Y, Z간의 관계를 구하기 때문에 계산이 복잡해진다. 

 

실제 세계는 위 예시보다 훨씬 복잡하기 때문에 marginal variables간의 relation을 모델링하기는 비용이 너무 많이 든다. 또한 실제 세계는 복잡한 structure를 가지고 있기 때문에 어떤 hidden variable이 다른 variable의 값을 control하는 경우가 많다. 위의 예시에서도 Z(아이의 나이)에 따라 X(키)나 Y(어휘 능력)이 어느 정도 결정되는 것을 볼 수 있다. 따라서 marignal distribution을 구하는 대신 P(X|Z)나 P(Y|Z)와 같이 conditional distribution을 구하는 것이 훨씬 더 합리적이고 간단할 수 있다. 

4. Conditional Independence

따라서 graphical model에서는 conditional independence를 가정한다. conditional independence는 어떤 marginally dependent한 두 변수 X, Y가 conditinally independent하다고 가정하는 것이다. 즉, P(x,y) != P(x)P(y)이지만

일 것이라고 가정하는 것이다.

 

하나의 예시로, Section 2에서 언급한 classification model을 다시 살펴보자.

 

첫 번째 등호는 conditional probability 정의를 이용하여 전개한 것이고, 두 번째 등호는 conditional independence를 이용하여 식을 단순화 한 것이다. 이 경우 단순하게 input 각각의 요소들이 label y에 conditional하다고 가정한 것이다. 이렇게 단순화 하는 경우 기존에 O(k^n)개만큼 필요했던 parameter의 수가 O(kn)만큼으로 줄어들게 되는데, n개의 p(x_i|y)값을 표현할 수 있으면 되기 때문이다.

 

다음 포스팅에서는 conditional independence를 이용하여 구체적으로 probabilistic modeling을 어떻게 하는지 살펴볼 예정이다.

5. Applications

Language Models.

 

위 식과 같이 language model의 경우 fully-connected graphical model이며 따라서 변수 간의 independence assumption을 주지 않는다. BERT나 Transformer와 같이 방향성이 없는 경우 undirectional GM이라고 할 수 있지만 GPT와 같은 generation모델의 경우에는 DAG가 아니기 때문에 애매한 것 같다. (undirectional/directional GM 관련 세부 내용은 2편 포스팅에 쓸 예정입니다!)

 

Section 2에서 언급했듯이 이러한 경우 이상적으로 O(k^n)개만큼의 parameter가 필요하다. 여기서는 k가 token의 수, n이 sequence의 길이가 될 것이다. Transformer model의 경우 one-hot representation 대신 dense representation을 통해 p(xn|xn-1,...x1)을 나타냄으로써 generalization 능력을 향상하고 parameter 수를 효율화하고자 하였다. 또한 최근 language model의 크기가 매우 커지면서 더 좋은 성능을 보이고 있다.

Diffusion Models.

각 timesteps에서의 forward/backward probability q(xt|xt-1), p(xt-1|xt)가 바로 전 state에만 dependent하므로 (markov property) conditional independence를 가정한 것이라고 볼 수 있다. 

VAE.

어떤 latent variable z에 의해 x가 결정된다고 가정하고, decoder p(x|z)의 distribution을 encoder p(z|x)를 이용하여 구하는 방식을 사용한다.

RL.

RL 역시도 graphical model에서의 inference로 간주할 수 있다. 이 부분에 대한 내용은 추후에 포스팅할 예정이다!

 

 

[References]

https://ermongroup.github.io/cs228-notes/

https://www.cs.cmu.edu/~epxing/Class/10708-20/lectures.html