# BWCP: PROBABILISTIC LEARNING-TO-PRUNE CHAN## NELS FOR CONVNETS VIA BATCH WHITENING **Anonymous authors** Paper under double-blind review ABSTRACT This work presents a probabilistic channel pruning method to accelerate Convolutional Neural Networks (CNNs). Previous pruning methods often zero out unimportant channels in training in a deterministic manner, which reduces CNN’s learning capacity and results in suboptimal performance. To address this problem, we develop a probability-based pruning algorithm, called batch whitening channel pruning (BWCP), which can stochastically discard unimportant channels by modeling the probability of a channel being activated. BWCP has several merits. (1) It simultaneously trains and prunes CNNs from scratch in a probabilistic way, exploring larger network space than deterministic methods. (2) BWCP is empowered by the proposed batch whitening tool, which is able to empirically and theoretically increase the activation probability of useful channels while keeping unimportant channels unchanged without adding any extra parameters and computational cost in inference. (3) Extensive experiments on CIFAR-10, CIFAR-100, and ImageNet with various network architectures show that BWCP outperforms its counterparts by achieving better accuracy given limited computational budgets. For example, ResNet50 pruned by BWCP has only 0.58% Top-1 accuracy drop on ImageNet, while reducing 42.9% FLOPs of the plain ResNet50. 1 INTRODUCTION Deep convolutional neural networks (CNNs) have achieved superior performance in a variety of computer vision tasks such as image recognition (He et al., 2016), object detection (Ren et al., 2017), and semantic segmentation (Chen et al., 2018). However, despite their great success, deep CNN models often have massive demand on storage, memory bandwidth, and computational power (Han & Dally, 2018), making them difficult to be plugged onto resource-limited platforms, such as portable and mobile devices (Deng et al., 2020). Therefore, proposing efficient and effective model compression methods has become a hot research topic in the deep learning community. Model pruning, as one of the vital model compression techniques, has been extensively investigated. It reduces model size and computational cost by removing unnecessary or unimportant weights or channels in a CNN (Han et al., 2016). For example, many recent works (Wen et al., 2016; Guo et al., 2016) prune fine-grained weights of filters. Han et al. (2015) proposes to discard the weights that have magnitude less than a predefined threshold. Guo et al. (2016) further utilizes a sparse mask on a weight basis to achieve pruning. Although these unstructured pruning methods achieve optimal pruning schedule, they do not take the structure of CNNs into account, preventing them from being accelerated on hardware such as GPU for parallel computations (Liu et al., 2018). To achieve efficient model storage and computations, we focus on structured channel pruning (Wen et al., 2016; Yang et al., 2019a; Liu et al., 2017), which removes entire structures in a CNN such as filter or channel. A typical structured channel pruning approach commonly contains three stages, including pre-training a full model, pruning unimportant channels by the predefined criteria such as _ℓp norm, and fine-tuning the pruned model (Liu et al., 2017; Luo et al., 2017), as shown in Fig.1 (a)._ However, it is usually hard to find a global pruning threshold to select unimportant channels, because the norm deviation between channels is often too small (He et al., 2019). More importantly, as some channels are permanently zeroed out in the pruning stage, such a multi-stage procedure usually not only relies on hand-crafted heuristics but also limits the learning capacity (He et al., 2018a; 2019). ----- |0.9|1.3|Col3| |---|---|---| |0.3 0.2||| |Col1|Col2|Col3| |---|---|---| |||| |Col1|Col2|Col3| |---|---|---| |||| |Col1|Col2|Col3| |---|---|---| |||| **Channels** **0-1 Masks** **Channels** **Channels** **1.3** **Norm** **Large** **0.9** **Threshold** **Prune** **Fine-tune** **0.3** **Medium** **0.2** **0.1** **Small** **(a) Norm-based method** **Channels** **Soft Masks** **Soft Masks** **Channels** **0.9** **1.3** **Probability** **0.73** **0.8** **BatchWhitening** **0.80** **0.95** **Prune** **Probability** **Large** **0.3** **0.42** **0.46** **Medium** **0.2** **0.12** **0.15** **0.1** **0.03** **0.03** **Small** **(b) Our proposed BWCP** Figure 1: Illustration of our proposed BWCP. (a) Previous channel pruning methods utilize a hard criterion such as the norm (Liu et al., 2017) of channels to deterministically remove unimportant channels, which deteriorates performance and needs a extra fine-tuning process(Frankle & Carbin, **b) Our proposed BWCP is a probability-based pruning framework where unimportant** channels are stochastically pruned with activation probability, thus maintaining the learning capacity of original CNNs. In particular, our proposed batch whitening (BW) tool can increase the activation probability of useful channels while keeping the activation probability of unimportant channels unchanged, enabling BWCP to identify unimportant channels reliably. To tackle the above issues, we propose a simple but effective probability-based channel pruning framework, named batch-whitening channel pruning (BWCP), where unimportant channels are pruned in a stochastic manner, thus preserving the channel space of CNNs in training (i.e. the diversity of CNN architectures is preserved). To be specific, as shown in Fig.1 (b), we assign each channel with an activation probability (i.e. the probability of a channel being activated), by exploring the properties of the batch normalization layer (Ioffe & Szegedy, 2015; Arpit et al., 2016). A larger activation probability indicates that the corresponding channel is more likely to be preserved. We also introduce a capable tool, termed batch whitening (BW), which can increase the activation probability of useful channels, while keeping the unnecessary channels unchanged. By doing so, the deviation of the activation probability between channels is explicitly enlarged, enabling BWCP to identify unimportant channels during training easily. Such an appealing property is justified by theoretical analysis and experiments. Furthermore, we exploit activation probability adjusted by BW to generate a set of differentiable masks by a soft sampling procedure with Gumbel-Softmax technique, allowing us to train BWCP in an online “pruning-from-scratch” fashion stably. After training, we obtain the final compact model by directly discarding the channels with zero masks. The main contributions of this work are three-fold. (1) We propose a probability-based channel pruning framework BWCP, which explores a larger network space than deterministic methods. (2) BWCP can easily identify unimportant channels by adjusting their activation probabilities without adding any extra model parameters and computational cost in inference. (3) Extensive experiments on CIFAR-10, CIFAR-100 and ImageNet datasets with various network architectures show that BWCP can achieve better recognition performance given the comparable amount of resources compared to existing approaches. For example, BWCP can reduce 68.08% Flops by compressing 93.12% parameters of VGG-16 with merely accuracy drop and ResNet-50 pruned by BWCP has only 0.58% top-1 accuracy drop on ImageNet while reducing 42.9% FLOPs. 2 RELATED WORK **Weight Pruning. Early network pruning methods mainly remove the unimportant weights in the** network. For instance, Optimal Brain Damage (LeCun et al., 1990) measures the importance of weights by evaluating the impact of weight on the loss function and prunes less important ones. However, it is not applicable in modern network structure due to the heavy computation of the Hessian matrix. Recent work assesses the importance of the weights through the magnitude of the weights itself. Specifically, (Guo et al., 2016) prune the network by encouraging weights to become exactly zero. The computation involves weights with zero can be discarded. However, a major drawback of weight pruning techniques is that they do not take the structure of CNNs into account, thus failing to help scale pruned models on commodity hardware such as GPUs (Liu et al., 2018; Wen et al., 2016). **Channel Pruning. Channel pruning approaches directly prune feature maps or filters of CNNs,** making it easy for hardware-friendly implementation. For instance, relaxed ℓ0 regularization (Louizos ----- et al., 2017) and group regularizer (Yang et al., 2019a) impose channel-level sparsity, and filters with small value are selected to be pruned. Some recent work also propose to rank the importance of filters by different criteria including ℓ1 norm (Liu et al., 2017; Li et al., 2017), ℓ2 norm (Frankle & Carbin, 2018) and High Rank channels (Lin et al., 2020). For example, (Liu et al., 2017) explores the importance of filters through scale parameter γ in batch normalization. Although these approaches introduce minimum overhead to the training process, they are not trained in an end-to-end manner and usually either apply on a pre-trained model or require an extra fine-tuning procedure. Recent works tackle this issue by pruning CNNs from scratch. For example, FPGM (He et al., 2019) zeros in unimportant channels and continues training them after each training epoch. Furthermore, both SSS and DSA learn a differentiable binary mask that is generated by channel importance and does not require any additional fine-tuning. Our proposed BWCP is most related to variational pruning (Zhao et al., 2019) and SCP (Kang & Han, 2020) as they also employ the property of normalization layer and associate the importance of channel with probability. The main difference is that our method adopts the idea of whitening to perform channel pruning. We will show that the proposed batch whitening (BW) technique can adjusts the activation probability of different channels according to their importance, making it easy to identify unimportant channels. Although previous work SPP(Wang et al., 2017) and DynamicCP (Gao et al., 2018) also attempt to boost salient channels and skip unimportant ones, they fail to consider the natural property inside normalization layer and deign the activation probability empirically . 3 PRELIMINARY **Notation. We use regular letters, bold letters, and capital letters to denote scalars such as ‘x’, and** vectors (e.g.vector, matrix, and tensor) such as ‘x’ and random variables such as ‘X’, respectively. We begin with introducing a building layer in recent deep neural nets which typically consists of a convolution layer, a batch normalization (BN) layer, and a rectified linear unit (ReLU) (Ioffe & Szegedy, 2015; He et al., 2016). Formally, it can be written by **xc = wc ∗** **z,** **x˜c = γcx¯c + βc,** **yc = max{0, ˜xc}** (1) where c ∈ [C] denotes channel index and C is channel size. In Eqn.(1), ‘∗’ indicates convolution operation and wc is filter weight corresponding to the c-th output channel, i.e. xc ∈ R[N] _[×][H][×][W]_ . To perform normalization,E[·] and D[·] indicate calculating mean and variance over a batch of samples, and then is re-scaled to xc is firstly standardized to ¯xc through ¯xc = (xc − E[xc])/pD[xc] where **x˜c by scale parameter γc and bias βc. Moreover, the output feature yc is obtained by ReLU activation** that discards the negative part of ˜xc. **Criterion-based channel pruning. For channel pruning, previous methods usually employ a ‘small-** norm-less-important’ criterion to measure the importance of channels. For example, BN layer can be applied in channel pruning (Liu et al., 2017), where a channel with a small value of γc would be removed. The reason is that the c-th output channel ˜xc contributes little to the learned feature representation when γc is small. Hence, the convolution in Eqn.(1) can be discarded safely, and filter **wc can thus be pruned. Unlike these criterion-based methods that deterministically prune unimportant** filters and rely on a heuristic pruning procedure as shown in Fig.1(a), we explore a probability-based channel pruning framework where less important channels are pruned in a stochastic manner. **Activation probability. To this end, we define an activation probability of a channel by exploring the** property of the BN layer. Those channels with a larger activation probability could be preserved with a higher probability. To be specific, since ¯xc is acquired by subtracting the sample mean and being divided by the sample variance, we can treat each channel feature as a random variable following standard Normal distribution (Arpit et al., 2016), denoted as _X[¯]c. Note that only positive parts can_ be activated by ReLU function. Proposition 1 gives the activation probability of the c-th channel, _i.e. P_ ( X[˜]c) > 0. **Proposition 1 Let a random variable** _X[¯]c_ (0, 1) and Yc = max 0, γcX[¯]c + βc _. Then we have_ _∼N_ _{_ _x_ _}_ _(1) P_ (Yc > 0) = P ( X[˜]c > 0) = (1 + Erf(βc/(√2|γc|))/2 where Erf(x) = 0 [2][/][√][π][ ·][ exp][−][t][2] _[dt][,]_ _and (2) P_ ( X[˜]c > 0) = 0 _βc_ 0 and γc 0. _⇔_ _≤_ _→_ R Note that a pruned channel can be modelled by P ( X[˜]c > 0) = 0. With Proposition 1 (see proof in Appendix A.2), we know that the unnecessary channels satisfy that γc approaches 0 and βc is ----- **BN** **BW** **Cov.** **Newton** ഥ𝒙 ഥ𝒙 𝚺 **Iter.** 𝜷 𝜸 𝜷 𝜸 𝚺[−𝟏]𝟐 ෥𝒙 ෝ𝒙 **Soft Gating Module** 𝑷(ෝ𝒙> 𝟎) 𝐆 . **Act. Prob.** **Gumbel-Softmax** **Soft Mask** **ReLU** Figure 2: A schematic of the proposed Batch Whitening Channel Pruning (BWCP) algorithm that consists of a BW module and a soft sampling procedure. By modifying BN layer with a whitening operator, the proposed BW technique adjusts activation probabilities of different channels. These activation probabilities are then utilized by a soft sampling procedure. negative. To achieve channel pruning, previous compression techniques (Li et al., 2017; Zhao et al., 2019) merely impose a regularization on γc, which would deteriorate the representation power of unpruned channels (Perez et al., 2018; Wang et al., 2020). Instead, we adopt the idea of whitening to build a probabilistic channel pruning framework where unnecessary channels are stochastically disgarded with a small activation probability while important channels are preserved with a large activation probability. 4 BATCH WHITENING CHANNEL PRUNING This section introduces the proposed batch whitening channel pruning (BWCP) algorithm, which contains a batch whitening module that can adjust the activation probability of channels, and a soft sampling module that stochastically prunes channels with the activation probability adjusted by BW. The whole pipeline of BWCP is illustrated in Fig.2. By modifying the BN layer in Eqn.(1), we have the formulation of BWCP, **x[out]c** = **xˆc** _mc(P_ ( X[ˆ]c > 0)) (2) _⊙_ batch whitening soft sampling where x[out]c _, ˆxc_ R[N] _[×][H][×][W]_ denote the output of proposed BWCP algorithm and BW module,|{z} | {z } respectively. ‘ _∈’ denotes broadcast multiplication. mc_ [0, 1] denotes a soft sampling that takes the _⊙_ _∈_ activation probability of output features of BW (i.e. P ( X[ˆ]c > 0)) and returns a soft mask. The closer the activation probability is to 0 or 1, the more likely the mask is to be hard. To distinguish important channels from unimportant ones, BW is proposed to increase the activation probability of useful channels while keeping the probability of unimportant channels unchanged during training. Since Eqn.(2) always retain all channels in the network, our BWCP can preserve the learning capacity of the original network during training (He et al., 2018a). The following sections present BW and soft sampling module in detail. 4.1 BATCH WHITENING Unlike previous works (Zhao et al., 2019; Kang & Han, 2020) that simply measure the importance of channels by parameters in BN layer, we attempt to whiten features after BN layer by the proposed BW module. We show that BW can change the activation probability of channels according to their importances without adding additional parameters and computational overhead in inference. As shown in Fig.2, BW acts after the BN layer. By rewriting Eqn.(1) into a vector form, we have the formulation of BW, **xˆnij = Σ[−]** [1]2 (γ ⊙ **x¯nij + β)** (3) wherelocation ˆx (niji, j ∈) for all channels.R[C][×][1] is a vector of Σ[−] C2[1] is a whitening operator and elements that denote the output of BW for the Σ ∈ R[C][×][C] is the covariance matrix n-th sample at of channel features **x˜c** _c=1[. Moreover,][ γ][ ∈]_ [R][C][×][1][ and][ β][ ∈] [R][C][×][1][ are two vectors by stacking] _{_ _}[C]_ _γchannels ofc and βc of all the channels respectively. ¯xncij into a column vector._ ¯xnij ∈ R[C][×][1] is a vector by stacking elements from all **Training and inference. Note that BW in Eqn.(3) requires computing a root inverse of a covariance** matrix of channel features after the BN layer. Towards this end, we calculate the covariance matrix Σ within a batch of samples during each training step as given by ----- _N,H,W_ (γ **x¯nij)(γ** **x¯nij)[T]** = (γγ[T]) **_ρ_** (4) _⊙_ _⊙_ _⊙_ _n,i,j=1_ X **Σ =** _NHW_ where ρ is a C-by-C correlation matrix of channel features {x¯c}c[C]=1 [(see details in Appendix A.1).] The Newton Iteration is further employed to calculate its root inverse, Σ[−] 2[1], as given by the following iterations **Σk = [1]** _k_ 1[Σ][)][, k][ = 1][,][ 2][,][ · · ·][, T.] (5) 2 [(3][Σ][k][−][1][ −] **[Σ][3]−** where k and T are the iteration index and iteration number respectively and Σ0 = I is a identity matrix. Note that when ∥I − **Σ∥2 < 1, Eqn.(5) converges to Σ[−]** [1]2 (Bini et al., 2005). To satisfy this condition, Σ can be normalized by Σ/tr(Σ) following (Huang et al., 2019), where tr(·) is the trace operator. In this way, the normalized covariance matrix can be written as ΣN = γγ[T] _⊙_ **_ρ/ ∥γ∥2[2][.]_** During inference, we use the moving average to calculate the population estimate of **Σ[ˆ]** _−N_ [1]2 by following the updating rules, **Σ[ˆ]** _−N_ 2[1] = (1 − _g) Σ[ˆ]_ _−N_ 2[1] + gΣ−N 2[1] [. Here][ Σ][N][ is the covariance calculated] within each mini-batch at each training step, and g denotes the momentum of moving average. Note that **Σ[ˆ]** _−N_ [1]2 is fixed during inference, the proposed BW does not introduce extra costs in memory or computation since **Σ[ˆ]** _−N_ 2[1] can be viewed as a convolution kernel with size of 1, which can be absorbed into previous convolutional layer. For completeness, we also analyze the training overhead of BWCP in Appendix Sec.A.3 where we see BWCP introduces a little extra training overhead. 4.2 ANALYSIS OF BWCP In this section, we show that BWCP can easily identify unimportant channels by increasing the difference of activation between important and unimportant channels. **Proposition 2 Let a random variable** _X[¯] ∼N_ (0, 1) and Yc = max{0, [ Σ[ˆ] _−N_ [1]2 [(][γ][ ⊙] _X[¯] + β)]c}._ _Then we have P_ (Yc > δ) = P ( X[ˆ]c > δ) = (1 + Erf((β[ˆ]c − _δ)/(√2|γˆc|))/2, where δ is a small_ _positive constant, ˆγc and_ _β[ˆ]c are two equivalent scale parameter and bias defined by BW module._ _Take T = 1 in Eqn.(5) as an example, we have ˆγc =_ [1]2 [(3][γ][c][ −] [P]d[C]=1 _[γ]d[2][γ][c][ρ][dc][/][ ∥][γ][∥][2]2[)][, and][ ˆ]βc =_ 1 2 [(3][β][c][ −] [P]d[C]=1 _[β][d][γ][d][γ][c][ρ][dc][/][ ∥][γ][∥]2[2][)][ where][ ρ][dc][ is the Pearson’s correlation between channel features]_ **x¯c and ¯xd.** By Proposition .2, BWCP can adjust activation probability by changing the values of γc and βc in Proposition 1 through BW module (see detail in Appendix A.4). Here we introduce a small positive constant δ to avoid the small activation feature value. To see how BW changes the activation probability of different channels, we consider two cases as shown in Proposition 3. with a small activation probability as it sufficiently approaches zero. We can see from PropositionCase 1: βc ≤ 0 and γc → 0. In this case, the c-th channel of the BN layer would be activated 3, the activation probability of c-th channel still approaches zero after BW is applied, showing that the proposed BW module can keep the unimportant channels unchanged in this case. Case 2: _γc_ _> 0. For this case, the c-th channel of the BN layer would be activated with a high activation_ _|_ _|_ probability. From Proposition 3, the activation probability of c-th channel is enlarged after BW is applied. Therefore, our proposed BW module can increase the activation probability of important channels. Detailed proof of Proposition 3 can be found in Appendix A.5. We also empirically verify Proposition 3 in Sec. 5.3. Notice that we neglect a trivial case in which the channel can be also activated (i.e. βc > 0 and |γc| → 0). In fact, the channels can be removed in this case because the channel feature is always constant which can be deemed as a bias. 4.3 SOFT SAMPLING MODULE The soft sampling procedure samples the output of BW through a set of differentiable masks. To be specific, as shown in Fig.2, we leverage the Gumbel-Softmax sampling (Jang et al., 2017) that takes the activation probability generated by BW and produces a soft mask as given by _mc = GumbelSoftmax(P_ ( X[ˆ]c > 0); τ ) (6) where τ is the temperature. By Eqn.(2) and Eqn.(6), BWCP stochastically prunes unimportant channels with activation probability. A smaller activation probability makes mc more likely to be ----- close to 0. Hence, our proposed BW can help identify less important channels by enlarging the activation probability of important channels, as mentioned in Sec.4.2. Note that mc can converge to 0-1 mask when τ approaches to 0. In the experiment, we find that setting τ = 0.5 is enough for BWCP to achieve hard pruning at test time. **Proposition 3 Let δ = ∥γ∥2** _Cj=1[(][γ][j][β][c][ −]_ _[γ][c][β][j][)][2][ρ]cj[2]_ _[/][(][∥][γ][∥][2]2_ _[−]_ [P]j[C]=1 _[γ]j[2][ρ][cj][)][. With][ ˆ]γ and_ _β[ˆ]_ _defined in Proposition 2, we have (1)qP P_ ( X[ˆ]c > δ) = 0 if _γc_ 0 and βc 0, and (2) P ( X[ˆ]c > δ) _|_ _| →_ _≤_ _≥_ _P_ ( X[˜]c _δ) if_ _γc_ _> 0._ _≥_ _|_ _|_ **Solution to residual issue. Note that the number of channels in the last convolution layer must** be the same as previous blocks due to the element-wise summation in the recent advanced CNN architectures (He et al., 2016; Huang et al., 2017). We solve this problem by letting BW layer in the last convolution layer and shortcut share the same mask as discussed in Appendix A.6. 4.4 TRAINING OF BWCP This section introduces a sparsity regularization, which makes the model compact, and then describes the training algorithm of BWCP. **Sparse Regularization. With Proposition.1, we see a main characteristic of pruned channels in BN** layer is that γc sufficiently approaches 0, and βc is negative. By Proposition 3, we find that it is also a necessary condition that a channel can be pruned after BW module is applied. Hence, we obtain unnecessary channels by directly imposing a regularization on γc and βc as given by _C_ sparse = (7) _L_ _c=1_ _[λ][1][|][γ][c][|][ +][ λ][2][β][c]_ where the first term makes γc small, and the second term encouragesX _βc to be negative. The_ above sparse regularizer is imposed on all BN layers of the network. By changing the strength of regularization (i.e. λ1 and λ2), we can achieve different pruning ratios. In fact, βc and |γc| represent the mean and standard deviation of a Normal distribution, respectively. Following the empirical rule of Normal distribution, setting λ1 as triple or double λ2 would be a good choice to encourage sparse channels in implementation. Moreover, we observe that 42.2% and 41.3% channels with βc 0 , while 0.47% and 5.36% channels with _γc_ _< 0.05 on trained plain ResNet-34 and ResNet-50. ≤_ _|_ _|_ Hence, changing the strength of regularization on γc will affect FLOPs more than that of βc. If one wants to pursue a more compact model, increasing λ1 is more effective than λ2. **Training Algorithm. BWCP can be easily plugged into a CNN by modifying the traditional BN** operations. Hence, the training of BWCP can be simply implemented in existing software platforms such as PyTorch and TensorFlow. In other words, the forward propagation of BWCP can be represented by Eqn.(2-3) and Eqn.(6), all of which define differentiable transformations. Therefore, our proposed BWCP can train and prune deep models in an end-to-end manner. Appendix A.7 also provides the explicit gradient back-propagation of BWCP. On the other hand, we do not introduce extra parameters to learn the pruning mask mc. Instead, mc in Eqn.(6) is totally determined by the parameters in BN layers including γ, β and Σ. Hence, we can perform joint training of pruning mask _mc and model parameters. The BWCP framework is provided in Algorithm 1 of Appendix Sec A.6_ **Final architecture. The final architecture is fixed at the end of training. During training, we use the** Gumbel-Softmax procedure by Eqn.(6) to produce a soft mask. At test time, we instead use a hard 0-1 mask achieved by a sign function (i.e. sign(P ( X[ˆ]c > 0) > 0.5)) to obtain the network’s output. To make the inference stage stable, we use a sigmoid-alike transformation to make the activation probability approach 0 or 1 in training. By this strategy, we find that both the training and inference stage are stable and obtain a fixed compact model. After training, we obtain the final compact model by directly pruning channels with a mask value of 0. Therefore, our proposed BWCP does not need an extra fine-tuning procedure. 5 EXPERIMENTS In this section, we extensively experiment with the proposed BWCP on CIFAR-10/100 and ImageNet. We show the advantages of BWCP in both recognition performance and FLOPs reduction comparing with existing channel pruning methods. We also provide an ablation study to analyze the proposed framework. The details of datasets and training configurations are provided in Appendix B. ----- Table 1: Performance comparison between our proposed approach BWCP and other methods on CIFAR-10. “Baseline Acc.” and “Acc.” denote the accuracies of the original and pruned models, respectively. “Acc. Drop” means the accuracy of the base model minus that of pruned models (smaller is better). “Channels ↓”, “Model Size ↓”, and “FLOPs ↓” denote the relative reductions in individual metrics compared to the unpruned networks (larger is better). ‘*’ indicates the method needs a extra fine-tuning to recover performance. The best-performing results are highlighted in bold. Model DCP* (Zhuang et al., 2018)Method Baseline Acc. (%)93.80 Acc. (%)93.49 Acc. Drop0.31 Channels- _↓_ (%) Model Size49.24 ↓ (%) FLOPs50.25 ↓ (%) AMC* (He et al., 2018b) 92.80 91.90 0.90 - - 50.00 ResNet-56 SFP (He et al., 2018a) 93.59 92.26 1.33 40 – **52.60** FPGM (He et al., 2019) 93.59 92.93 0.66 40 – **52.60** SCP (Kang & Han, 2020) 93.69 93.23 0.46 **45** **46.47** 51.20 BWCP (Ours) 93.64 93.37 **0.27** 40 44.42 50.35 Slimming* (Liu et al., 2017) 94.39 92.59 1.80 80 73.53 68.95 Variational Pruning (Zhao et al., 2019) 94.11 93.16 0.95 60 59.76 44.78 DenseNet-40 SCP (Kang & Han, 2020) 94.39 93.77 0.62 81 75.41 70.77 BWCP (Ours) 94.21 93.82 **0.39** **82** **76.03** **71.72** Slimming* (Liu et al., 2017) 93.85 92.91 0.94 70 87.97 48.12 Variational Pruning (Zhao et al., 2019) 93.25 93.18 0.07 62 73.34 39.10 VGGNet-16 SCP (Kang & Han, 2020) 93.85 93.79 0.06 75 93.05 66.23 BWCP (Ours) 93.85 93.82 **0.03** **76** **93.12** **68.08** DCP* (Zhuang et al., 2018) 94.47 94.69 -0.22 - 23.6 27.0 MobileNet-V2 MDP (Guo et al., 2020) 95.02 95.14 -0.12 - - 28.7 BWCP (Ours) 94.56 94.90 **-0.36** - **32.3** **37.7** 5.1 RESULTS ON CIFAR-10 For CIFAR-10 dataset, we evaluate our BWCP on ResNet-56, DenseNet-40 and VGG-16 and compare our approach with Slimming (Liu et al., 2017), Variational Pruning (Zhao et al., 2019) and SCP (Kang & Han, 2020). These methods prune redundant channels using BN layers like our algorithm. We also compare BWCP with previous strong baselines such as AMC (He et al., 2018b) and DCP (Zhuang et al., 2018). The results of slimming are obtained from SCP (Kang & Han, 2020). As mentioned in Sec.4.2, our BWCP adjusts their activation probability of different channels. Therefore, it would present better recognition accuracy with comparable computation consumption by entirely exploiting important channels. As shown in Table 1, our BWCP achieves the lowest accuracy drops and comparable FLOPs reduction compared with existing channel pruning methods in all tested base networks. For example, although our model is not fine-tuned, the accuracy drop of the pruned network given by BWCP based on DenseNet-40 and VGG-16 outperforms Slimming with fine-tuning by 1.41% and 0.91% points, respectively. And ResNet-56 pruned by BWCP attains better classification accuracy than previous strong baseline DCP AMC (He et al., 2018b) and DCP (Zhuang et al., 2018) without an extra fine-tuning stage. Besides, our method achieves superior accuracy compared to the Variational Pruning even with significantly smaller model sizes on DensNet-40 and VGGNet-16, demonstrating its effectiveness. We also test BWCP with MobileNet-V2 on the CIFAR10 dataset. From Table 1, we see that BWCP achieves better classification accuracy while reducing more FLOPs We also report results of BWCP on CIFAR100 in Appendix B.3. 5.2 RESULTS ON IMAGENET For ImageNet dataset, we test our proposed BWCP on two representative base models ResNet-34 and ResNet-50. The proposed BWCP is compared with SFP (He et al., 2018a)), FPGM (He et al., 2019), SSS (Huang & Wang, 2018)), SCP (Kang & Han, 2020) HRank (Lin et al., 2020) and DSA (Ning et al., 2020) since they prune channels without an extra fine-tuning stage. As shown in Table 2, we see that BWCP consistently outperforms its counterparts in recognition accuracy under comparable FLOPs. For ResNet-34, FPGM (He et al., 2019) and SFP (He et al., 2018a) without fine-tuning accelerates ResNet-34 by 41.1% speedup ratio with 2.13% and 2.09% accuracy drop respectively, but our BWCP without finetuning achieve almost the same speedup ratio with only 1.16% top-1 accuracy drop. On the other hand, BWCP also significantly outperforms FPGM (He et al., 2019) by 1.07% top-1 accuracy after going through a fine-tuning stage. For ResNet-50, BWCP still achieves better performance compared with other approaches. For instance, at the level of 40% FLOPs reduction, the top-1 accuracy of BWCP exceeds SSS (Huang & Wang, 2018) by 3.72%. Moreover, BWCP outperforms DSA (Ning et al., 2020) by top-1 accuracy of 0.34% and 0.21% at level of 40% and 50% FLOPs respectively. However, BWCP has slightly lower top-5 accuracy than DSA (Ning et al., 2020). **Inference Acceleration. We analyze the realistic hardware acceleration in terms of GPU and CPU** running time during inference. The CPU type is Intel Xeon CPU E5-2682 v4, and the GPU is ----- Table 2: Performance of our proposed BWCP and other pruning methods on ImageNet using base models ResNet-34 and ResNet-50. ’*’ indicates the pruned model is fine-tuned. Model FPGM* (He et al., 2019)Method Baseline Top-1 Acc. (%)73.92 Baseline Top-5 Acc. (%)91.62 Top-1 Acc. Drop1.38 Top-5 Acc. Drop0.49 FLOPs41.1 ↓ (%) BWCP* (Ours) 73.72 91.64 **0.31** **0.34** **41.0** ResNet-34 SFP (He et al., 2018a) 73.92 91.62 2.09 1.29 41.1 FPGM (He et al., 2019) 73.92 91.62 2.13 0.92 41.1 BWCP (Ours) 73.72 91.64 **1.16** **0.83** **41.0** FPGM* (He et al., 2019) 76.15 92.87 1.32 0.55 **53.5** BWCP* (Ours) 76.20 93.15 **0.48** **0.40** 51.2 SSS (Huang & Wang, 2018) 76.12 92.86 4.30 2.07 43.0 DSA (Ning et al., 2020) – – 0.92 0.41 40.0 HRank* (Lin et al., 2020) 76.15 92.87 1.17 0.64 **43.7** ResNet-50 ThiNet* (Luo et al., 2017) 72.88 91.14 0.84 0.47 36.8 BWCP (Ours) 76.20 93.15 **0.58** **0.40** 42.9 FPGM (He et al., 2019) 76.15 92.87 2.02 0.93 53.5 SCP (Kang & Han, 2020) 75.89 92.98 1.69 0.98 **54.3** DSA (Ning et al., 2020) – – 1.33 0.80 50.0 BWCP (Ours) 76.20 93.15 **1.02** **0.60** 51.2 Table 3: Effect of BW, Gumbel-Softmax (GS), and sparse Regularization in BWCP. The results are obtained by training ResNet-56 on CIFAR-10 dataset. ‘BL’ denotes baseline model. CasesBL BW GS Reg Acc. (%)93.64 Model Size- _↓_ FLOPs- _↓_ (1)    **94.12** - - (2)    93.46 - - (3)    92.84 **46.37** 51.16 (4)    94.10 7.78 6.25 (5)    92.70 45.22 **51.80** BWCP    93.37 44.42 50.35 Table 4: Effect of regularization strength λ1 and _λ2 with magnitude 1e −_ 4 for the sparsity loss in Eqn.(7). The results are obtained using VGG-16 on CIFAR-100 dataset. _λ1_ _λ2_ Acc. (%) Acc. Drop FLOPs (%) _↓_ 1.2 0.6 73.85 -0.34 33.53 1.2 1.2 73.66 -0.15 35.92 1.2 2.4 73.33 0.18 54.19 0.6 1.2 74.27 -0.76 30.67 2.4 1.2 71.73 1.78 60.75 NVIDIA GTX1080Ti. We evaluate the inference time using ResNet-50 with a mini-batch of 32 (1) on GPU (CPU). GPU inference batch size is larger than CPU to emphasize our method’s acceleration on the highly parallel platform as a structured pruning method. We see that BWCP has 29.2% inference time reduction on GPU, from 48.7ms for base ResNet-50 to 34.5ms for pruned ResNet-50, and 21.2% inference time reduction on CPU, from 127.1ms for base ResNet-50 to 100.2ms for pruned ResNet-50. 5.3 ABLATION STUDY **Effect of BWCP on activation probability. From the analysis in Sec. 4.2, we have shown that** BWCP can increase the activation probability of useful channels while keeping the activation probability of unimportant channels unchanged through BW technique. Here we demonstrate this using Resnet-34 and Resnet-50 trained on ImageNet dataset. We calculate the activation probability of channels of BN and BW layer. It can be seen from Fig.3 (a-d) that (1) BW increases the activation probability of important channels when _γc_ _> 0; (2) BW keeps the the activation probability of_ _|_ _|_ unimportant channels unchanged when βc 0 and γc 0. Therefore, BW indeed works by making useful channels more important and unnecessary channels less important, respectively. In this way, ≤ _→_ BWCP can identify unimportant channels reliably. **Effect of BW, Gumbel-Softmax (GS) and sparse Regularization (Reg). The proposed BWCP** consists of three components including BW module (i.e. Eqn. (3)) and Soft Sampling module with Gumbel-Softmax (i.e. Eqn. (6)) and a spare regularization (i.e. Eqn. (7)). Here we investigate the effect of each component. To this end, five variants of BWCP are considered: (1) only BW module is used; (2) only sparse regularization is imposed; (3)BWCP w/o BW module; (4) BWCP w/o sparse regularization; and (5) BWCP with Gumbel-Softmax replaced by Straight Through Estimator (STE) (Bengio et al., 2013). For case (5), we select channels by hard 0-1 mask generated with _mc = sign(P_ ( X[ˆ]c > 0) − 0.5) [1]. The gradient is back-propagated through STE. From results on Table 3, we can make the following conclusions: (a) BW improves the recognition performance, implying that it can enhance the representation of channels; (b) sparse regularization on γ and β slightly harm the classification accuracy of original model but it encourages channels to be sparse as also shown in Proposition 3; (c) BWCP with Gumbel-Softmax achieves higher accuracy than STE, showing that a soft sampling technique is better than the deterministic ones as reported in (Jang et al., 2017). 1y = sign(x) = 1 if x ≥ 0 and 0 if x < 0. ----- (a) ResNet-34-layer1.0.bn1 (b) ResNet-34-layer1.0.bn1 (c) ResNet-50-layer1.0.bn1 (d) ResNet-50-layer1.0.bn1 (e) VGGNet-layer1 (f) VGGNet layer12 BN-Act. Prob. 0.2 1.0 BN-Act. Prob. Original-BN Original-BN 0.8 BW-Act. Prob. BW-Act. Prob. 0 BWCP-BN 0.3 BWCP-BN 0.0 0.8 0.3 BWCP-BW BWCP-BW 0.6 1 0.2 0.6 0.4 0.4 0.4 2 3 Correlation Score Correlation Score 0.2 0.6 0.2 0.2 BN- 4 BN- 0.2 0.0 0.8 BN- 0.0 BN 0 20 40 60 0 20 40 60 0 20 40 60 0 20 40 60 0 40000 80000 120000 0 40000 80000 120000 Channel Index Channel Index Channel Index Channel Index Training Iterations Training Iterations Figure 3: ((a) & (b)) and ((c) & (d)) show the effect of BWCP on activation probability with trained ResNet-34 and ResNet-50 on ImageNet, respectively. The proposed batch whitening (BW) can increase the activation probability of useful channels when _γc_ _> 0 while keeping the unimportant_ _|_ _|_ channels unchanged when whenoutput response maps in shallow and deeper BWCP modules during the whole training period. BWCP βc ≤ 0 and γc → 0. (e) & (f) show the correlation score for the has lower correlation score among feature channels than original BN baseline. **Impact of regularization strength λ1 and λ2. We analyze the effect of regularization strength λ1** and λ2 for sparsity loss on CIFAR-100. The trade-off between accuracy and FLOPs reduction is investigated using VGG-16. Table 4 illustrates that the network becomes more compact as λ1 and λ2 increase, implying that both terms in Eqn.(7) can make channel features sparse. Moreover, the flops metric is more sensitive to the regularization on γ, which validates our analysis in Sec.4.2). Besides, we should search for proper values for λ1 and λ2 to trade off between accuracy and FLOPs reduction, which is a drawback for our method. **Effect of the number of BW. Here the effect of the number of BW modules of BWCP is in-** vestigated trained on CIFAR-10 using Resnet-56 consisting of a series of bottleneck structures. Note that there are three BN layers in each bottleneck. We study four variants of BWCP: (a) we use BW to modify the last BN in each bottleneck module; hence there are a total of 18 Table 5: Effect of the number of BW modules on BW layers in Resnet-56; (b) the last two BN CIFAR-10 dataset trained with ResNet-56. ‘# BW’ layers are modified by our BW technique (36 indicates the number of BW. More BW modules BW layers) (c) All BN layers in bottlenecks are in the network would lead to a lower recognition replaced by BW (54 BW layers), which is our accuracy drop with comparable computation conproposed method. The results are reported in sumption. Table 5. We can see that BWCP achieves the # BW Acc. (%) Acc. Drop Model Size ↓ (%) FLOPs ↓ (%) 18 93.01 0.63 44.70 50.77 best top-1 accuracy when BW acts on all BN 36 93.14 0.50 45.29 50.45 layers, given the comparable FLOPs and model 54 93.37 0.27 44.42 50.35 size. This indicates that the proposed BWCP more benefits from more BW layers in the network. **BWCP selects representative channel features. It is worth noting that BWCP can whiten channel** features after BN through BW as shwon in Eqn.(3). Therfore, BW can learn diverse channel features by reducing the correlations among channels(Yang et al., 2019b). We investigate this using VGGNet16 with BN and the proposed BWCP trained on CIFAR-10. The correlation score can be calculated by taking the average over the absolute value of the correlation matrix of channel features. A larger value indicates that there is redundancy in the encoded features. We plot the correlation score among channels at different depths of the network. As shown in Fig.3 (e & f), channel features after BW block have significantly smaller correlations, implying that channels selected by BWCP are representative. This also accounts for the effectiveness of the proposed scheme. 6 DISCUSSION AND CONCLUSION This paper presented an effective and efficient pruning technique, termed Batch Whitening Channel Pruning (BWCP). We show BWCP increases the activation probability of useful channels while keeping unimportant channels unchanged, making it appealing to pursue a compact model. Particularly, BWCP can be easily applied to prune various CNN architectures by modifying the batch normalization layer. However, to achieve different levels of FLOPs reduction, the proposed BWCP needs to search for the strength of sparse regularization. With probabilistic formulation in BWCP, the expected FLOPs can be modeled. The multiplier method can be used to encourage the model to attain target FLOPs. For future work, an advanced Pareto optimization algorithm can be designed to tackle such multi-objective joint minimization. We hope that the analyses of BWCP could bring a new perspective for future work in channel pruning. ----- **Ethics Statement. We aim at compressing neural nets by the proposed BWCP framework. It could** improve the energy efficiency of neural network models and reduce the emission of carbon dioxide. We notice that deep neural networks trained with BWCP can be plugged into portable or edge devices such as mobile phones. Hence, our work and AI in edge devices would have the same negative impact on ethics. Moreover, network pruning may have different effects on different classes, thus producing unfair models as a result. We will carefully investigate the results of our method on the fairness of the model output in the future. **Reproducibility Statement. For theoretical results, clear explanations of assumptions and a complete** proof of propostion 1-3 are included in Appendix. To reproduce the experimental results, we provide training details and hyper-parameters in Appendix Sec.B. Moreover, we will also make our code available by a link to an anonymous repository during the discussion stage. REFERENCES Devansh Arpit, Yingbo Zhou, Bhargava U Kota, and Venu Govindaraju. Normalization propagation: A parametric technique for removing internal covariate shift in deep networks. International _Conference in Machine Learning, 2016._ Yoshua Bengio, Nicholas Leonard, and Aaron C. Courville. Estimating or propagating gradients´ through stochastic neurons for conditional computation. CoRR, abs/1308.3432, 2013. URL [http://arxiv.org/abs/1308.3432.](http://arxiv.org/abs/1308.3432) Dario A Bini, Nicholas J Higham, and Beatrice Meini. Algorithms for the matrix pth root. Numerical _Algorithms, 39(4):349–378, 2005._ Liang-Chieh Chen, George Papandreou, Iasonas Kokkinos, Kevin Murphy, and Alan L. Yuille. Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs. IEEE Transactions on Pattern Analysis and Machine Intelligence, 40(4):834–848, 2018. Lei Deng, Guoqi Li, Song Han, Luping Shi, and Yuan Xie. Model compression and hardware acceleration for neural networks: A comprehensive survey. Proceedings of the IEEE, 108(4): 485–532, 2020. Jonathan Frankle and Michael Carbin. The lottery ticket hypothesis: Finding sparse, trainable neural networks. arXiv preprint arXiv:1803.03635, 2018. Xitong Gao, Yiren Zhao, Łukasz Dudziak, Robert Mullins, and Cheng-zhong Xu. Dynamic channel pruning: Feature boosting and suppression. arXiv preprint arXiv:1810.05331, 2018. Jinyang Guo, Wanli Ouyang, and Dong Xu. Multi-dimensional pruning: A unified framework for model compression. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern _Recognition, pp. 1508–1517, 2020._ Yiwen Guo, Anbang Yao, and Yurong Chen. Dynamic network surgery for efficient dnns. In Advances _in neural information processing systems, pp. 1379–1387, 2016._ Song Han and William J. Dally. Bandwidth-efficient deep learning. In Proceedings of the 55th _Annual Design Automation Conference on, pp. 147, 2018._ Song Han, Jeff Pool, John Tran, and William Dally. Learning both weights and connections for efficient neural network. In Advances in neural information processing systems, pp. 1135–1143, 2015. Song Han, Huizi Mao, and William J. Dally. Deep compression: Compressing deep neural networks with pruning, trained quantization and huffman coding. In ICLR 2016 : International Conference _on Learning Representations 2016, 2016._ Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 770–778, 2016. ----- Yang He, Guoliang Kang, Xuanyi Dong, Yanwei Fu, and Yi Yang. Soft filter pruning for accelerating deep convolutional neural networks. arXiv preprint arXiv:1808.06866, 2018a. Yang He, Ping Liu, Ziwei Wang, Zhilan Hu, and Yi Yang. Filter pruning via geometric median for deep convolutional neural networks acceleration. In Proceedings of the IEEE Conference on _Computer Vision and Pattern Recognition, pp. 4340–4349, 2019._ Yihui He, Ji Lin, Zhijian Liu, Hanrui Wang, Li-Jia Li, and Song Han. Amc: Automl for model compression and acceleration on mobile devices. In Proceedings of the European Conference on _Computer Vision (ECCV), pp. 784–800, 2018b._ Gao Huang, Zhuang Liu, Laurens Van Der Maaten, and Kilian Q Weinberger. Densely connected convolutional networks. In Proceedings of the IEEE conference on computer vision and pattern _recognition, pp. 4700–4708, 2017._ Lei Huang, Yi Zhou, Fan Zhu, Li Liu, and Ling Shao. Iterative normalization: Beyond standardization towards efficient whitening. In Proceedings of the IEEE Conference on Computer Vision and _Pattern Recognition, pp. 4874–4883, 2019._ Zehao Huang and Naiyan Wang. Data-Driven Sparse Structure Selection for Deep Neural Networks. In ECCV, 2018. Sergey Ioffe and Christian Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. arXiv preprint arXiv:1502.03167, 2015. Eric Jang, Shixiang Gu, and Ben Poole. Categorical reparameterization with gumbel-softmax. 2017. Minsoo Kang and Bohyung Han. Operation-aware soft channel pruning using differentiable masks. _arXiv preprint arXiv:2007.03938, 2020._ A Krizhevsky. Learning multiple layers of features from tiny images. Technical report, 2009. Yann LeCun, John S Denker, and Sara A Solla. Optimal Brain Damage. In NIPS, 1990. Hao Li, Asim Kadav, Igor Durdanovic, Hanan Samet, and Hans Peter Graf. Pruning Filters for Efficient ConvNets. In ICLR, 2017. Mingbao Lin, Rongrong Ji, Yan Wang, Yichen Zhang, Baochang Zhang, Yonghong Tian, and Ling Shao. Hrank: Filter pruning using high-rank feature map. In Proceedings of the IEEE/CVF _Conference on Computer Vision and Pattern Recognition, pp. 1529–1538, 2020._ Zhuang Liu, Jianguo Li, Zhiqiang Shen, Gao Huang, Shoumeng Yan, and Changshui Zhang. Learning efficient convolutional networks through network slimming. In Proceedings of the IEEE _International Conference on Computer Vision, pp. 2736–2744, 2017._ Zhuang Liu, Mingjie Sun, Tinghui Zhou, Gao Huang, and Trevor Darrell. Rethinking the value of network pruning. arXiv preprint arXiv:1810.05270, 2018. Christos Louizos, Max Welling, and Diederik P Kingma. Learning sparse neural networks through _l 0 regularization. International Conference on Learning Representation, 2017._ Jian-Hao Luo, Jianxin Wu, and Weiyao Lin. Thinet: A filter level pruning method for deep neural network compression. In Proceedings of the IEEE international conference on computer vision, pp. 5058–5066, 2017. Xuefei Ning, Tianchen Zhao, Wenshuo Li, Peng Lei, Yu Wang, and Huazhong Yang. Dsa: More efficient budgeted pruning via differentiable sparsity allocation. arXiv preprint arXiv:2004.02164, 2020. Ethan Perez, Florian Strub, Harm De Vries, Vincent Dumoulin, and Aaron Courville. Film: Visual reasoning with a general conditioning layer. In Proceedings of the AAAI Conference on Artificial _Intelligence, volume 32, 2018._ ----- Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun. Faster r-cnn: Towards real-time object detection with region proposal networks. IEEE Transactions on Pattern Analysis and Machine _Intelligence, 39(6):1137–1149, 2017._ Olga Russakovsky, Jia Deng, Hao Su, Jonathan Krause, Sanjeev Satheesh, Sean Ma, Zhiheng Huang, Andrej Karpathy, Aditya Khosla, Michael Bernstein, et al. Imagenet large scale visual recognition challenge. International Journal of Computer Vision, 115(3):211–252, 2015. Karen Simonyan and Andrew Zisserman. Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556, 2014. Huan Wang, Qiming Zhang, Yuehai Wang, and Haoji Hu. Structured probabilistic pruning for convolutional neural network acceleration. arXiv preprint arXiv:1709.06994, 2017. Yikai Wang, Wenbing Huang, Fuchun Sun, Tingyang Xu, Yu Rong, and Junzhou Huang. Deep multimodal fusion by channel exchanging. Advances in Neural Information Processing Systems, 33, 2020. Wei Wen, Chunpeng Wu, Yandan Wang, Yiran Chen, and Hai Li. Learning structured sparsity in deep neural networks. In Proceedings of the 30th International Conference on Neural Information _Processing Systems, pp. 2074–2082, 2016._ Huanrui Yang, Wei Wen, and Hai Li. Deephoyer: Learning sparser neural network with differentiable scale-invariant sparsity measures. arXiv preprint arXiv:1908.09979, 2019a. Jianwei Yang, Zhile Ren, Chuang Gan, Hongyuan Zhu, and Devi Parikh. Cross-channel communication networks. In Advances in Neural Information Processing Systems, pp. 1295–1304, 2019b. Mao Ye, Chengyue Gong, Lizhen Nie, Denny Zhou, Adam Klivans, and Qiang Liu. Good subnetworks provably exist: Pruning via greedy forward selection. In International Conference on Machine _Learning, pp. 10820–10830. PMLR, 2020._ Chenglong Zhao, Bingbing Ni, Jian Zhang, Qiwei Zhao, Wenjun Zhang, and Qi Tian. Variational convolutional neural network pruning. In Proceedings of the IEEE Conference on Computer Vision _and Pattern Recognition, pp. 2780–2789, 2019._ Zhuangwei Zhuang, Mingkui Tan, Bohan Zhuang, Jing Liu, Yong Guo, Qingyao Wu, Junzhou Huang, and Jinhui Zhu. Discrimination-aware channel pruning for deep neural networks. arXiv preprint _arXiv:1810.11809, 2018._ ----- The appendix provides more details about approach and experiments of our proposed batch whitening channel pruning (BWCP) framework. The broader impact of this work is also discussed. A MORE DETAILS ABOUT APPROACH A.1 CALCULATION OF COVARIANCE MATRIX Σ By Eqn.(1) in main text, the output of BN is ˜xncij = γcx¯ncij + βc. Hence, we have E[˜xc] = _NHW1_ _N,H,Wn,i,j_ (γcx¯ncij + βc) = βc. Then the entry in c-th row and d-th column of covariance matrix Σ of ˜xc is calculated as follows: P _N,H,W_ _n,i,j_ (γcx¯ncij + βc − E[˜xc])(γdx¯ndij + βd − E[˜xd]) = γcγdρcd (8) X Σcd = _NHW_ where ρcd is the element in c-th row and j-th column of correlation matrix of ¯x. Hence, we have ρcd 1 _N,H,W_ _∈_ [ 1, 1]. Furthermore, we can write Σ into the vector form: Σ = γγ[T] _NHW_ _n,i,j_ **x¯nijx¯nij[T]** = _−_ _⊙_ **_γγ[T]_** **_ρ._** _⊙_ P A.2 PROOF OF PROPOSITION 1 For (1), we notice that we can defineassume γc > 0 without loss of generality. Then, we have γc = −γc and _X[¯]c = −X[¯]c ∼N_ (0, 1) if γc < 0. Hence, we can _P_ (Yc > 0) = P ( X[˜]c > 0) = P ( X[¯]c > ) _−_ _[β]γc[c]_ +∞ 1 = _√2π_ [exp][−] _[t]2[2] dt_ Z− _[βc]γc_ 0 1 +∞ = Z− _[βc]γc_ _√2π_ [exp][−] _[t]2[2] dt +_ Z0 _βcγc_ 1 +∞ = 0 _√2π_ [exp][−] _[t]2[2] dt +_ 0 Z Z Erf( _√β2cγc_ [) + 1] = 2 When γc < 0, we can set γc = −γc. Hence, we arrive at _P_ (Yc > 0) = P ( X[˜]c > 0) = Erf( _√2β|cγc|_ [) + 1] 1 2 dt 2π [exp][−] _[t][2]_ 1 2 dt 2π [exp][−] _[t][2]_ (9) (10) For (2), let us denoterepresents a random variables corresponding to output featureX[¯]c ∼N (0, 1), and _X[˜]c = γcX[¯]c + β ycc and in Eqn.(1) in main text. Firstly, it is Yc = max{0,_ _X[˜]c} where Yc_ easy to see that P ( X[˜]c > 0) = 0 ⇔ E ¯Xc [[][Y][c][] = 0][ and][ E][ ¯]Xc [[][Y][ 2]c [] = 0][. In the following we show that] E ¯Xc [[][Y][c][] = 0][ and][ E][ ¯]Xc [[][Y][ 2]c [] = 0][ ⇔] _[β][c]_ [= 0][. Similar with (1), we assume][ γ][c] _[>][ 0][ without]_ loss of generality. _[≤]_ [0 and][ γ][c] For the sufficiency, we have _−_ _[β]γcc_ 1 _x¯[2]c_ +∞ 1 _x¯[2]c_ E ¯Xc [[][Y][c][] =] 0 · _√2π_ [exp][−] 2 dx¯c + (γcx¯c + βc) · _√2π_ [exp][−] 2 dx¯c, Z−∞ Z− _[βc]γc_ _βc[2]_ (11) _−_ 2γc[2] = _[γ][c][exp]√2π_ + _[β]2 [c]_ [(1 + Erf[][ β]√2[c]γc ]), where Erf[x] = _√2π_ _x0_ [exp][−][t][2] _[dt][ is the error function. From Eqn.(11), we have]_ _βc[2]_ R _γcexp−_ 2γc[2] _βc_ (12) lim _Xc_ [[][Y][c][] =] lim + lim ]) = 0 _γc→0[+][ E][ ¯]_ _γc→0[+]_ _√2π_ _γc→0[+]_ 2 [(1 + Erf[][ β]√2[c]γc ----- Table 6: Runing time comparison during training between BWCP, vanilla BN and SCP. The proposed BWCP achieves better trade-off between FLOPs reduction and accuracy drop although it introduces a little extra computational cost during training. ‘F’ denotes forward running time (s) while ‘F+B’ denotes forward and backward running time (s). The results are averaged over 100 iterations. The GPU is NVIDIA GTX1080Ti. The CPU type is Intel Xeon E5-2682 v4. Model Mothod CPU (F) (s) CPU (F+B) (s) GPU (F) (s) GPU (F+B) (s) Acc. Drop FLOPs ↓ (%) vanilla BN 0.184 0.478 0.015 0.031 0 0 ResNet-50 SCP 0.193 0.495 0.034 0.067 1.69 54.3 BWCP (Ours) 0.239 0.610 0.053 0.104 1.02 51.2 In the same way, we can calculate _−_ _[β]γcc_ 1 _x¯[2]c_ +∞ Ex¯c [[][Y][ 2]c [] =] 0 · _√2π_ [exp][−] 2 dx¯c + (γcx¯c + βc)[2] _·_ Z−∞ Z− _[βc]γc_ _βc[2]_ _−_ 2γc[2] _c_ [+][ β]c[2] = _[γ][c][β][c][exp]_ + _[γ][2]_ (1 + Erf[ _[β][c]_ ]), _√2π_ 2 _√2γc_ 1 _x¯[2]c_ 2 dx¯c, 2π [exp][−] (13) From Eqn.(13), we have _βc[2]_ _γcβcexp−_ 2γc[2] _γc[2]_ [+][ β]c[2] lim _xc_ [[][Y][ 2]c [] =] lim + lim _γc→0[+][ E][¯]_ _γc→0[+]_ _√2π_ _γc→0[+]_ 2 (14) (1 + Erf[ _√[β]2[c]γc_ ]) = 0 For necessity, we show that ifIt can be acquired by solving Eqn Eqn.(11) and Eqn.(13). To be specific, Ex¯c [[][Y]c[] = 0][ and][ E]x¯c [[][Y]c2] = 0, then γc → 0 β andc Eqn.(.11) βc ≤ 0. In essence,Eqn.(13) _∗_ _−_ gives us γc = 0[+]. Substituting it into Eqn.(.11), we can obtain βc ≤ 0. This completes the proof. A.3 TRAINING OVERHEAD OF BWCP The proposed BWCP introduces a little extra computational cost during training. To see this, we evaluate the computational complexity of SCP and BWCP for ResNet50 on ImageNet with an input image size of 224 × 224. We can see from the table below that the training BWCP is slightly slower on both CPU and GPU than the plain ResNet and SCP. In fact, the computational burden mainly comes from calculating the covariance matrix and its root inverse. In our paper, we calculate the root inverse of the covariance matrix by Newton’s iteration, which is fast and efficient. Although BWCP brings extra training overhead, it achieves better top-1 accuracy drop under the same FLOPs consumption. A.4 PROOF OF PROPOSITION 2 First, we can derive that _X[ˆ]c = Σ−N_ 2[1] [(][γ] _[⊙]X[¯]_ +β) = Σ−N [1]2 [(][γ] _[⊙]X[¯]_ )+Σ−N 2[1] **_[β][ = (][Σ]−N_** 2[1] **_[γ][)][⊙]X[¯]_** +Σ−N 2[1] **_[β][.]_** Hence, the newly defined scale and bias parameters are ˆγ = Σ−N 2[1] **_[γ][ and][ ˆ]β = Σ−N_** [1]2 **_[β][. When][ T][ = 1][,]_** we have Σ−N 2[1] = [1]2 [(3][I][ −] **[Σ][N]** [)][ by Eqn.(5) in main text. Hence we obtain,] **_γˆ = [1]_** **_ρ)γ_** 2 [(3][I][ −] **[Σ][N]** [)][γ][ = 1]2 [(3][I][ −] **_[γγ]γ_** [T]2 _⊙_ _∥_ _∥[2]_ = [1] 2 [(3][γ][ −] _γ1γjρ1jγj,_ _,_ _· · ·_ _j=1_ X _γCγjρCjγj_ _j=1_ X (15) **_γ_** 2 _∥_ _∥[2]_ _γj[2][ρ][1][j]_ )γ1, _, (3_ **_γ_** 2 _· · ·_ _−_ _∥_ _∥[2]_ _γj[2][ρ][Cj]_ )γC **_γ_** 2 _∥_ _∥[2]_ = [1] (3  _−_ _j=1_ _j=1_ ----- Similarly, **_β[ˆ] can be given by_** **_βˆ = [1]_** **_ρ)β_** 2 [(3][I][ −] **[Σ][)][β][ = 1]2** [(3][I][ −] **_[γγ]γ_** [T]2 _⊙_ _∥_ _∥[2]_ = [1] 2 [(3][β][ −] _γ1γjρ1jβj,_ _,_ _γCγjρCjβj_ _· · ·_ _j=1_ _j=1_ X X (16) **_γ_** 2 _∥_ _∥[2]_ _C_ _C_ _γjβjρ1j_ _γjβjρCj_ = [1] 3β1 ( )γ1, _, 3βC_ ( )γC 2  _−_ _j=1_ **_γ_** 2 _· · ·_ _−_ _j=1_ **_γ_** 2  X _∥_ _∥[2]_ X _∥_ _∥[2]_   Taking each component of vector Eqn.(15-16) gives us the expression of ˆγc and _β[ˆ]c in Proposition 2._ A.5 PROOF OF PROPOSITION 3 For (1), through Eqn.(15), we acquire |γˆc| = [1]2 _[|][3]_ _[−]_ [P]j[C]=1 _γ∥j[2]γ[ρ]∥[cj]2[2]_ _γc| →_ 0 if |γc| → 0. _γc[2]_ _[||][γ][c][|][. Therefore,][ |][ˆ]_ On the other hand, by Eqn.(16), we have _β[ˆ]c ≈_ 2[1] [(3][ −] _∥γ∥2[2]_ [)][β][c][ < β][c][ ≤] [0][. Here we assume that] _ρcd = 1 if c = d and 0 otherwise. Note that the assumption is plausible by Fig.3 (e & f) in main_ text from which we see that the correlation among channel features will gradually decrease during training. We also empirically verify these two conclusions by Fig.4. From Fig.4 we can see that _|γˆc| ≥|γc| where the equality holds iff |γc| = 0, and_ _β[ˆ]c is larger than βc if βc is positive, and vice_ versa. By Proposition 1, we arrive at _P_ ( X[ˆ]c > δ) < P ( X[ˆ]c > 0) = 0 (17) where the first ‘>’ holds since δ is a small positive constant and ‘=’ follows from _γˆc_ 0 and _βˆc_ 0. For (2), to show P ( X[ˆ]c > δ) > P ( X[˜]c > δ), we only need to prove P ( X[¯] |c >| →[δ][−]γˆcβ[ˆ]c [)][ >] _≤_ _|_ _|_ _P_ ( X[¯]c > _[δ][−]γc[β][c]_ [)][, which is equivalent to][ δ][−]γˆcβ[ˆ]c _[<][ δ][−]γc[β][c]_ [. To this end, we calculate] _|_ _|_ _|_ _|_ _|_ _|_ _|γc|γˆβ[ˆ]cc −|γγˆcc|βc_ = _|γc|_ 2[1] [(3][β][c][ −] [(][P]1j[C]=1 _γj∥βγj∥ρ2[2]cj_ [)][γ]γ[c]j[2][)][ρ][ −][cj] [1]2 [(3][ −] [P]j[C]=1 _γ∥j[2]γ[ρ]∥[cj]2[2]_ [)][|][γ][c][|][β][c] _|_ _| −|_ _|_ 2 [(3][ −] [P]j[C]=1 _∥γ∥2[2]_ [)][|][γ][c][| −|][γ][c][|] _C_ _γj_ _βj_ _γcρcj_ _γj[2][β][c][ρ][cj]_ = _j=1_ _∥γ∥2[2]_ _−_ [P]j[C]=1 _∥γ∥2[2]_ _γj[2][ρ][cj]_ P 1 − [P]j[C]=1 _∥γ∥2[2]_ (18) _C_ _γj_ (βj _γc−γj_ _βc)ρcj_ 1 _C_ _j=1_ **_γ_** 2 **_γ_** 2 _j=1_ [(][β][j][γ][c][ −] _[γ][j][β][c][)][2][ρ]cj[2]_ = _∥_ _∥[2]_ _∥_ _∥_ P 1 − [P]j[C]=1 _γ∥j[2]γ[ρ]∥[cj]2[2]_ _≤_ qP1 − [P]j[C]=1 _γ∥j[2]γ[ρ]∥[cj]2[2]_ = _∥γ∥2_ _Cj=1_ [(][β][j][γ][c][ −] _[γ][j][β][c][)][2][ρ]cj[2]_ = δ qP∥γ∥2[2] _[−]_ [P]j[C]=1 _[γ]j[2][ρ][cj]_ where the ‘ ’ holds due to the Cauchy–Schwarz inequality. By Eqn.(18), we derive that _γc_ (δ _≤_ _|_ _|_ _−_ _βˆc)_ _γˆc_ (δ _βc) which is exactly what we want. Lastly, we empirically verify that δ defined in_ _≤|_ _|_ _−_ Proposition 3 is a small positive constant. In fact, δ represents the minimal activation feature value (in ResNet-34 during the whole training stage and value ofi.e. _X[ˆ]c = ˆγcX[¯]c + β[ˆ]c ≥_ _δ by definition). We visualize the value of δ of each layer in trained ResNet-34 on δ in shallow and deep layers_ ImageNet dataset in Fig.5. As we can see, δ is always a small positive number in the training process. We thus empirically set δ as 0.05 in all experiments. To conclude, by Eqn.(17), BWCP can keep the activation probability of unimportant channel unchanged; by Eqn.(18), BWCP can increase the activation probability of important channel. In this way, the proposed BWCP can pursuit a compact deep model with good performance. ----- Figure 4: Experimental observation of how our proposed BWCP changes the values of γc and βc (a) layer1.0.bn1 (b) layer2.0.bn1 (c) layer3.0.bn1 (d) layer4.0.bn1 BN- 0.5 0.0 0.2 1 BW- 0.0 Line 0 0.0 0.2 0.2 0 0.5 0.4 0.4 Value 1 0.6 0.6 1.0 0.8 0.8 2 3 1.5 BN-BW-Line 0 1.01.2 BN-BW-Line 0 1.01.2 BN-BW-Line 0 0 10 20 30 40 50 60 0 20 40 60 80 100 120 0 50 100 150 200 250 0 100 200 300 400 500 (e) layer1.0.bn1 (f) layer2.0.bn1 (g) layer3.0.bn1 (h) layer4.0.bn1 BN-| | 0.8 BN-| | 1.2 BN-| | BN-| | 2.0 BW-| | BW-| | BW-| | 0.8 BW-| | 1.0 1.5 0.6 0.8 0.6 Value 1.0 0.4 0.6 0.4 0.4 0.5 0.2 0.2 0.2 0.0 0.0 0.0 0.0 0 10 20 30 40 50 60 0 20 40 60 80 100 120 0 50 100 150 200 250 0 100 200 300 400 500 Channel Index Channel Index Channel Index Channel Index in BN layers through the proposed BW technique. Results are obtained by tranining ResNet50 on ImageNet dataset. We investigate γc and βc at different depths of the network including layer1.0.bn1, layer2.0.bn1,layer3.0.bn1 and layer4.0.bn1. (a-d) show BW enlarges βc when βc > 0 while reducing _βc when βc ≤_ 0. (e-h) show that BW consistently increases the magnitude of γc across the network. (a) ResNet-34-layer1.0.bn1 (b) ResNet-34-layer4.0.bn1 (c) ResNet-34-per layer 0.022 0.0050 0.020 0.0045 0.05 0.018 0.0040 0.04 0.016 0.014 0.0035 0.03 0.012 0.0030 0.02 0.010 0.0025 0.008 0.0020 0.01 0.006 0.0015 0.00 0 20 40 60 80 100 0 20 40 60 80 100 0 5 10 15 20 25 30 Training Epochs Training Epochs Layers Figure 5: Experimental observation of the values of δ defined in proposition 3. Results are obtained by tranining ResNet-34 on ImageNet dataset. (a & b) investigate δ at different depths of the network including layer1.0.bn1 and layer4.0.bn1 respectively. (c) visualizes δ for each layer of ResNet-34. We see that δ in proposition 3 is always a small positive constant. Figure 6: Illustration of BWCP with shortcut in basic block structure of ResNet. For shortcut with Conv-BN modules, we use a simple strategy that lets BW layer in the last convolution layer and shortcut share the same mask. For shortcut with identity mappings, we use the mask in previous layer. ----- **Algorithm 1 Forward Propagation of the proposed BWCP.** 1: Input: mini-batch inputs x ∈ R[N] _[×][C][×][H][×][W]_ . 2: Hyperparameters: momentum g for calculating root inverse of covariance matrix, iteration number T . 3: Output: the activations x[out] obtained by BWCP. 4: calculate standardized activation: {x¯c}c[C]=1 [in Eqn.(1).] 5: calculate the output of BN layer: ˜xc = γcx¯c + βc. 6: calculate normalized covariance matrix: ΣN = _∥γγγ∥[T]2[2]_ _NHW1_ _N,H,Wn,i,j=1_ **x[¯]nijx¯nijT** 7: Σ0 = I. _[⊙]_ P 8: for k = 1 to T do 9: **Σk =** 2[1] [(3][Σ][k][−][1][ −] **[Σ]k[3]−1[Σ][N]** [)] 10: end for 11: calculate whitening matrix for training: Σ−N [1]2 = ΣT . 12: calculate whitening matrix for inference: **Σ[ˆ]** _−N_ 2 _←_ (1 − _g) Σ[ˆ]_ _−N_ 2 + gΣN− 2 [.] 13: calculate whitened output: ˆxnij = Σ−N 2[1] **x[˜]nij.** 14: calculate equivalent scale and bias defined by BW: ˆγ = Σ[−] 2[1] γ and **_β[ˆ] = Σ[−]_** [1]2 β. 15: calculate the activation probability by Proposition 2 with ˆγ and **_β[ˆ], obtain soft masks {mc}c[C]=1_** [by Eqn.(6).] 16: calculate the output of BWCP: x[out]c = ˆxc _mc._ _⊙_ **(a) BN** **(b) BWCP** Figure 7: Illustration of forward propagation of (a) BN and (b) BWCP. The proposed BWCP prunes **BW** CNNs by replacing original BN layer with BWCP module.Cov. **Newton** **BN** **BWCov.** **Iter.** A.6 SOLUTION TO RESIDUAL ISSUE The recent advanced CNN architectures usually have residual blocks with shortcut connections (He **Soft Gating Module** et al., 2016; Huang et al., 2017). As shown in Fig.6, the number of channels in the last convolutionSoft Gating Module layer must be the same as in previous blocks due to the element-wise summation. Basically, there **Act. Prob.** **Gumbel-Softmax Soft Maskare two types of residual connections,BN modules, and shortcut with identity. For shortcut with Conv-BN modules, the proposed BWReLU** **Act. Prob. i.e. shortcut with downsampling layer consisting of Conv-Gumbel-SoftMax** **Soft Mask** technique is utilized in downsampling layer to generate pruning mask m[s]c[. Furthermore, we use a] simple strategy that lets BW layer in the last convolution layer and shortcut share the same mask as given byshortcut with identity mappings, we use the mask in the previous layer. In doing so, their activated mc = m[s]c _[·][ m]c[last]_ where m[last]c and m[s]c [denote masks of the last convolution layer. For] output channels must be the same. A.7 BACK-PROPAGATION OF BWCP The forward propagation of BWCP can be represented by Eqn.(3-4) and Eqn.(9) in the main text (see detail in Table 1), all of which define differentiable transformations. Here we provide the back-propagation of BWCP. By comparing the forward representation of BN and BWCP in Fig.7, we need to back-propagate the gradient _∂x∂[out]nijL_ [to] _∂x∂¯nijL_ [for backward propagation of BWCP. For] simplicity, we neglect the subscript ‘nij’. By chain rules, we have _∂L_ **_γ_** **m** _∂L_ _−N_ 2[1] [)] (19) _∂x¯_ [= ˆ] ⊙ _⊙_ _∂x[out][ +][ ∂]∂[L]x¯_ [(][Σ] ----- Table 7: Performance of our BWCP on different base models compared with other approaches on CIFAR-100 dataset. Model Slimming* (Liu et al., 2017)Mothod Baseline Acc. (%)77.24 Acc. (%)74.52 Acc. Drop2.72 Channels60 _↓_ (%) Model Size29.26 ↓ (%) FLOPs47.92 ↓ (%) ResNet-164 SCP (Kang & Han, 2020) 77.24 76.62 0.62 57 28.89 45.36 BWCP (Ours) 77.24 76.77 **0.47** 41 21.58 39.84 Slimming* (Liu et al., 2017) 74.24 73.53 0.71 **60** 54.99 **50.32** Variational Pruning (Zhao et al., 2019) 74.64 72.19 2.45 37 37.73 22.67 DenseNet-40 SCP (Kang & Han, 2020) 74.24 73.84 0.40 **60** **55.22** 46.25 BWCP (Ours) 74.24 74.18 **0.06** 54 53.53 40.40 VGGNet-19 Slimming* (Liu et al., 2017) 72.56 73.01 -0.45 **50** **76.47** **38.23** BWCP (Ours) 72.56 73.20 **-0.64** 23 41.00 22.09 Slimming* (Liu et al., 2017) 73.51 73.45 0.06 **40** **66.30** 27.86 Variational Pruning (Zhao et al., 2019) 73.26 73.33 -0.07 32 37.87 18.05 VGGNet-16 BWCP (Ours) 73.51 73.60 **-0.09** 34 58.16 **34.46** where _[∂]∂[L]x¯_ [(][Σ]−N [1]2 [)][ denotes the gradient][ w.r.t.][ ¯]x back-propagated through Σ−N 2[1] [. To calculate it, we first] obtain the gradient w.r.t. Σ−N 2[1] as given by _∂L_ _∂Σ−N_ [1]2 = γ _[∂][L]_ _∂γˆ_ T + β _[∂][L]_ _∂β[ˆ]_ (20) where _∂_ _∂_ _∂_ _L_ **x** **m** _L_ **x** _L_ (21) _∂γˆ_ [= ¯] ⊙ _⊙_ _∂x[out][ +][ ∂]∂[m]γˆ_ [(ˆ] ⊙ _∂x[out][ )]_ and _∂_ _∂_ _L_ = m + _[∂][m]_ (ˆx _L_ (22) _∂β[ˆ]_ _∂β[ˆ]_ _⊙_ _∂x[out][ )]_ The remaining thing is to calculate _[∂]∂[m]γˆ_ [and][ ∂]∂[m]β[ˆ] [. Based on the Gumbel-Softmax transformation, we] arrive at _mc(1_ _mc)f_ (ˆγc,β[ˆ]c) _βcγc_ _−_ _−_ _τP ( X[ˆ]C_ _>0)(1−P ( X[ˆ]C_ _>0))_ _|γc|[2][ if][ d][ =][ c]_ (23) 0, otherwise _mc(1−mc)f_ (ˆγc,β[ˆ]c) _τP ( X[ˆ]C_ _>0)(1_ _P ( X[ˆ]C_ _>0))_ _[,][ if][ d][ =][ c]_ (24) _−_ 0, otherwise _∂mc_ _∂γˆd_ _∂mc_ _∂β[ˆ]d_ where f (ˆγc, _β[ˆ]c) is the probability density function of R.V._ _X[ˆ]c as written in Eqn.(2) of main text._ To proceed, we deliver the gradient w.r.t. Σ−N [1]2 main text. Note that Σ−N [1]2 = ΣT, we have _∂_ _L_ = _∂ΣN_ _−_ [1]2 in Eqn.(20) to Σ by Newton Iteration in Eqn.(6) of _T_ (Σ[3]k 1[)][T][ ∂][L] (25) _−_ _∂Σk_ _k=1_ X where _∂∂ΣLk_ [can be calculated by following iterations:] _∂L_ = [3] _∂L_ _∂L_ (Σ[2]k 1[Σ][)][T][ −] [1] _k_ 1[)][T][ ∂][L] **Σ[T]** _∂Σk−1_ 2 _∂Σk_ _−_ [1]2 _∂Σk_ _−_ 2 [(][Σ][2]− _∂Σk_ _−_ [1]2 [(][Σ][k][−][1][)][T][ ∂]∂Σ[L]k (Σk−1Σ)[T] _k = T, · · ·, 1._ Given the gradient w.r.t. ΣN in Eqn.(25), we can calculate the gradient w.r.t. ¯x back-propagated through Σ−N 2[1] in Eqn.(19) as follows _∂L_ _−N_ [1]2 [) = (][ γγ][T] + _[∂][L]_ _∂x¯_ [(][Σ] _∥γ∥[2][ ⊙]_ [(][ ∂]∂Σ[L]N _∂ΣN_ Based on Eqn.(19-26), we obtain the back-propagation of BWCP. T))¯x (26) ----- B MORE DETAILS ABOUT EXPERIMENT B.1 DATASET AND METRICS We evaluate the performance of our proposed BWCP on various image classification benchmarks, including CIFAR10/100 (Krizhevsky, 2009) and ImageNet (Russakovsky et al., 2015). The CIFAR-10 and CIFAR-100 datasets have 10 and 100 categories, respectively, while both contain 60k color images with a size of 32 × 32, in which 50k training images and 10K test images are included. Moreover, the ImageNet dataset consists of 1.28M training images and 50k validation images. Top-1 accuracy are used to evaluate the recognition performance of models on CIFAR 10/100. Top-1 and Top-5 accuracies are reported on ImageNet. We utilize the common protocols, i.e. number of parameters and Float Points Operations (FLOPs) to obtain model size and computational consumption. For CIFAR-10/100, we use ResNet (He et al., 2016), DenseNet (Huang et al., 2017), and VGGNet (Simonyan & Zisserman, 2014) as our base model. For ImageNet, we use ResNet-34 and ResNet-50. We compare our algorithm with other channel pruning methods without a fine-tuning procedure. Note that a extra fine-tuning process would lead to remarkable improvement of performace (Ye et al., 2020). For fair comparison, we also fine-tune our BWCP to compare with those pruning methods. The training configurations are provided in Appendix B.2. The base networks and BWCP are trained together from scratch for all of our models. B.2 TRAINING CONFIGURATION **Training Setting on ImageNet. All networks are trained using 8 GPUs with a mini-batch of 32 per** GPU. We train all the architectures from scratch for 120 epochs using stochastic gradient descent (SGD) with momentum 0.9 and weight decay 1e-4. We perform normal training without sparse regularization in Eqn.(7) on the original networks for first 20 epochs by following (Ning et al., 2020). The base learning rate is set to 0.1 and is multiplied by 0.1 after 50, 80 and 110 epochs. During fine-tuning, we use the standard SGD optimizer with Nesterov momentum 0.9 and weight decay 0.00005 to fine-tune pruned network for 150 epochs. We decay learning rate using cosine schedule with initial learning rate 0.01. The coefficient of sparse regularization λ1 and λ2 are set to 7e-5 and 3.5e-5 to achieve Flops Reduction at a level of 40%, while λ1 and λ2 are set to 9e-5 and 3.5e-5 respectively to achieve FLOPs reduction at a level of 40%. Besides, the covariance matrix in the proposed BW technique is calculated within each GPU. Like (Huang et al., 2019), we also use group-wise decorrelation with group size 16 across the network to improve the efficiency of BW. **Training setting on CIFAR-10 and CIFAR-100. We train all models on CIFAR-10 and CIFAR-100** with a batch size of 64 on a single GPU for 160 epochs with momentum 0.9 and weight decay 1e-4. The initial learning rate is 0.1 and is decreased by 10 times at 80 and 120 epoch. The coefficient of sparse regularization λ1 and λ2 are set to 4e-5 and 8e-5 for CIFAR-10 dataset and 7e-6 and 1.4e-5 for CIFAR-100 dataset. B.3 MORE RESULTS OF BWCP The results of BWCP on CIFAR-100 dataset is reported in Table 7. As we can see, our approach BWCP achieves the lowest accuracy drops and comparable FLOPs reduction compared with existing channel pruning methods in all tested base models. -----