COE 592Lecture 4.1Part 06
Second-order, activation and regression criteria
Optimal Brain Damage's Taylor-expansion importance 1/2 h_ii w_i^2, neuron pruning as coarse-grained weight pruning, APoZ activation-sparsity scoring, and regression-based channel pruning that minimizes layer output reconstruction error.
- Concepts
- 6
- Slides
- 34-43
- Reading
- 36 min
Why this part matters
Part 05 ranked weights by their absolute value and nothing else. That rule cannot tell a small weight sitting in a steep valley of the loss from a small weight resting on a flat plain, and only one of those two is safe to delete. This part gives you three criteria that look past the weight value to what actually happens when the weight is gone.
The first reads the curvature of the loss: Optimal Brain Damage from 1989, the root of the SparseGPT-style methods that prune large language models today. The second reads the activations: APoZ, the cheapest data-driven structured criterion you can run before deploying on an embedded board. The third reads the layer output itself: regression-based channel pruning, the basis of the pipelines used to shrink networks for edge accelerators. All three are standard exam derivations, and the reasoning behind them is what you will reuse when your research project has to justify a pruning choice.
By the end you can
- Derive the OBD importance 1/2 h_ii w_i^2 from the Taylor expansion and name the assumption that removes each term.
- Explain why magnitude pruning is OBD with a constant Hessian diagonal, and show a case where the two rankings disagree.
- Compute APoZ for a channel from its activation maps and decide which channel to prune.
- State the regression-based channel pruning objective, its L0 constraint and the two alternating LASSO and least-squares steps.
- Place each criterion in the reference list and say what data it needs.
Start with a trained network and its loss L(x; W). Setting one weight to zero moves the parameter vector from W to W_P = W + δW, where δW is zero everywhere except at the pruned position, where δw_i = -w_i. The question every criterion in this part is trying to answer is simple: how much does the loss move? You could answer it exactly by re-evaluating the loss after each candidate deletion, but LeCun, Denker and Solla call that approach prohibitively laborious, and for a network with thousands of weights it is. Second-order pruning builds a local model of the loss instead.
One weight before the general case. A weight sits at w = 0.5 in a valley of the loss surface given by L(w) = 1 + 2(w - 0.5)². Setting it to zero walks back to w = 0 and raises the loss from 1 to 1.5, and that rise is exactly ½ h w² with curvature h = 4: the gradient at the bottom of the valley is zero, so the first-order term contributes nothing and the curvature term contributes everything. Now scale the picture up to a whole parameter vector. The local model is a Taylor expansion of the loss around the trained point. Perturbing the weights by δW changes the loss by a first-order slope term, a second-order curvature term, and a remainder that shrinks as the cube of the perturbation.
Read the four pieces one at a time. The first sum is the slope: how fast the loss rises if you nudge each weight on its own. The second sum is the self-curvature: how quickly that slope itself changes along each weight's own axis, weighted by the square of the nudge. The third sum is the cross-curvature: whether moving weight i also tilts the loss along weight j. The last piece is everything the quadratic picture misses. The Hessian is the matrix that holds the second and third pieces together: its diagonal h_ii feeds the self-curvature sum and its off-diagonal h_ij feeds the cross terms.
Goodfellow, Bengio and Courville define the Hessian exactly this way, as the matrix with entries ∂²f/(∂x_i ∂x_j), and note that it is symmetric wherever the second partials are continuous. The cross sum runs over ordered pairs i ≠ j, so each unordered pair appears twice, once as (i, j) and once as (j, i); the one half in front is the second-order Taylor coefficient from ½ δWᵀ H δW, not a symmetry correction. Because H is symmetric the same term can be written without the one half as Σ_{i < j} h_ij δw_i δw_j. They also use this same second-order expansion to derive Newton's method, so the expression on the slide is not a pruning trick: it is the standard local model of any smooth function.
How big the Hessian is for the OBD zip-code network (LeCun et al., 1989, p. 600)
- Parameters
- about 2600 (2578 free parameters)
- Full Hessian entries
- about 6.5 × 10⁶, the figure the paper quotes
- Diagonal entries
- about 2600, one per parameter
The table is the reason the rest of this part exists. Even a 1989 network with about 2600parameters has millions of Hessian entries, and a modern network with 10⁸ weights would have 10¹⁶. Nobody computes that matrix. The whole art of second-order pruning is deciding which of its entries you can afford to ignore.
Recall
Write the second-order Taylor expansion of the loss change and name what each of its four pieces measures.
Four terms is three too many. Optimal Brain Damage keeps the expansion usable by making three assumptions, and each one erases exactly one piece of the sum. The paper gives them names, the slide gives them plain-language bullets, and you should be able to match the two lists and say which term each one kills.
| OBD name | Slide wording | Term removed | Why it is allowed |
|---|---|---|---|
| Quadratic | L is nearly quadratic | O(||δW||³) | Near the minimum the loss surface is well described by its curvature alone, so the cubic remainder is negligible. |
| Extremal | Training has converged | Σ gᵢ δwᵢ | At a local minimum every partial derivative is zero, so the whole first-order sum vanishes and every hᵢᵢ is non-negative. |
| Diagonal | Deletion errors are independent | ½ Σᵢ≠ⱼ hᵢⱼ δwᵢ δwⱼ | The cost of deleting several weights is taken as the sum of their individual costs, which is exactly what dropping the off-diagonal terms means. |
The extremal assumption does double duty. Because training stopped at a local minimum, the gradient is zero and the first sum disappears, but LeCun, Denker and Solla also point out that at a local minimum all the h_ii are non-negative, so any perturbation of the parameters will cause the loss to increase or stay the same. That single sentence is the source of the footnote on slide 36 that h_ii is non-negative, and it is what lets the surviving term serve as a cost rather than a signed change.
What survives is the diagonal curvature term alone. Deleting weight i means setting it to zero and, in the paper's words, freezing it there, so the step along that axis has the size of the weight itself, |δw_i| = |w_i|. The squared terms of the expansion do not care about the sign of δw_i, so substitute and you have the OBD estimate of the loss increase.
The paper calls this quantity the saliency of a parameter, s_k = h_kk w_k² / 2 (the paper writes its parameter as u_k, the same variable as the w_k used on the slide and here), and the recipe is to delete the parameters with the lowest saliency. Notice what the formula says about a weight's importance: it is the product of two things, how large the weight is and how sharply the loss curves along that weight's axis. Magnitude pruning from part 05 kept only the first factor.
Magnitude pruning is OBD with the curvature assumed constant
Suppose every h_ii were the same number h. Then importance would be (h/2) w_i², and ranking weights by that value is exactly ranking them by |w_i|, since squaring and scaling by a positive constant preserve the order. So Magnitude-based pruning is OBD under a fourth, hidden assumption: that the loss curves equally steeply along every weight. The 1989 paper states its goal as moving beyond the approximation that magnitude equals saliency, and the point of a second-order criterion is to drop that assumption. The table below is a small case where doing so changes the answer.
| Weight | wᵢ | hᵢᵢ | |wᵢ| | ½ hᵢᵢ wᵢ² | Magnitude | OBD |
|---|---|---|---|---|---|---|
| A | 1.5 | 0.2 | 1.5 | 0.225 | keep | prune |
| B | 1.0 | 1.0 | 1.0 | 0.5 | keep | keep |
| C | -0.6 | 4.0 | 0.6 | 0.72 | keep | keep |
| D | 0.5 | 8.0 | 0.5 | 1.0 | prune | keep |
| E | 0.2 | 2.0 | 0.2 | 0.04 | prune | prune |
Worked example
Five weights, two rankings, prune two
Square each weight
1.5² = 2.25, 1.0² = 1.0, (-0.6)² = 0.36, 0.5² = 0.25, 0.2² = 0.04. The sign of C disappears, as it does in |w|.Multiply by the curvature and halve
A: ½ × 0.2 × 2.25 = 0.225, B: ½ × 1.0 × 1.0 = 0.5, C: ½ × 4.0 × 0.36 = 0.72, D: ½ × 8.0 × 0.25 = 1.0, E: ½ × 2.0 × 0.04 = 0.04.Rank by each criterion, lowest first
Magnitude: E, D, C, B, A. Saliency: E, A, B, C, D.Pruning two weights
Both criteria delete E. Magnitude then deletes D, the weight OBD rates as the most important of all five. OBD deletes A instead, the largest weight in the set, because it sits on almost flat ground.
| Weight | w_i | h_ii | |w_i| | ½ h_ii w_i² | mag rank | magnitude | obd rank | obd |
|---|---|---|---|---|---|---|---|---|
| A | 1.5 | 0.225 | 5 | keep | 2 | prune | ||
| B | 1 | 0.5 | 4 | keep | 3 | keep | ||
| C | 0.6 | 0.72 | 3 | keep | 4 | keep | ||
| D | 0.5 | 1 | 2 | prune | 5 | keep | ||
| E | 0.2 | 0.04 | 1 | prune | 1 | prune |
Set every h_ii in the table to the same value and watch the two decision columns fall into line. Then give a small weight a large curvature and watch them split again. That is the entire relationship between the two criteria in one gesture.
Why the slide says the Hessian is difficult
The full Hessian has n² entries, and the previous concept showed that this is out of reach even for a small network. OBD never computes it. The diagonal approximation means only the n entries h_ii are needed, and the paper derives a second back-propagation pass that computes them with, in its words, the same order of complexity as computing the gradient. Along the way it drops the terms involving the second derivative of the activation function, a Levenberg-Marquardt style approximation that gives guaranteed positive estimates of the second derivative. So the difficulty the slide flags is real for the full matrix and for networks with 10⁸ parameters, where even a diagonal pass over the whole training set is expensive, but it is not a reason OBD itself was impractical. Optimal Brain Surgeon (Hassibi and Stork, 1993) kept the cross terms by using the inverse of the full Hessian. SparseGPT (2023) makes second-order pruning practical at scale by solving layer-wise reconstruction problems with block-wise Hessian updates, which the final concept points to.
The recipe and what it achieved
The abstract on the slide states the motivation the formula serves. Deleting unimportant weights is a trade-off between network complexity and training-set error, and the paper expects better generalization, fewer training examples required and faster learning and classification from it. That is why the recipe below is framed as model selection, not only compression.
- Choose a reasonable network architecture.
- Train the network until reasonable convergence.
- Compute the second derivatives h_kk for each parameter.
- Compute the saliencies s_k = h_kk w_k² / 2.
- Sort the parameters by saliency and delete some low-saliency parameters.
- Return to step 2.
The loop back to training is the Iterative pruning and Fine-tuning pattern from part 02, thirty years earlier. The 1989 experiment applied it to a handwritten zip-code recognizer.
Optimal Brain Damage results (LeCun, Denker and Solla, 1989)
- Setup
- about 10⁵ connections controlled by 2578 free parameters, trained on roughly 9300 digits and tested on 3350
- Prediction quality
- The quadratic, extremal, diagonal estimate tracks the measured loss up to about 800 deleted parameters, roughly 30%; beyond that the cross terms and higher-order terms the approximation dropped start to matter
- After retraining
- Up to 1500 parameters, about 60%, deleted with almost unchanged training and test error
- Versus magnitude
- Deleting in order of saliency causes a significantly smaller increase of the objective than deleting by magnitude (figure 1a)
- Versus random
- Random deletion was so much worse it could not be plotted on the same scale
- Venue
- Advances in Neural Information Processing Systems 2 (NIPS 1989), AT&T Bell Laboratories, Holmdel NJ
Quick check
Under OBD, which assumption removes the first-order gradient term from the Taylor expansion?
Quick check
Weight A has w = 1.0 and h = 1; weight B has w = 0.5 and h = 8. Which does OBD keep first?
Recall
Why is magnitude pruning a special case of OBD?
Everything so far scored individual synapses. Take a linear layer with 5 inputs and 4 outputs, so its weight matrix has shape [4, 5]. Deleting the second output neuron does not zero one entry; it removes the entire row W[1, :], all 5 incoming weights at once, along with the edges drawn into that neuron on the slide, which is why the lower layer shows three circles with a gap where the fourth stood. The matrix becomes [3, 5], a smaller dense matrix, which is the reason Coarse-grained (structured) pruning gives real speedup without any sparse format.
That is the whole content of the sentence on the slide: Neuron pruning is coarse-grained weight pruning. In a convolution layer with weights of shape [c_o, c_i, k_h, k_w] (recall Convolution weight dimensions), deleting output channel o deletes W[o, :, :, :], one full row of c_i kernels in the slide's grid, where rows 3 and 5 of six filters are blanked out. It also deletes the corresponding map from the layer's output, and therefore the input channel o of every filter in the next layer, a point He et al. make explicitly in their figure. Channel pruning cuts twice.
| Unit removed | Slice deleted | Weights deleted | Shape after |
|---|---|---|---|
| Output neuron of a linear layer | W[o, :] | One row: all incoming weights of that neuron | [c_o - 1, c_i] |
| Output channel (filter) of a conv layer | W[o, :, :, :] | c_i kernels of k_h × k_w each | [c_o - 1, c_i, k_h, k_w] |
| Input channel of the next conv layer | W[:, o, :, :] | c_o kernels, one per filter, that read the removed map | [c_o, c_i - 1, k_h, k_w] |
The rule on the slide is then almost a tautology: the less useful the removed neurons are, the better the pruned network performs. The work is in defining useful. The Pruning criterion question has simply moved up one level of granularity, and part 05 already gave one answer, the L1 or L2 norm of the row or filter. The next two concepts give two answers that need no Hessian and no norm: look at the activations the neuron produces, or look at how well the layer output can be rebuilt without it.
Recall
A linear layer has weight shape [8, 16]. You prune three output neurons. How many weights disappear and what is the new shape?
ReLU outputs zero for every negative pre-activation. A channel whose output map is mostly zero, image after image, contributes almost nothing to the layer that follows, whatever its weights look like. Hu, Peng, Tai and Tang turned that observation into a criterion. On VGG-16 they found 631 neurons whose activations were zero more than 90% of the time on ImageNet validation images, and they found that the mean fraction of zeros is far higher in the deeper convolutional layers and the fully connected layers than in the early layers, so most of the redundancy sits at the top of the network.
| Layer | Mean APoZ |
|---|---|
| CONV1-1 | 47.07% |
| CONV3-3 | 69.93% |
| CONV4-3 | 87.30% |
| CONV5-3 | 93.19% |
| FC6 | 75.26% |
| FC7 | 74.14% |
The score is the APoZ. For channel c of a layer, run N validation images through the network, look at every position of the H × W output map for every image, and count how often the value is exactly zero. Divide by the number of positions you looked at.
The slide writes the same thing as zeros divided by batch times height times width. Its example uses a batch of 2, three channels and 4 × 4 maps, so every channel is judged over 2 × 4 × 4 = 32 positions. Count the bold zeros in each grid and the numbers on the slide come out exactly.
Worked example
APoZ for the three channels on the slide
Count zeros per channel in batch 1
Channel 0: 5. Channel 1: 5. Channel 2: 6.Count zeros per channel in batch 2
Channel 0: 6. Channel 1: 7. Channel 2: 8.Divide the totals by 2 x 4 x 4 = 32
Channel 0: 11/32 = 0.344. Channel 1: 12/32 = 0.375. Channel 2: 14/32 = 0.438.Channel 2 is pruned
Smaller APoZ means a more important channel. Channel 2 is silent most often, so it is the one crossed out on the slide; channels 0 and 1 are kept.
Zero counts verified against the slide grids
- Channel 0
- 5 + 6 = 11 zeros, APoZ 11/32 = 34.4%
- Channel 1
- 5 + 7 = 12 zeros, APoZ 12/32 = 37.5%
- Channel 2
- 6 + 8 = 14 zeros, APoZ 14/32 = 43.8%
- Denominator
- batch 2 × height 4 × width 4 = 32
Each grid is one 4 × 4 output map after ReLU. A zero cell is a position where the pre-activation was negative. Switch batches to edit the other 16 positions of the same channel.
| Channel | zeros b1 | zeros b2 | total | APoZ | bar | decision |
|---|---|---|---|---|---|---|
| Channel 0 | 5 | 6 | 11/32 | 34.4% | keep | |
| Channel 1 | 5 | 7 | 12/32 | 37.5% | keep | |
| Channel 2 | 6 | 8 | 14/32 | 43.8% | prune |
APoZ_c = (z_c,1 + z_c,2) / (2 × 4 × 4)
Direction is the only thing people get wrong here, so state it in words: importance falls as APoZ rises. The paper's operating rule, the procedure it names Network Trimming, is to trim the neurons whose APoZ is more than one standard deviation above the layer's mean, which under a Gaussian assumption on APoZ values rejects about 16% of the neurons in a trimmed layer on average. Trimming is iterative: prune a few high-APoZ layers, retrain with the surviving weights initialized from the pre-trim network rather than from scratch, and repeat. The authors show that training the trimmed architecture from scratch leaves more zero-activation neurons than initializing from the trimmed weights does, so the initialization matters.
Network Trimming results (Hu et al., 2016)
- LeNet on MNIST
- 20-50-500-10 trimmed to 20-24-252-10, 3.85× fewer parameters, accuracy 99.31% to 99.26%
- VGG-16, trim CONV5-3 and FC6
- Top-5 85.900% before retraining, 90.278% after, above the original 88.444%
- VGG-16, trim CONV4, CONV5, FC6, FC7 at once
- Top-5 falls to 46.650% before retraining, the reason trimming is done a few layers at a time
- Validation set
- ImageNet, N = 50,000 images per APoZ measurement
| Criterion | Reads | Cost | Granularity | Score |
|---|---|---|---|---|
| Magnitude (part 05) | Weight values only | None, read the tensor | Any | |w|, Lp norm of a structural set |
| OBD | Weights and hᵢᵢ from a second backward pass | About one gradient computation | Weight | ½ hᵢᵢ wᵢ² |
| APoZ | ReLU outputs on a validation set | One forward pass over N images | Neuron or channel | Fraction of zero activations |
| Regression | Sampled layer inputs and outputs | LASSO plus least squares per layer | Input channel | Reconstruction error of Z |
The comparison shows a split that matters for your project. Magnitude and OBD are read off the weights and their derivatives. APoZ and the regression criterion of the next concept are data-driven: they need a forward pass over real inputs, so they capture what the network does on your data rather than what its parameters look like, at the price of needing that data available at pruning time.
Quick check
Over a batch of 2 with 4 x 4 maps, channel 2 has 14 zeros and channel 0 has 11. Which is pruned under APoZ?
Recall
What is the Network Trimming operating threshold, what fraction of a layer's neurons does it remove on average, and why does retraining start from the pre-trim weights?
OBD asked what pruning does to the loss. APoZ looked at what a channel emits. He, Zhang and Sun ask a third question that is easier to answer than the first and more precise than the second: after you remove some input channels of a layer, how well can the survivors reproduce the layer's original output? Take one conv layer and sample b positions from real images (the paper used 5000 images with 10 samples each). Unroll each receptive field into a row of a matrix X of shape b × c_i in the slide's simplified picture. The layer's output at those positions is a matrix multiply.
The second equality is the whole idea. A matrix product can be split by the shared dimension: column c of X times row c of W^T is one b × c_o outer product, and Z is the sum of c_i of them, one per input channel. Removing input channel c means removing exactly one term of that sum. Regression-based pruning attaches a switch β_c to each term and asks which switches can be turned off while keeping the sum close to the original.
Name every symbol. β is the Channel selection coefficient, a vector of length c_i; β_c = 0 prunes input channel c. N_c is the number of channels allowed to survive, so the L0 norm constraint counts nonzero switches, the same kind of constraint as the pruning formulation of part 01. The objective is the Reconstruction error: the Frobenius norm is the square root of the sum of all squared entries, so its square is just the elementwise squared error summed over the whole b × c_o output. Nothing about the network loss, the labels or the layers downstream appears anywhere.
The figure on the slide shows why the input side is the one that shrinks. X_P loses a column and W_P^T loses the row that multiplied it; the two disappear as a pair, because they were only ever used together. The output Ẑ still has b rows and c_o columns. The next layer sees an input of the same shape as before, only slightly perturbed, which is what lets the paper prune a very deep network layer by layer and account for the accumulated error by always regressing toward the un-pruned model's output.
Solving it: alternate between selecting and rebuilding
The L0 constraint makes the problem NP-hard, so the paper relaxes it to an L1 penalty, adding λ ||β||₁ to the objective. That turns channel selection into LASSO regression, whose solutions are naturally sparse: as λ grows, more β_c are driven exactly to zero. With two unknowns, β and W, the paper alternates.
| Step | Fixed | Solved | Solver | Output |
|---|---|---|---|---|
| 1 | W | β | LASSO (L1-relaxed selection) | Which input channels survive |
| 2 | β | W | Least squares (closed form) | Weights that best rebuild Z from the survivors |
With W fixed, Ẑ is linear in β, so the objective is an ordinary least-squares fit in β and the added L1 penalty makes it a LASSO problem that picks the channels. With β fixed, the survivors' weights are re-fitted by ordinary least squares so that they rebuild Z as well as possible, in closed form. A constraint ||W_c||_F = 1 on each channel's weights stops the trivial solution of shrinking β while inflating W. In practice the authors run the selection step repeatedly, raising λ until ||β||₀ drops to the target, and then run the reconstruction step once.
Channel pruning results (He, Zhang and Sun, ICCV 2017)
- VGG-16
- 4× speedup with 1.0% increase in top-5 error; 5× with tensor factorization at 0.3%
- ResNet-50 and Xception-50
- 2× speedup at 1.4% and 1.0% extra top-5 error
- Fine-tuning
- 10 epochs, batch 128, learning rate 10⁻⁵
- Samples for regression
- 5000 images × 10 positions each
Quick check
In regression-based channel pruning, what does setting beta_c = 0 do?
Recall
State the regression-based pruning objective and its two alternating steps.
The reference list at the end of the deck is a map of where every Pruning criterion in parts 05 and 06 came from, and of what comes next. Reading it as a family tree makes the lecture easier to hold in memory than reading it as nineteen unrelated titles.
| Criterion | What it reads | Ref | Paper | Where taught |
|---|---|---|---|---|
| Magnitude | Weight values | 4 | Han et al., NeurIPS 2015 | Part 05 |
| Scaling factor | Trainable γ per channel | 11 | Liu et al., Network Slimming, ICCV 2017 | Part 05 |
| Second order | Loss curvature hᵢᵢ | 3 | LeCun, Denker, Solla, NeurIPS 1989 | This part |
| Second order, modern | Hessian of a layer-wise reconstruction | 18 | Frantar and Alistarh, SparseGPT, 2023 | Pointer |
| Activation | Zero fraction after ReLU | 14 | Hu et al., Network Trimming, 2016 | This part |
| Regression | Layer output reconstruction | 16 | He, Zhang, Sun, ICCV 2017 | This part |
| Next-layer statistics | Next layer's reconstruction | 17 | Luo, Wu, Lin, ThiNet, ICCV 2017 | Pointer |
| First-order Taylor | Gradient times value on mini-batches | 15, 13 | Molchanov et al., ICLR 2017 and CVPR 2019 | Pointer |
Three of the pointers deserve a sentence each. SparseGPT is the modern descendant of Second-order pruning: it prunes GPT-scale models with 175 billion parameters in one shot to 50 to 60% unstructured sparsity with little loss in perplexity, using Hessian information of a layer-wise reconstruction problem very much like the one in the previous concept. ThiNet selects filters using statistics from the next layer rather than the current one, a cousin of Regression-based pruning. Molchanov's first-order Taylor criterion scores units by gradient times value on mini-batches. It is the same expansion as OBD with the gradient term kept and the Hessian dropped.
Recall
Given the criterion, name the paper and what it reads: magnitude, OBD, APoZ, regression.
Recall
Which of the criteria in this part need data pushed through the network, and which read only the parameters?
Recap
If you remember nothing else
- Pruning is a perturbation delta W. Its loss cost is approximated by a second-order Taylor expansion with a gradient term, a diagonal Hessian term, cross terms and a cubic remainder.
- OBD keeps only 1/2 h_ii w_i^2: the quadratic assumption removes the remainder, convergence removes the gradient term, independent deletions remove the cross terms; h_ii is non-negative at a minimum.
- Magnitude pruning is OBD with every h_ii equal. The full Hessian has n^2 entries; OBD computes only the diagonal by a second back-propagation pass.
- Removing a neuron deletes a row of a linear weight matrix; removing a conv channel deletes a whole filter. Neuron pruning is coarse-grained weight pruning.
- APoZ = zeros / (batch x H x W). The slide's channels score 11/32, 12/32 and 14/32 and the largest, channel 2, is pruned. Smaller APoZ means more important.
- Regression-based pruning minimizes ||Z - sum_c beta_c X_c W_c^T||_F^2 subject to ||beta||_0 <= N_c, alternating LASSO channel selection and least-squares reconstruction. VGG-16 reached 4x speedup at 1.0 percent extra top-5 error.
- Slide errata: the h_ii denominator on slide 36, the sign convention on slide 34, Network Trimming is 2016 not 2017, and the 'more importance' typo on slide 40.
Sources
- Optimal Brain DamagePaperAdvances in Neural Information Processing Systems 2 (NIPS 1989), LeCun, Denker and SollaTaylor expansion (eq. 1 to 3), non-negative h_ii at a minimum, 6.5 million Hessian entries, Levenberg-Marquardt estimate, recipe and saliency, zip-code experiments.(opens in a new tab)
- Network Trimming: A Data-Driven Neuron Pruning Approach towards Efficient Deep ArchitecturesPaperarXiv 1607.03250, Hu, Peng, Tai and Tang, 2016APoZ definition (eq. 1), mean APoZ per layer (Table 1), 631 neurons above 90 percent, mean plus one standard deviation threshold, LeNet and VGG-16 results.(opens in a new tab)
- Channel Pruning for Accelerating Very Deep Neural NetworksPaperICCV 2017, He, Zhang and Sun (arXiv 1707.06168)Objective (eq. 1 to 4), NP-hardness and L1 relaxation, unit Frobenius norm constraint, alternating LASSO and least squares, 5000 images times 10 samples, VGG-16 and ResNet-50 results.(opens in a new tab)
- Deep Learning, chapter 4: Numerical ComputationBookMIT Press, Goodfellow, Bengio and Courville, 2016Hessian definition (eq. 4.6), symmetry (eq. 4.7), second-order Taylor expansion used for Newton's method (eq. 4.11).(opens in a new tab)
- Learning both Weights and Connections for Efficient Neural NetworksPaperNIPS 2015, Han, Pool, Tran and DallyMagnitude criterion baseline referenced as item 4 on slide 43.(opens in a new tab)
- Pruning Convolutional Neural Networks for Resource Efficient InferencePaperICLR 2017, Molchanov, Tyree, Karras, Aila and KautzFirst-order Taylor criterion, pointer only.(opens in a new tab)
- ThiNet: A Filter Level Pruning Method for Deep Neural Network CompressionPaperICCV 2017, Luo, Wu and LinFilter selection using statistics of the next layer, pointer only.(opens in a new tab)
- SparseGPT: Massive Language Models Can Be Accurately Pruned in One-ShotPaperarXiv 2301.00774, Frantar and Alistarh, 2023One-shot pruning of 175B-parameter models to 50 to 60 percent sparsity, the modern descendant of second-order pruning.(opens in a new tab)
- MIT 6.5940 TinyML and Efficient Deep Learning Computing, Fall 2024, Lecture 3: Pruning and Sparsity (Part I)DocsMIT HAN Lab, Song HanThe course deck these slides follow, listed as reference 19.(opens in a new tab)