https://medium.com/@monocosmo77/understanding-adversarial-attacks-part1-artificial-intelligence-c06c898d0843