I’m used to reading papers and seeing code (like https://github.com/pytorch/examples/tree/master/vae 32) with KL divergence which is minimized via ELBO, but recently I looked at an implementation of neural processes which does the same thing, and an implementation just uses the kl_divergence from pytorch (https://github.com/EmilienDupont/neural-processes/blob/master/training.py#L130 32)
I took a look at the source code and docs and there wasn’t much information there besides the basics of what kl is. It looks like the source code might be sampling the distribution somehow…
Does computing loss with kl divergence and then back propagating it remove the need to derive ELBO and reparameterize altogether?