Variational Auto Encoder (VAE) - Theory