Since deep learning took off in 2012, some people think no new idea has been more interesting or promising than Generative Adversarial Network (GAN), introduced by Ian Goodfellow in 2014 in the paper, Generative Adversarial Networks (https://arxiv.org/abs/1406.2661). In fact, Yann LeCun, the Facebook AI research director and one of the pioneering deep learning researchers, referred to GAN and adversarial training as “the most interesting idea in the last 10 years in machine learning.” Because of this, how can we not cover it here, to understand why GAN is so exciting and how to build GAN models and run them on iOS and Android?
In this chapter, we'll first give an overview of what a GAN is, how it works, and why it has such great potential. Then we'll go through two GAN models: one basic GAN model that can be used...