andreas128 / SRFlow

Official SRFlow training code: Super-Resolution using Normalizing Flow in PyTorch
Other
833 stars 111 forks source link

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

Open Litou1 opened 4 years ago

Litou1 commented 4 years ago

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

jayzhan211 commented 4 years ago

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 commented 4 years ago

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?