Behind the Scenes of GANs, VAEs and Flow-based Generative Models