  Generative adversarial networks (GANs) are a hot research topic recently.
GANs have been widely studied since 2014, and a large number of algorithms have
been proposed. However, there is few comprehensive study explaining the
connections among different GANs variants, and how they have evolved. In this
paper, we attempt to provide a review on various GANs methods from the
perspectives of algorithms, theory, and applications. Firstly, the motivations,
mathematical representations, and structure of most GANs algorithms are
introduced in details. Furthermore, GANs have been combined with other machine
learning algorithms for specific applications, such as semi-supervised
learning, transfer learning, and reinforcement learning. This paper compares
the commonalities and differences of these GANs methods. Secondly, theoretical
issues related to GANs are investigated. Thirdly, typical applications of GANs
in image processing and computer vision, natural language processing, music,
speech and audio, medical field, and data science are illustrated. Finally, the
future open research problems for GANs are pointed out.
