How Does Neural Networks Learn