  This is a tutorial and survey paper on Generative Adversarial Network (GAN),
adversarial autoencoders, and their variants. We start with explaining
adversarial learning and the vanilla GAN. Then, we explain the conditional GAN
and DCGAN. The mode collapse problem is introduced and various methods,
including minibatch GAN, unrolled GAN, BourGAN, mixture GAN, D2GAN, and
Wasserstein GAN, are introduced for resolving this problem. Then, maximum
likelihood estimation in GAN are explained along with f-GAN, adversarial
variational Bayes, and Bayesian GAN. Then, we cover feature matching in GAN,
InfoGAN, GRAN, LSGAN, energy-based GAN, CatGAN, MMD GAN, LapGAN, progressive
GAN, triple GAN, LAG, GMAN, AdaGAN, CoGAN, inverse GAN, BiGAN, ALI, SAGAN,
Few-shot GAN, SinGAN, and interpolation and evaluation of GAN. Then, we
introduce some applications of GAN such as image-to-image translation
(including PatchGAN, CycleGAN, DeepFaceDrawing, simulated GAN, interactive
GAN), text-to-image translation (including StackGAN), and mixing image
characteristics (including FineGAN and MixNMatch). Finally, we explain the
autoencoders based on adversarial learning including adversarial autoencoder,
PixelGAN, and implicit autoencoder.
