Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What is the difference between VAE and Normalizing Flow? #4

Open
Litou1 opened this issue Sep 21, 2020 · 2 comments
Open

What is the difference between VAE and Normalizing Flow? #4

Litou1 opened this issue Sep 21, 2020 · 2 comments

Comments

@Litou1
Copy link

Litou1 commented Sep 21, 2020

Congrats and excellent work!
Maybe a dumb question, what's the difference between this and VAE, and how are they related?

@jayzhan211
Copy link

Congrats and excellent work!
Maybe a dumb question, what's the difference between this and VAE, and how are they related?

Maybe you can refer to NVAE: A Deep Hierarchical Variational Autoencoder

@andreas128 andreas128 changed the title difference to VAE? What is the difference between VAE and Normalizing Flow? Oct 15, 2020
@andreas128
Copy link
Owner

andreas128 commented Oct 16, 2020

Thanks, great question!

What are the architectural differences of VAE and NF?

For autoencoders, the encoder and decoder are two separate networks and usually not invertible. A Normalizing Flow is bijective and applied in one direction for encoding and the other for decoding. That means that you obtain the exact same image after encoding an image into latent space and decoding it again.

What are the training objectives of VAE and NF?

  • VAE: Maximize the lower bound of the log-likelihood (ELBO)
  • NF: Minimize the exact negative log-likelihood

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants