- The core hypothesis is that within "over-parameterized"[0] networks, a small subnetwork (a small set of weights) is often doing most of the work. A weight can be thought of as an edge in the neural network graph, and so subsets of weights can be thought of as subnetworks.
- You can find these subnetworks by initializing weights randomly, training for some number of steps, identifying the least contributing weights, and then retraining from the same initial parameters as before, except with the least-contributing weights from the previous run zero'd out.
- People have observed that you can achieve something like 99% weight pruning with relatively little loss in performance. After that, things get very unstable.
- This has implications for understanding how neural nets do what they do and for shrinking model sizes.
This is all from memory, so forgive any errors.
[0] - Networks have grown to enormous numbers of parameters lately, and there's reason to think that even before the era of 1B+ parameter networks, neural nets were over-parameterized. Why do we use such large networks then? For a given trained neural net, there might be a much smaller one that does the same thing, but in practice, it's difficult to get the same performance by training a smaller network. This may be because our typical optimization methods aren't well suited for finding these lottery tickets.