generative model tutorial AE (Autoencoder) VAE (Variational Autoencoder) GAN (Generative Adverserial Network)