Why Neural Networks can learn (almost) anything