An Introduction to Generative Adversarial Networks