Hannah How does backpropagation help a neural network learn from its prediction errors? What happens to the weights and gradients during the backward pass, and how does an optimizer use this information to improve the model?