PigeonColumba compressa

Carving a specialist out of the generalist

Prune the teacher's neurons for one class. Does a task-aware importance score (bird-vs-rest) keep a better bird detector than an all-class score, and does collapsing the head help recovery?

Methods: Task-aware pruning

Line chart of target-class AP ('bird') against hidden width (log scale), one line per method, with a dashed reference line for the teacher. Titled “Carving a specialist out of the generalist”. The numbers are in the table below.
Target-class AP ('bird') against hidden width
Line chart of target-class AP ('bird') against hidden width (log scale), one line per method. Titled “no recovery”. The numbers are in the table below.
Target-class AP ('bird') against hidden width: no recovery
Line chart of overlap against hidden width (log scale). Titled “fraction of kept layer-2 neurons shared by both criteria”. The numbers are in the table below.
Overlap against hidden width: fraction of kept layer-2 neurons shared by both criteria

Table

Mean over the seeds; ± is the standard deviation where more than one seed ran. The experiment took 90 s.

Hidden widthMethodTest accuracy (20-way)Target-class AP ('bird')Test NLLKL(Bayes || model)Parameters (nonzero)Overlap
128all-class importance, no recovery0.2990.3663.8643.78437,268
128bird importance, no recovery0.1650.7588.4758.39337,268
128all-class importance, 20-way KD0.915 ± 0.0000.990 ± 0.0000.313 ± 0.0010.232 ± 0.00137,268
128all-class importance, collapsed head + grouped KD0.990 ± 0.00035,720
128bird importance, collapsed head + grouped KD0.986 ± 0.00035,720
128fresh 3xW specialist, grouped KD0.989 ± 0.00235,720
64all-class importance, no recovery0.1520.1493.3143.23310,452
64bird importance, no recovery0.0710.5335.9985.91810,452
64all-class importance, 20-way KD0.903 ± 0.0000.983 ± 0.0000.312 ± 0.0000.235 ± 0.00010,452
64all-class importance, collapsed head + grouped KD0.988 ± 0.0019,672
64bird importance, collapsed head + grouped KD0.986 ± 0.0019,672
64fresh 3xW specialist, grouped KD0.987 ± 0.0009,672
32all-class importance, no recovery0.1100.0822.9922.9083,188
32bird importance, no recovery0.0710.5003.3083.2263,188
32all-class importance, 20-way KD0.836 ± 0.0020.961 ± 0.0000.504 ± 0.0030.425 ± 0.0033,188
32all-class importance, collapsed head + grouped KD0.975 ± 0.0012,792
32bird importance, collapsed head + grouped KD0.968 ± 0.0022,792
32fresh 3xW specialist, grouped KD0.967 ± 0.0002,792
16all-class importance, no recovery0.0440.0963.0332.9491,092
16bird importance, no recovery0.0780.5102.9372.8531,092
16all-class importance, 20-way KD0.658 ± 0.0090.846 ± 0.0061.020 ± 0.0260.938 ± 0.0251,092
16all-class importance, collapsed head + grouped KD0.895 ± 0.001888
16bird importance, collapsed head + grouped KD0.892 ± 0.001888
16fresh 3xW specialist, grouped KD0.908 ± 0.000888
8all-class importance, no recovery0.0680.0983.0142.929428
8bird importance, no recovery0.0770.5312.9712.887428
8all-class importance, 20-way KD0.463 ± 0.0090.704 ± 0.0101.613 ± 0.0231.527 ± 0.022428
8all-class importance, collapsed head + grouped KD0.641 ± 0.007320
8bird importance, collapsed head + grouped KD0.729 ± 0.005320
8fresh 3xW specialist, grouped KD0.749 ± 0.018320
4all-class importance, no recovery0.0540.0812.9992.914192
4bird importance, no recovery0.0630.4402.9882.904192
4all-class importance, 20-way KD0.319 ± 0.0010.531 ± 0.0082.030 ± 0.0071.943 ± 0.007192
4all-class importance, collapsed head + grouped KD0.488 ± 0.000132
4bird importance, collapsed head + grouped KD0.485 ± 0.017132
4fresh 3xW specialist, grouped KD0.380 ± 0.098132
1280.555
640.328
320.156
160.125
80.125
40

Reference points

Teacher (the large model)
The full-size network trained on the labeled data; the smaller models here are measured against it. Test accuracy (20-way) 0.914, target-class AP ('bird') 0.989, test NLL 0.384, KL(Bayes || model) 0.309, parameters (nonzero) 140,052.
Bayes-optimal (the best any model can do on this problem)
Predictions from the exact class probabilities, which the lab can compute because it generated the data. Test accuracy (20-way) 0.973, target-class AP ('bird') 0.999, test NLL 0.079.

Birds in this experiment

The table's 36 smaller models hatch 8 kinds of bird. Each kind is drawn once, for one model: the smallest if the bird is healthy or bones, the one that keeps the most if it's starving.

Measured against this experiment's teacher: 140,052 parameters, 4481.7 kbit, target-class AP 0.989. Storage is 32 bits a parameter, the lab's rule for a dense fp32 net, which every model drawn here is. Species follows how many times smaller a model is. A bird stays healthy while its model keeps at least 95% of the reference's score, and turns to bones at 60% or less.

These are the lab's recorded results, so they aren't added to anyone's life list. Birds you hatch yourself, in the Coop or from a Field Guide run, are saved to your life list.