Generative adversarial network