이 포스트는 http://paulrubenstein.co.uk/variational-autoencoders-are-not-autoencoders/ 블로그를 보고 이해한 바 대로 작성한 글 입니다.
개인적인 생각으로 이 포스트에서 수식적으로 풀어나가는 방법을 통해 견해를 더 넓힐 수 있다고 생각이 들었습니다.
VAE의 학습 불안정성
간혹 우리는 매우 강력한 decoder로 훈련을 하게 됩니다. 이때 매우 강력한 decoder로 훈련을 하게 된다면 model이 주어진 latent variable에 대한 정보를 무시하는 경우가 발생합니다. 이를 Failure mode라고 합니다. 하지만 이 경우 ELBO에 관한 Score 자체는 좋게 나옵니다.
이 상황을 통해 알 수 있는 점이 하나 존재합니다. 저희의 본질적인 목적이 무조건 적으로 ELBO를 최대화 하는 것과는 다를 수 있다는 것 입니다.
우리는 VAE에서
하지만 딱 봐도 알겠지만 이 두 경우는 확연히 다릅니다. 이 때 후자의 경우처럼
이전 포스트에서 계속 봐왔던 ELBO 식은 아래와 같습니다.

우리의 실질적인 목표는 ELBO의 최대화가 아닌
근데 잠깐, 도대체 왜 우리는
실제 data distribution을
우리는 결국 data들을 매우 잘 이해하는 model
이를 KL Divergence에 대해 식으로 표현해봅시다.
근데 우항의 첫번째 Term은
그렇기 때문에
그리고 추가로 ELBO에서
Powerful Decoder
Decoder
즉 이는 latent에 대한 정보 없이 data distribution을 표현해버리는 경우를 의미합니다.
단, 여기에서 powerful decoder는 복잡한 모델 구조와는 별개의 의미입니다.
Ignoring the latent variables proof
이제 위처럼 latent를 무시하는 상황에 대해 수식적으로 따라가봅시다.
Assume (제한된 상황)
- 모든 x에 대해
인 가 존재한다. - 모든 z에 대해
인 가 존재한다.
Proof
위의 식들이 만족된다면,
로 귀결된다. 결국 이는 ELBO를 최소화 하는 입장에서는 global optimum이 된다. parameter
근데 이건 latent variable을 완전히 무시할때가 되는 경우죠??
그렇다면 무시하지 않는 경우에 대해서는 어떻게 될까요?
단 여기에서
그렇기 때문에 KL Term은 0보다 클 것이고, 결국
위 식에서 좌항은 EBLO의 의도에 해당되고, VAE의 본질적인 목적은 우항에 해당됩니다.
결국 ELBO에 대해 최적화 하다보면
ELBO를 최대화 하는 과정에서 계속 update하게 된다면
결론은 latent code를 무시하는 optimal solution
'Generative Model' 카테고리의 다른 글
Generating Diverse High-Fidelity Images with VQ-VAE2 (0) | 2021.09.20 |
---|---|
Neural Discrete Representation Learning : VQ-VAE (0) | 2021.09.17 |
Variational Auto Encoder를 이해해보자! (2) (0) | 2021.09.13 |
Variational Auto Encoder를 이해해보자! (1) (0) | 2021.09.12 |
Denoising Diffusion Probabilistic Model : DDPM (1) | 2021.09.10 |