Latent Variable Models
Motivation
사람 얼굴 이미지는 endor, eye color, hair color 등 다양한 factor들에 의해 서로 다르게 나타난다. 이러한 다양한 요인들은 이미지에 이러한 요인들이 annotation 되어 있지 않는 한, explitly 이용하기가 어렵다. latent variable models는 이러한 요인들을 latent variables z를 사용하여 modeling 하는 것을 main idea로 한다. 이 때, z는 unobserved variables로 dataset에 포함되지 않는다.
Latent variable models의 가장 큰 장점은 latent variables z를 잘 설정하면 p(x)를 modeling 하는 것 보다 p(x∣z)이 더 단순 할 수 있다는 점이다. z를 직접 지정하는 것은 매우 어렵기 때문에 일반적으로는 z를 modeling 하는데 DNN을 이용한다.
- z∼N(0,I)
- p(x∣z)=N(μθ(z),Σθ(z)), where μθ,Σθ는 DNN
Latent variable models 는 학습이 끝나면, z가 유의미한 latent를 갖기를 기대하며, p(z∣x) 를 통해 구할 수 있도록 학습된다.
Mixture of Gaussian
가장 단순한 latent variable model로 Mixture of Gaussina을 예시로 들 수 있다.
- z∼Categorical(1,⋯,K)
- p(x∣z=k)=N(μk,Σk)
Generative process는 다음과 같이 진행된다.
- z를 sampling 하여 gaussian distribution을 선택
- 선택된 gaussian으로 부터 data를 generation.
Latent variable models는 z를 도입하여 modeling을 좀 더 simple하게 할 수 있다. 하지만 p(x∣z) simple 하다고 해서 p(x)가 simple 하지는 않다. 즉, complex 하고 flexible 한 p(x)를 latent variable을 이용하여 p(x∣z)로 simple하게 modeling 할 수 있다는 것이 latent variable models의 큰 장점이다.
Marginal Likelihood
Latent variable models의 특정 datapoint xˉ의 probability는 다음과 같다.
- p(X=xˉ;θ)=z∫p(xˉ,z;θ)dz
위 식에 따라 maximum likelihood learning은 다음과 같이 쓸 수 있다.
- logx∈D∏p(x;θ)=x∈D∑logz∑p(x,z;θ)
일반적으로 위 likelihood 식은 모든 z를 고려해야 하기 떄문에 매우 비용이 크고, 따라서 ∑zp(x,z;θ)는 intracable 할 수 있다. 따라서 maximum likelihood 방식으로 learning을 하기 위해서는 approximation이 필요하다.
가장 쉽게 떠올릴 수 있는 approximation 방식은 monte carlo 방식이다. monte carlo 방식은 z를 uniform distribution으로 부터 sampling하여 approximation 한다.
- z∑pθ(x,z)≈∣Z∣k1j=1∑kpθ(x,z(j))
Monte carlo 방식은 간단하게 approximation 할 수 있지만, practical 하지는 않다. 왜냐하면 대부분의 pθ(x,z)가 매우 낮을 것이기 때문이다. 따라서 z를 uniformly 하게 sampling 하는 것이 아닌 다른 방식이 필요하다.
Montel carlo 방식 외에 다른 방식으로 importance sampling을 생각해 볼 수 있다. z를 uniformly sampling 하는 것이 아니라 distribution q(z)로 부터 sampling 하는 것이다.
- z∑pθ(x,z)≈k1j=1∑kq(z(j))pθ(x,z(j))
문제는 maximum log likelihood를 이용하여 학습을 하려 할 때 발생한다. 위 식에 log를 씌우는 순간 biased estimation이 되어버리기 때문이다.
- Ez∼q(z)[logq(z)pθ(x,z)]=log(Ez∼q(z)[q(z)pθ(x,z)])
log likelihood logpθ(x)를 바로 구할 수는 없지만 log가 concave function인 것과 Jense Inequality를 이용하면 log likelihood의 lower bound를 구할 수 있다.
- log(Ez∼q(z)[f(z)]=log(z∑q(z)f(z))≥z∑q(z)logf(z)=Ez∼q(z)[logf(z)]
위 식에서 f(z)를 q(z)pθ(x,z)로 대체하면, 아래와 같은 식을 얻는다.
- log(Ez∼q(z)[q(z)pθ(x,z)])≥Ez∼q(z)[logq(z)pθ(x,z)]
위 식의 오른 쪽 식을 ELBO(Evidence Lower Bound) 라고 부른다.
Bound Tight
ELBO가 log likelihood와 같아지는 경우는 q(z)=p(z∣x,θ)인 경우 뿐이다. 즉, distribution q가 posterior p(z∣x)와 가까워 질수록 ELBO는 likelihood와 tight 해진다.
Reference
cs236 Lecture 5