https://milindsoorya.com/posts/understanding-relu-the-power-of-non-linearity-in-neural-networks/