https://medium.com/@monocosmo77/how-adversarial-learning-works-and-is-utilised-part1-machine-learning-43fe3895aaa9