개인공부&프로젝트

GMM에서 VAE로: EM 알고리즘 한계 극복하기

백악기작은펭귄 2025. 1. 19.
반응형

GMM과 VAE: EM 알고리즘 한계 극복하기

혼합 가우시안 모델(Gaussian Mixture Model, GMM)은 데이터 분포를 여러 개의 가우시안 분포로 나타내는 모델로, 데이터가 여러 개의 가우시안 분포에서 샘플링된 결과라는 생성적 관점을 제공한다. 이를 통해 GMM은 데이터 생성 과정을 모델링할 수 있으며, 각 데이터 포인트가 특정 가우시안 분포에서 생성되었다고 가정한다. GMM의 학습 과정에서는 주로 기대값 최대화(Expectation-Maximization, EM) 알고리즘이 활용된다. EM 알고리즘은 잠재 변수를 포함한 확률 모델의 최대 우도(MLE)를 계산하는 효과적인 방법으로, 데이터를 설명하는 잠재 구조를 탐구할 수 있도록 돕는다.

 

하지만 GMM은 각 데이터 포인트가 여러 가우시안 분포의 혼합으로 생성된다고 가정하기 때문에 데이터의 복잡한 구조나 다중 모달 분포를 표현하는데에 한계를 보인다. 이 때문에 신경망을 기반으로 한 변분 오토인코더(Variational Auto Encoder, VAE)가 등장했다. VAE는 고차원 데이터를 처리할 수 있도록 설계되었으며, 인코더를 통해 고차원 데이터를 저차원 잠재 공간에 효과적으로 압축할 수 있다.

 

신경망 기반의 VAE. GMM과 마찬가지로 잠재 변수를 기반으로 동작하며, 잠재 변수가 디코더를 거쳐 데이터 x를 복원 혹은 생성할 수 있다

 

그런데, 여기서 문제가 발생한다. EM 알고리즘의 식을 보면 다음과 같이 분모에서 적분 과정을 확인할 수 있다.

 

$$p_\theta(z|x^{(n)})={p_\theta(x^{(n)},z)\over p_\theta(x^{(n)})}={p_\theta(x^{(n)},z)\over \int p_\theta(x^{(n)}, z)dz}$$

 

잠재 변수가 이산 값인 GMM과 달리, VAE에서의 잠재 변수 $z$는 다차원 벡터이기 때문에, EM 알고리즘을 사용하면 그 연산 시간이 기하급수적으로 증가한다. 표현력이 좋아진 대신, 그만큼 계산해야할 양이 많아진 것이다. 이를 해결하기 위해 어떤 방법을 사용하는지를 알아보자.

 

 

GMM과 EM 알고리즘 (feat. ELBO)

먼저 EM 알고리즘에 대해서부터 간단히 알아보자. EM 알고리즘은 두 단계로 이루어진 반복적인 최적화 방법이다. 우선, 기대단계(Expectation Step, E-step)에서 현재 모델 파라미터 $\theta$를 기반으로 잠재 변수$z$의 분포를 추정한다. 이후 최대화 단계(Maximization Step, M-step)에서는 해당 잠재 분포를 이용해 모델 파라미터를 업데이트한다. 이러한 과정을 통해 데이터에 대한 잠재 변수와 모델 파라미터를 점진적으로 최적화할 수 있다.

 

EM 알고리즘이 기반으로 삼는 수학적 원리는 증분 로그-우도(Lower Bound of Log-Likelihood, ELBO)이다. ELBO는 모델 학습 과정에서 최적화의 목표로 사용되며, 다음과 같이 표현할 수 있다.

 

$$\sum^N_{n=1}\sum_{z^{(n)}}q^{(n)}(z^{(n)})log{p_{\theta}(x^{(n)},z^{(n)})\over q^{(n)}(z^{(n)})}$$

 

여기서 $q(z|x)$는 잠재 변수 $z$에 대한 근사 분포를 나타내며, $p(x, z)$는 데이터와 잠재 변수의 결합 분포이다. EM 알고리즘은 $q(z|x)$와 $p(x, z)$ 간의 차이를 최소화(=KL Divergence의 값을 0으로 만듦)함으로써 ELBO를 최대화하려 한다. 이로 인해 모델의 잠재 변수와 관측 데이터 간의 관계를 효과적으로 학습할 수 있다.

 

$log~p_\theta(x)$는 다음과 같이 전개할 수 있다.

 

$$log~p_\theta(x) = \big(\int q(z) dz\big) log~p_\theta(x) = \int q(z) log~p_\theta(x) dz =  \int q(z) log~{p_\theta(x,z)\over p_\theta(z|x)} dz = \int q(z) log~{p_\theta(x,z)\over p_\theta(z|x)}{q(z)\over q(z)} dz = \int q(z) log~{p_\theta(x,z)\over  q(z) }dz + \int q(z) log~p\theta{q(z)\over p_\theta(z|x)} dz$$

 

여기서 우리는 우변의 첫 번째 항인 ELBO을 최대화해서 간접적으로 $log~p_\theta(x)$를 최대화할 것이다. 그리고 이때 우변의 두 번째 항인 KL 발산은 항상 0 이상이기 때문에 $q(z)$와 $p_\theta(z|x)$를 가깝게 근사하도록 학습을 할 것이다.

 

하지만 앞서 언급한 것처럼, VAE에서는 이를 정확히 근사하기 어렵다. 이는 사후 분포인 $p_\theta(z|x)$가 복잡한 형태이기 때문이다. 이를 해결하기 위해 VAE는 $를 근사하는 $q_\psi(z∣x)$를 도입하는 방식으로 학습합니다.

정규 분포 가정을 통한 극복

앞선 변환을 변분 추론(Variational Inference)이라고 하며 이는 VAE의 핵심 중 하나이다. 변분 추론은 EM 알고리즘의 확장된 형태로, 잠재 변수의 분포를 유연하게 학습할 수 있도록 돕는다.

 

먼저 VAE는 잠재 변수 $z$가 정규 분포를 따른다고 가정한다. 이러한 가정은 잠재 공간을 규칙적이고 매끄럽게 구성할 수 있도록 돕는다. 이를 통해 데이터가 생성 과정에서 보다 의미 있는 구조를 가지도록 유도한다. 정규 분포를 가정함으로써, 모델이 과도하게 복잡한 분포를 추정하려는 경향을 줄이고 학습을 안정화할 수 있다. 잠재 변수의 분포를 정규 분포로 제한함으로써, VAE는 모델이 과적합되는 것을 방지하고, 학습 과정에서의 계산 효율성을 높일 수 있다. 이는 데이터 생성 과정에서 잠재 공간의 조밀하고 균일한 분포를 보장하여, 새로운 데이터를 생성할 때도 자연스러운 결과를 얻을 수 있도록 한다.

결론적으로, GMM과 VAE 모두 잠재 변수를 기반으로 하는 학습 방식을 채택하고 있지만, VAE는 신경망의 강력한 표현력에 의한 반대 급부로 발생하는 계산의 어려움을 가진다. VAE는 이 과정에서 정규 분포 가정을 활용하여 기존 EM 알고리즘의 한계를 극복하고 있다.

 

여전히 남아있는 문제

이와 같이 EM 알고리즘을 변형시켜 ELBO의 최적화가 어려운 문제를 어느정도 해결하였다. 그럼에도 남아있는 문제가 있는데, 이는 잠재변수 z의 샘플링 단계에서 발생한다. 다음 포스팅에서는 여기서 '샘플링'이란 키워드가 왜 모델 학습에서 문제가 되는지 고민해보고 이를 해결하기 위한 방법을 살펴보도록 하겠다.

반응형

댓글