https://medium.com/@chrissteven743/generative-adversarial-networks-gans-how-gans-bridge-the-gap-between-ai-reality-4d244d79ae7b