https://github.com/musikalkemist/DeepLearningForAudioWithPython/blob/44a0e1880eee57a523780a1862cb8bf44963fbe8/8-%20Training%20a%20neural%20network:%20Implementing%20back%20propagation%20from%20scratch/code/mlp.py#L157