How do neural networks learn?