[D] Why does pre training work?
Using a pre-trained network for your new task seems standard practise. I’m talking about the case where we retrain the entire network on the new task. Not only the final layers. What are you all thinking on how this improves performance on new tasks? Why cannot we learn those exact representations on the new task?
My own reasoning gets stuck at the following point: usually we pretrain the network on a larger data set. The network learns representations on that large data set that it could not have learned on our own smaller data set. The small data set might not have enough evidence for those representations. However, using those parameters actually improves performance. So the associated representations are actually useful. That seems contradictory.