Decoding the Science Behind Generative Adversarial Networks