  Generative adversarial networks (GANs) provide a way to learn deep
representations without extensively annotated training data. They achieve this
through deriving backpropagation signals through a competitive process
involving a pair of networks. The representations that can be learned by GANs
may be used in a variety of applications, including image synthesis, semantic
image editing, style transfer, image super-resolution and classification. The
aim of this review paper is to provide an overview of GANs for the signal
processing community, drawing on familiar analogies and concepts where
possible. In addition to identifying different methods for training and
constructing GANs, we also point to remaining challenges in their theory and
application.
