How does a neural network learn?