✔️ MLP, Autoencoder가 2012년 이전에도 있던 old concept이라면 Variational Autoencoder는 2014년에 나온 concept이다.
✔️ 만약 다루기 힘든 inference problem이 있으면, variational inference나 MonteCarlo sampling에 의존할 수 있다. Variational Autoencoder는 variational inference에 heavily rely한다.
🔗 Generating new samples
➡️ Autoencoder는 generative model로 적합하지는 않다. Autoencoder는 compress와 decompress algorithm이다. 따라서 적합한 generative model이 필요하다.
Variational Inference는 posterior distribution을 estimate하는 것에 관한 것이다.
🔗 Posterior Distribution
z는 prior distribution에서 온다.
Bayesian principle을 사용한 true posterior distribution은 다루기 힘들다.
💡 이를 handle하는 법 두가지
z distribution에서 sampling하여 Monte Carlo Estimation을 한다.
대안으로, 최종 목표인 이 posterior distribution을 더 간단한 함수 Q로 approximate한다.
🔗 Learning Q(Z)
✔️ 식을 shuffle
log p(X) = KL divergence term + ELBO term
⭐️ VI의 핵심 결론
ELBO를 maximizing하면 D_KL을 minimizing하는 것으로 이어진다!
이유 : log P(X)는 data distribution이고 data는 fix되어있기 때문에 log P(X)도 fix되어있다. constant이다.
ELBO를 maximize하는 것이 쉽다. 왜냐하면 P(X|Z)와 P(Z) 모두 우리가 아는 것이고, Q(Z)는 우리가 주로 다루기 쉬운 distribution이라고 이미 가정해놓았기 때문이다(주로 가우시안).
log P(Z,X) = log P(X|Z) + log P(Z)
Inference problem을 optimization problem으로 바꾸었다!
ELBO means
D_KL은 음수가 될 수 없기 때문에 ELBO term은 log P(X)와 같거나 작아야한다. 그리고 P(X)는 evidence라고 불린다. 그래서 Evidence Lower Bound라고 불린다.
L(Q)는 "variational free energy"라고도 불린다.
왜냐하면 Entropy term을 가지고 있기 때문이다.
L(Q) = [logP(Z,X)] + H(Q) (H: Information Entropy)
🔗 Objective
🔗 AE에서 추가된 것 한가지
⭐️ Motivation
➡️ Data distribution P(X)을 probability distribution P(Z)로 mapping한다. 이것이 Encoder이다.
➡️ P(Z)에서 z를 sample하여 x로 전환한다.
🔗 VAE Loss
Compression/Decompression algorithm 측면에서는 VAE가 vanilla AE보다 열악할 수 있다(decrease freedom of model). 하지만 generate new sample에 관해서는 더 realistic한 sample을 generate할 것이다.
자, 이제 probabiliy 관점에서 생각해보자.
우리는 posterior distribution P(Z|X)를 infer하고 싶다. Image가 주어졌을 때 latent distribution or latent variable z를 알고 싶다.
🔗 VAE Posterior Distribution
P(Z|X)는 다루기 힘들기 때문에, variational inference를 사용한다.
z는 에 의해 결정되기 때문에 q(z)말고 (z|x)를 쓴다.
이런 encoder를 학습하고 싶다.
이를 통해 나온 새로운 ELBO term에 대해 알아보자.
🔗 The new ELBO term
⭐️ VAE 안에 VI nature가 있다고 말하는 이유
2개의 매우 다른 관점에서 시작하였는데, 결과가 같다.
➡️ ELBO를 maximizing하는 것은 loss를 minimizing하는 것과 같다!
ELBO에서 모든 term이 우리가 아는 것이다. 그래서 VAE를 training할 수 있다.
이렇게 하여 VAE를 하나의 reguralization term을 추가하는 것 뿐만 아니라 어떻게 maximizing ELBO로 해석하는지까지 알아보았다.
Reference
- AI504: Programming for AI Lecture at KAIST AI