https://medium.com/@monocosmo77/understanding-batch-normalization-part1-machine-learning-66ba792620b1