https://medium.com/@monocosmo77/how-adversarial-learning-works-and-is-utilised-part3-machine-learning-4e5093b2287f