Deep Learning: GANs And Variational Autoencoders