Generative Adversarial Networks (GANs) are the most successful method in machine learning for generating images. This presentation covers the pre-requisites such as Convolutional Neural Networks (CNNs), the basics of GANs and possible degenerate solutions and how to overcome them. It also discusses emerging patterns in deep learning architectures, with particular focus on re-usability.