Generative Adversarial Networks (GANs) | Applications | How they work | PyTorch implementation | Image generation