Generative Adversarial Networks 101