Table of content (short-version) [paper] [github]


Summary

  • VAE에서 encoder가 normal distribution으로 고정된 것의 한계를 깨기 위한 방법
  • GAN loss에 의해서 manifold를 N(0,1)이 아닌 다른 임의의 함수로 표현이 가능하다.

Motivation

  • 기존 VAE의 특징
    • p와 q의 조건으로는 확률 분포로부터 샘플링을 쉽게 할 수 있어야 한다는 것과 KL 계산이 가능해야 한다는 것이다.
    • KL의 계산상의 어려움으로 encoder를 normal distribution으로 가정했었다.
    • KL term은 q가 p에 가깝게 확률분포를 변화시키는 과정
  • KL 대신 GAN loss의 이용
    • VAE에서 KL의 기능은 GAN과 유사 (타겟 분포와 생성된 샘플이 있을 때, 샘플들의 분포를 타겟 분포와 같게 만드는 방식)
    • 즉, KL대신 GAN loss를 사용하면 임의의 함수에 대해서도 샘플링을 한 뒤 GAN의 개념을 적용함으로써 KL계산 없이 AE수행을 가능하게 함
    • 따라서 모델 선팩의 폭이 넓어진다.

Architecture

  • Loss
    • 학습1(update AE ):
    • 학습2(update D ):
    • 학습3(update G ):
  • Discriminator는 p(z)로부터의 샘플을 pos로, q(z)를 neg로 구분
  • Manifold 모양을 볼 때 VAE는 자주 나오는 값을 중시하여 빈 공간이 가끔 있지만, AAE는 분포의 모양을 중시하여 빈공간이 적다.
  • 기존 VAE에 비해서 image-level 분포가 아닌 latent-space 분포를 같게 한다는게 핵심 아이디어


[기본 VAE에서 conditional 추가된 버전 (Supervised)]

picture


[Supervised AAE]

picture


[Semi-supervised AAE (auxiliary classifier)]

picture


References

[1] Makhzani, Alireza, et al. “Adversarial autoencoders.” arXiv preprint arXiv:1511.05644 (2015).

[2] https://ratsgo.github.io/generative%20model/2018/01/28/VAEs/

[3] https://rubikscode.net/2019/01/14/introduction-to-adversarial-autoencoders/

[4] https://www.inference.vc/adversarial-autoencoders/

[5] https://hjweide.github.io/adversarial-autoencoders

[6] https://blog.naver.com/stykworld/221378497228