Convolutional Neural Network Pruning with Structural Redundancy Reduction 公式解读

  • 3, Claim
    • 3.1 引入网络的五种剪枝情况
    • 3.2 粗略证明文章的中心思想
    • 3.3 详细比较五种情况
      • 3.3.1 切比雪夫不等式
      • 3.3.2 使用切比雪夫不等式
  • 4, Methodology
    • 4.2 Pruning with structural redundancy reduction
      • 4.2.2 l l l-covering number
      • 4.2.3 Decomposition of a graph
      • 4.2.4 Estimate of the 1-covering number
  • 5, 最后

此文章是来自于田纳西大学和中山大学的Zi Wang, Chengcheng Li, Xiangyang Wang这三位同学,
文献地址:Convolutional Neural Network Pruning with Structural Redundancy Reduction

想必大家看这篇论文时都在感叹,公式咋这么多!那小编就带大家来粗略解读下公式叭!

此文章的中心思想就是一句话:pruning in the layer(s) with the most structural redundancy outperforms pruning the least important filters across all layers 翻译过来也就是:在结构上最冗余的层上剪枝比在所有层中剪掉最不重要的filters表现要更好。

作者设计了一套方法用于测验每个层的冗余得分,基于这个得分,再根据现有的剪枝策略剪掉对应的filter。文章用了最常见且简单的策略——剪掉较小绝对值权重的filter。

剪枝过程如下:

由于小编主要是给大家粗略攻破公式,且论文大家还是要自己看一遍的,所以就直接开始整公式部分啦:
ps:建议和文章对比看

这里写目录标题

  • 3, Claim
    • 3.1 引入网络的五种剪枝情况
    • 3.2 粗略证明文章的中心思想
    • 3.3 详细比较五种情况
      • 3.3.1 切比雪夫不等式
      • 3.3.2 使用切比雪夫不等式
  • 4, Methodology
    • 4.2 Pruning with structural redundancy reduction
      • 4.2.2 l l l-covering number
      • 4.2.3 Decomposition of a graph
      • 4.2.4 Estimate of the 1-covering number
  • 5, 最后

3, Claim

3.1 引入网络的五种剪枝情况

我们假设有两个层,分别是 ξ \xi ξ层(m个filter)与 η \eta η层(n个filter)在这里 n > > m n>>m n>>m,

让 { ξ 1 , ξ 2 , . . . , ξ m } \{\xi_1,\xi_2,...,\xi_m\} {ξ1​,ξ2​,...,ξm​}, { η 1 , η 2 , . . . , η n } \{\eta_1,\eta_2,...,\eta_n\} {η1​,η2​,...,ηn​}这些一维正随机变量表示每个filter对整个网络表现的贡献程度。

选俩正的常数 a , b > 0 a,b>0 a,b>0,用俩随机事件( ∑ i = 1 m ξ i ≥ a \sum\limits_{i=1} ^m \xi_i \geq a i=1∑m​ξi​≥a)和( ∑ i = 1 n η i ≥ b \sum\limits_{i=1} ^n \eta_i \geq b i=1∑n​ηi​≥b)去描述层 ξ \xi ξ和层 η \eta η表现很好。也就是 ξ \xi ξ层中每个filter对整个网络的贡献加起来大于等于这个阈值a的概率很大的话,那这个 ξ \xi ξ 层就合格了~

定义 p p p为整个网络的表现,也就是上面那俩随机事件的概率进行相加,如果有多个层的话就是多个随机事件的概率进行相加,反正每个层有一个这样的随机事件。若 p 1 > p 2 p_1>p_2 p1​>p2​,则网络1的表现优于网络2。我们有以下几种情况:
(1)没有被剪枝
(2)在 η \eta η层中随机剪枝一个filter
(3)在 η \eta η层中剪枝最不重要(贡献最小)的一个filter η ‾ = m i n { η 1 , η 2 , . . . , η n } \underline{\eta}=min\{\eta_1,\eta_2,...,\eta_n\} η​=min{η1​,η2​,...,ηn​}
(4)在 ξ \xi ξ层中剪枝最不重要的filter ξ ‾ = m i n { ξ 1 , ξ 2 , . . . , ξ m } \underline{\xi}=min\{\xi_1,\xi_2,...,\xi_m\} ξ​=min{ξ1​,ξ2​,...,ξm​}
(5)剪掉全局上最不重要的filter,也就是 m i n { ξ ‾ , η ‾ } min\{\underline{\xi},\underline{\eta}\} min{ξ​,η​}
ps:值得注意的是, n > > m n>>m n>>m,所以(3)实际上代表了在filter很多的一个层中进行剪枝,(4)则是代表在filter较少的一个层中进行剪枝,(5)是在整个网络上进行剪枝

跟随着五种情况,整个网络的表现p可以由以下所计算出:

p o = P ( ∑ i = 1 m ξ i ≥ a ) + P ( ∑ i = 1 n η i ≥ b ) p_o=P(\sum\limits_{i=1} ^m \xi_i \geq a)+P(\sum\limits_{i=1} ^n \eta_i \geq b) po​=P(i=1∑m​ξi​≥a)+P(i=1∑n​ηi​≥b)(1)
没有进行剪枝时,就是普通的俩随机事件发生的概率进行相加

p η r = P ( ∑ i = 1 m ξ i ≥ a ) + P ( ∑ i = 1 n − 1 η i ≥ b ) p_{\eta r}=P(\sum\limits_{i=1} ^m \xi_i \geq a)+P(\sum\limits_{i=1} ^{n-1} \eta_i \geq b) pηr​=P(i=1∑m​ξi​≥a)+P(i=1∑n−1​ηi​≥b)(2)
在 η \eta η层中随机剪枝一个filter后,后面变成了 η \eta η层中剩余的n-1个filter的贡献相加 大于等于b的概率

p η ‾ = P ( ∑ i = 1 m ξ i ≥ a ) + P ( ∑ i = 1 n η i − η ‾ ≥ b ) p_{\underline{\eta}}=P(\sum\limits_{i=1} ^m \xi_i \geq a)+P(\sum\limits_{i=1} ^n \eta_i - \underline{\eta} \geq b) pη​​=P(i=1∑m​ξi​≥a)+P(i=1∑n​ηi​−η​≥b)(3)
在 η \eta η层中剪枝最不重要的一个filter,后面变成了 η \eta η层中n个filter的贡献相加后减去这个最不重要的filter的贡献 大于等于b的概率

p ξ ‾ = P ( ∑ i = 1 m ξ i − ξ ‾ ≥ a ) + P ( ∑ i = 1 n η i ≥ b ) p_{\underline{\xi}}=P(\sum\limits_{i=1} ^m \xi_i - \underline{\xi} \geq a)+P(\sum\limits_{i=1} ^{n} \eta_i \geq b) pξ​​=P(i=1∑m​ξi​−ξ​≥a)+P(i=1∑n​ηi​≥b)(4)
在 ξ \xi ξ层中剪枝最不重要的filter,前面变成了 ξ \xi ξ层中m个filter的贡献相加后减去这个最不重要的filter的贡献 大于等于a的概率

p g = m m + n p ξ ‾ + n m + n p η ‾ p_g =\frac{m}{m+n}p_{\underline{\xi}}+\frac{n}{m+n}p_{\underline{\eta}} pg​=m+nm​pξ​​+m+nn​pη​​
在全局剪枝过程中,有 m m + n \frac{m}{m+n} m+nm​的几率剪掉 ξ \xi ξ层,有 n m + n \frac{n}{m+n} m+nn​的几率剪掉 η \eta η层,所以这里就直接拿剪掉 ξ \xi ξ层的公式(4)和剪掉 η \eta η层的公式(3)进行计算

3.2 粗略证明文章的中心思想

中心思想:在结构上最冗余的层上剪枝(也就是我们的情况3)比在所有层中剪掉最不重要的filters(情况5)表现要更好。当然接下来也是公式满满:

注意 0 ≤ η n − η ‾ ≤ η n 0\leq \eta_n-\underline{\eta}\leq \eta_n 0≤ηn​−η​≤ηn​
η \eta η层中随便一个filter的贡献减去 η \eta η层中最小的filter的贡献都会大于等于0

我们有 P ( ∑ i = 1 n − 1 η i ≥ b ) ≤ P ( ∑ i = 1 n η i − η ‾ ≥ b ) ≤ P ( ∑ i = 1 n η i ≥ b ) P( \sum\limits_{i=1}^{n-1}\eta_i \geq b ) \leq P( \sum\limits_{i=1}^{n}\eta_i -\underline{\eta} \geq b ) \leq P( \sum\limits_{i=1}^{n}\eta_i \geq b ) P(i=1∑n−1​ηi​≥b)≤P(i=1∑n​ηi​−η​≥b)≤P(i=1∑n​ηi​≥b)(6)
这个也很好理解,概率 P ( ∑ i = 1 n η i ≥ b ) P( \sum\limits_{i=1}^{n}\eta_i \geq b) P(i=1∑n​ηi​≥b):也就是 η \eta η层中所有的filter贡献相加大于等于b的概率,那这个概率肯定大于等于概率 P ( ∑ i = 1 n η i − η ‾ ≥ b ) P( \sum\limits_{i=1}^{n}\eta_i -\underline{\eta} \geq b ) P(i=1∑n​ηi​−η​≥b): η \eta η层中所有的filter贡献相加减去这当中最小的贡献还大于等于b的概率,毕竟 ∑ i = 1 n η i ≥ ∑ i = 1 n η i − η ‾ \sum\limits_{i=1}^{n}\eta_i \geq \sum\limits_{i=1}^{n} \eta_i -\underline{\eta} i=1∑n​ηi​≥i=1∑n​ηi​−η​,
同样的道理,概率 P ( ∑ i = 1 n η i − η ‾ ≥ b ) P( \sum\limits_{i=1}^{n}\eta_i -\underline{\eta} \geq b ) P(i=1∑n​ηi​−η​≥b)肯定也大于 P ( ∑ i = 1 n − 1 η i ≥ b ) P( \sum\limits_{i=1}^{n-1}\eta_i \geq b) P(i=1∑n−1​ηi​≥b),因为 ∑ i = 1 n η i − η ‾ ≥ ∑ i = 1 n − 1 η i \sum\limits_{i=1}^{n}\eta_i -\underline{\eta} \geq \sum\limits_{i=1}^{n-1}\eta_i i=1∑n​ηi​−η​≥i=1∑n−1​ηi​

把公式(6)的关系带入公式(1)(2)(3),也就意味着 p η r ≤ p η ‾ ≤ p o p_{\eta r} \leq p_{\underline{\eta}} \leq p_o pηr​≤pη​​≤po​,具体来说,就是在 η \eta η层中随机剪枝一个filter的表现 ≤ \leq ≤在 η \eta η层中剪枝最不重要的一个filter ≤ \leq ≤不剪枝!

3.3 详细比较五种情况

3.3.1 切比雪夫不等式

由于要用到切比雪夫不等式,我们简单复习一下百度百科上切老师的不等式:

切比雪夫不等式可以使人们在随机变量X的分布未知的情况下,对事件 ∣ X − μ ∣ ≤ ϵ |X-\mu| \leq \epsilon ∣X−μ∣≤ϵ的概率作出估计。

要使用切比雪夫不等式,那么就要保证 E ( X ) , D ( X ) E(X),D(X) E(X),D(X)都要存在且有限。

设随机变量X具有数学期望 E ( X ) = μ E(X)=\mu E(X)=μ,方差 D ( X ) = σ 2 D(X)=\sigma^2 D(X)=σ2,则对任意正数 ϵ \epsilon ϵ,不等式 P { ∣ X − μ ∣ ≥ ϵ } ≤ σ 2 ϵ 2 P\{|X-\mu| \geq \epsilon\} \leq \frac{\sigma^2}{\epsilon^2} P{∣X−μ∣≥ϵ}≤ϵ2σ2​ 或者 P { ∣ X − μ ∣ ≤ ϵ } ≥ 1 − σ 2 ϵ 2 P\{|X-\mu| \leq \epsilon\} \geq 1-\frac{\sigma^2}{\epsilon^2} P{∣X−μ∣≤ϵ}≥1−ϵ2σ2​成立。

∣ x n − a ∣ ≥ ϵ |x_n-a| \geq \epsilon ∣xn​−a∣≥ϵ若对于任意的 ϵ ≥ 0 \epsilon \geq 0 ϵ≥0,当n很大时,事件“ ∣ x n − a ∣ ≥ ϵ |x_n-a| \geq \epsilon ∣xn​−a∣≥ϵ”的概率接近于0,则称随机变量序列{ X n X_n Xn​}依概率收敛于a。正是因为概率,所以不排除小概率事件的发生。所以,依概率收敛是不确定现象中关于收敛的一种说法,记为 x n → P a x_n \stackrel{P}{\rightarrow} a xn​→Pa

3.3.2 使用切比雪夫不等式

对于在 η \eta η层中的这些filter,文中假设filter对网络表现的贡献不能为无穷大,也就是这些filter的贡献的方差是有界的,同时我们注意,每个filter η i \eta_i ηi​都是随机变量,毕竟我们是证明不管哪个网络都存在这个定理,每个filter都是不一样的,所以我们可以对每个filter η i \eta_i ηi​进行方差和期望的计算。

∃ C 1 > 0 , s . t . D η i ≤ C 1 , i = 1 , 2 , . . . , n . \exists C_1>0, s.t.D\eta_i \leq C_1,i=1,2,...,n. ∃C1​>0,s.t.Dηi​≤C1​,i=1,2,...,n.(7)
存在一个 C 1 C_1 C1​,满足 η \eta η层中每个filtrt的方差 ≤ C 1 \leq C_1 ≤C1​

通过切比雪夫不等式,对于任意真值 ϵ > 0 \epsilon > 0 ϵ>0:
P ( 1 n ∣ ∑ i = 1 n ( η i − E η i ) ∣ ≥ ϵ ) ≤ D ( ∑ i = 1 n η i ) ϵ 2 n 2 P(\frac{1}{n}| \sum\limits_{i=1}^n (\eta_i-E\eta_i)| \geq \epsilon) \leq \frac{D( \sum\limits_{i=1}^n\eta_i )}{\epsilon^2 n^2} P(n1​∣i=1∑n​(ηi​−Eηi​)∣≥ϵ)≤ϵ2n2D(i=1∑n​ηi​)​(8)
在这里,与切比雪夫不等式的标准形式 P { ∣ X − μ ∣ ≥ ϵ } ≤ σ 2 ϵ 2 P\{|X-\mu| \geq \epsilon\} \leq \frac{\sigma^2}{\epsilon^2} P{∣X−μ∣≥ϵ}≤ϵ2σ2​对比,作者用 1 n ∣ ∑ i = 1 n ( η i − E η i ) ∣ \frac{1}{n}| \sum\limits_{i=1}^n (\eta_i-E\eta_i)| n1​∣i=1∑n​(ηi​−Eηi​)∣表示平均每个filter的 ∣ X − μ ∣ |X-\mu| ∣X−μ∣,也就是 ∣ X − E ( X ) ∣ |X-E(X)| ∣X−E(X)∣。

至于为啥是 D ( ∑ i = 1 n η i ) D( \sum\limits_{i=1}^n\eta_i ) D(i=1∑n​ηi​)?
我们把不等式(8)左边稍微换个形式
P ( ∣ ∑ i = 1 n ( η i − E η i ) ∣ ≥ n ϵ ) ≤ D ( ∑ i = 1 n η i ) ( n ϵ ) 2 P(| \sum\limits_{i=1}^n (\eta_i-E\eta_i)| \geq n\epsilon) \leq \frac{D( \sum\limits_{i=1}^n\eta_i )}{(n\epsilon)^2} P(∣i=1∑n​(ηi​−Eηi​)∣≥nϵ)≤(nϵ)2D(i=1∑n​ηi​)​,这就表示累加每个filter的 ∣ X − μ ∣ |X-\mu| ∣X−μ∣,切比雪夫不等式右边的方差 σ 2 \sigma^2 σ2自然也变成累加每个filter的方差。

由公式(7),我们可以得出 C o n v ( η i , η j ) ≤ D η i ∗ D η j ≤ C 1 Conv(\eta_i,\eta_j) \leq \sqrt{D\eta_i*D\eta_j} \leq C_1 Conv(ηi​,ηj​)≤Dηi​∗Dηj​ ​≤C1​

这个不等式又是咋来的咧,我们要回顾下协方差系数 ρ X Y = C o n v ( X , Y ) D ( X ) D ( Y ) \rho_{XY}=\frac{Conv(X,Y)}{\sqrt{D(X)}\sqrt{D(Y)}} ρXY​=D(X) ​D(Y) ​Conv(X,Y)​,协方差系数表示随机变量X与Y的相关系数,这个相关系数的范围是[0,1],为0时则说明X与Y不线性相关,为1则说明完全线性相关。

这个是次要的,既然我们的 ρ ∈ [ 0 , 1 ] \rho \in [0,1] ρ∈[0,1],那么分子就一定小于等于分母,所以 C o n v ( η i , η j ) ≤ D η i ∗ D η j Conv(\eta_i,\eta_j) \leq \sqrt{D\eta_i*D\eta_j} Conv(ηi​,ηj​)≤Dηi​∗Dηj​ ​,最后由于公式(7) D η i ≤ C 1 D\eta_i \leq C_1 Dηi​≤C1​,那么自然 D η i ∗ D η j ≤ C 1 2 = C 1 \sqrt{D\eta_i*D\eta_j} \leq \sqrt{C_1^2}=C_1 Dηi​∗Dηj​ ​≤C12​ ​=C1​

我们进一步定义在 η \eta η层有 C 2 n ( 0 ≤ C 2 ≤ 1 ) C_2 n(0 \leq C_2 \leq 1) C2​n(0≤C2​≤1)对相关的filter,然后文中贴出与这句话等价的公式 # { ( i , j ) : C o n v ( η i , η j ) ≠ 0 , i ≠ j , i , j = 1 , . . . , n . } ≤ C 2 n \#\{(i,j):Conv(\eta_i,\eta_j) \neq 0, i \neq j, i,j=1,...,n.\} \leq C_2 n #{(i,j):Conv(ηi​,ηj​)​=0,i​=j,i,j=1,...,n.}≤C2​n

这又是在干什么咧,#其实代表数量,由于在公式(8)中我们还要计算 D ( ∑ i = 1 n η i ) D(\sum\limits_{i=1}^n\eta_i ) D(i=1∑n​ηi​),那其实 D ( ∑ i = 1 n η i ) = ∑ i = 1 n D η i + ∑ i ≠ j C o n v ( η i , η j ) D(\sum\limits_{i=1}^n\eta_i )=\sum\limits_{i=1}^n D\eta_i +\sum\limits_{i \neq j}Conv(\eta_i,\eta_j) D(i=1∑n​ηi​)=i=1∑n​Dηi​+i​=j∑​Conv(ηi​,ηj​) ,所以我们实际上还要计算 η i , η j \eta_i,\eta_j ηi​,ηj​的协方差,那我们就要估计下有多少对这样的协方差计算,上面提到 # { ( i , j ) : C o n v ( η i , η j ) ≠ 0 , i ≠ j , i , j = 1 , . . . , n . } ≤ C 2 n \#\{(i,j):Conv(\eta_i,\eta_j) \neq 0, i \neq j, i,j=1,...,n.\} \leq C_2 n #{(i,j):Conv(ηi​,ηj​)​=0,i​=j,i,j=1,...,n.}≤C2​n,所以最多有 C 2 n C_2 n C2​n对。

既然我们的不等式都到齐了
D η i ≤ C 1 D\eta_i \leq C_1 Dηi​≤C1​,
# { ( i , j ) : C o n v ( η i , η j ) ≠ 0 , i ≠ j , i , j = 1 , . . . , n . } ≤ C 2 n \#\{(i,j):Conv(\eta_i,\eta_j) \neq 0, i \neq j, i,j=1,...,n.\} \leq C_2 n #{(i,j):Conv(ηi​,ηj​)​=0,i​=j,i,j=1,...,n.}≤C2​n

那我们就开始放缩了:
D ( ∑ i = 1 n η i ) = ∑ i = 1 n D η i + ∑ i ≠ j C o n v ( η i , η j ) ≤ C 1 n + C 1 C 2 n = C 1 ( 1 + C 2 ) n D(\sum\limits_{i=1}^n\eta_i )=\sum\limits_{i=1}^n D\eta_i +\sum\limits_{i \neq j}Conv(\eta_i,\eta_j) \leq C_1 n+C_1C_2n=C_1(1+C_2)n D(i=1∑n​ηi​)=i=1∑n​Dηi​+i​=j∑​Conv(ηi​,ηj​)≤C1​n+C1​C2​n=C1​(1+C2​)n
C 1 n C_1 n C1​n代表n个 C 1 C_1 C1​, C 1 C 2 n C1C2n C1C2n代表 C 2 n C_2n C2​n个 C 1 C_1 C1​,因为协方差也是方差嘛,我们定义了方差的话都要小于等于 C 1 C_1 C1​

通过公式(8),我们可以得出:
P ( 1 n ∣ ∑ i = 1 n ( η i − E η i ) ∣ ≥ ϵ ) ≤ C 1 ( 1 + C 2 ) ϵ 2 n P(\frac{1}{n}| \sum\limits_{i=1}^n (\eta_i-E\eta_i)| \geq \epsilon) \leq \frac{C_1(1+C_2)}{\epsilon^2 n} P(n1​∣i=1∑n​(ηi​−Eηi​)∣≥ϵ)≤ϵ2nC1​(1+C2​)​

重点来了,回顾下切比雪夫依概率收敛:
∣ x n − a ∣ ≥ ϵ |x_n-a| \geq \epsilon ∣xn​−a∣≥ϵ若对于任意的 ϵ ≥ 0 \epsilon \geq 0 ϵ≥0,当n很大时,事件“ ∣ x n − a ∣ ≥ ϵ |x_n-a| \geq \epsilon ∣xn​−a∣≥ϵ”的概率接近于0,则称随机变量序列{ X n X_n Xn​}依概率收敛于a。正是因为概率,所以不排除小概率事件的发生。所以,依概率收敛是不确定现象中关于收敛的一种说法,记为 x n → P a x_n \stackrel{P}{\rightarrow} a xn​→Pa

若n足够大时, lim ⁡ n → + ∞ C 1 ( 1 + C 2 ) ϵ 2 n = 0 \lim\limits_{n\rightarrow +\infty}\frac{C_1(1+C_2)}{\epsilon^2 n}=0 n→+∞lim​ϵ2nC1​(1+C2​)​=0,也就是我们的事件 P ( 1 n ∣ ∑ i = 1 n ( η i − E η i ) ∣ ≥ ϵ ) P(\frac{1}{n}| \sum\limits_{i=1}^n (\eta_i-E\eta_i)| \geq \epsilon) P(n1​∣i=1∑n​(ηi​−Eηi​)∣≥ϵ)发生的概率小于等于一个无穷接近于0的数,那这个概率就更接近0了!我们把 1 n ∣ ∑ i = 1 n ( η i − E η i ) ∣ \frac{1}{n}| \sum\limits_{i=1}^n (\eta_i-E\eta_i)| n1​∣i=1∑n​(ηi​−Eηi​)∣看成是 ∣ 1 n ∣ ∑ i = 1 n ( η i − E η i ) ∣ − 0 ∣ |\frac{1}{n}| \sum\limits_{i=1}^n (\eta_i-E\eta_i)|-0| ∣n1​∣i=1∑n​(ηi​−Eηi​)∣−0∣,与 ∣ x n − a ∣ |x_n-a| ∣xn​−a∣对比下,得出结论:
1 n ∣ ∑ i = 1 n ( η i − E η i ) ∣ \frac{1}{n}| \sum\limits_{i=1}^n (\eta_i-E\eta_i)| n1​∣i=1∑n​(ηi​−Eηi​)∣依概率收敛到0!也就等价于 1 n ∣ ∑ i = 1 n ( η i − E η i ) ∣ → P 0 \frac{1}{n}| \sum\limits_{i=1}^n (\eta_i-E\eta_i)| \stackrel{P}{\rightarrow} 0 n1​∣i=1∑n​(ηi​−Eηi​)∣→P0。

假设在 η \eta η层filter的数量n足够大,比如 n > 2 b ϵ 0 n>\frac{2b}{\epsilon_0} n>ϵ0​2b​,我们考虑到一个filter的贡献虽然是正数,但它也可能是正无穷小,所以我们设filter的贡献的期望有一个一致的正下界:
∃ ϵ 0 > 0 , s . t . E η i ≥ ϵ 0 , i = 1 , 2 , . . . , n . \exists \epsilon_0>0, s.t.E\eta_i \geq \epsilon_0,i=1,2,...,n. ∃ϵ0​>0,s.t.Eηi​≥ϵ0​,i=1,2,...,n.(9)
接下来又是一堆高深的变形放缩:
P ( 1 n ∑ i = 1 n ( η i − E η i ) > − ϵ 0 2 ) = P ( ∑ i = 1 n ( η i − E η i ) > − ϵ 0 2 n ) P(\frac{1}{n}\sum\limits_{i=1}^n (\eta_i-E\eta_i)>-\frac{\epsilon_0}{2})=P(\sum\limits_{i=1}^n (\eta_i-E\eta_i)>-\frac{\epsilon_0}{2}n) P(n1​i=1∑n​(ηi​−Eηi​)>−2ϵ0​​)=P(i=1∑n​(ηi​−Eηi​)>−2ϵ0​​n)
= P ( ∑ i = 1 n η i > ∑ i = 1 n E η i − ϵ 0 2 n ) = P ( ∑ i = 1 n η i > ϵ 0 2 + ∑ i = 1 n E η i − ϵ 0 n ) =P(\sum\limits_{i=1}^n\eta_i>\sum\limits_{i=1}^nE\eta_i-\frac{\epsilon_0}{2}n)=P(\sum\limits_{i=1}^n\eta_i>\frac{\epsilon_0}{2} + \sum\limits_{i=1}^nE\eta_i-\epsilon_0n) =P(i=1∑n​ηi​>i=1∑n​Eηi​−2ϵ0​​n)=P(i=1∑n​ηi​>2ϵ0​​+i=1∑n​Eηi​−ϵ0​n)

= P ( ∑ i = 1 n η i > ϵ 0 2 n + ∑ i = 1 n ( E η i − ϵ 0 ) ) =P(\sum\limits_{i=1}^n\eta_i>\frac{\epsilon_0}{2}n+\sum\limits_{i=1}^n(E\eta_i-\epsilon_0)) =P(i=1∑n​ηi​>2ϵ0​​n+i=1∑n​(Eηi​−ϵ0​))
又因为 E η i ≥ ϵ 0 E\eta_i \geq \epsilon_0 Eηi​≥ϵ0​,所以:
P ( ∑ i = 1 n η i > ϵ 0 2 n + ∑ i = 1 n ( E η i − ϵ 0 ) ) ≤ P ( ∑ i = 1 n η i > ϵ 0 2 n ) P(\sum\limits_{i=1}^n\eta_i>\frac{\epsilon_0}{2}n+\sum\limits_{i=1}^n(E\eta_i-\epsilon_0))\leq P(\sum\limits_{i=1}^n\eta_i>\frac{\epsilon_0}{2}n) P(i=1∑n​ηi​>2ϵ0​​n+i=1∑n​(Eηi​−ϵ0​))≤P(i=1∑n​ηi​>2ϵ0​​n)

最后由于我们设的 n > 2 b ϵ 0 n>\frac{2b}{\epsilon_0} n>ϵ0​2b​,n缩小到 2 b ϵ 0 \frac{2b}{\epsilon_0} ϵ0​2b​,那我们的 ϵ 0 2 n \frac{\epsilon_0}{2}n 2ϵ0​​n也就缩小到了b, ∑ i = 1 n η i \sum\limits_{i=1}^n\eta_i i=1∑n​ηi​大于一个更小的数,几率就扩大了:
P ( ∑ i = 1 n η i > ϵ 0 2 n ) ≤ P ( ∑ i = 1 n η i > b ) P(\sum\limits_{i=1}^n\eta_i>\frac{\epsilon_0}{2}n)\leq P(\sum\limits_{i=1}^n\eta_i>b) P(i=1∑n​ηi​>2ϵ0​​n)≤P(i=1∑n​ηi​>b)

让n趋近于正无穷,回忆一下我们还有 1 n ∣ ∑ i = 1 n ( η i − E η i ) ∣ → P 0 \frac{1}{n}| \sum\limits_{i=1}^n (\eta_i-E\eta_i)| \stackrel{P}{\rightarrow} 0 n1​∣i=1∑n​(ηi​−Eηi​)∣→P0,我们可以得出:
lim ⁡ n → + ∞ P ( ∑ i = 1 n η i > b ) ≥ lim ⁡ n → + ∞ P ( 1 n ∑ i = 1 n ( η i − E η i ) > − ϵ 0 2 ) = 1 \lim\limits_{n \rightarrow+\infty}P(\sum\limits_{i=1}^n\eta_i>b)\geq \lim\limits_{n \rightarrow+\infty}P(\frac{1}{n}\sum\limits_{i=1}^{n}(\eta_i-E\eta_i)>-\frac{\epsilon_0}{2})=1 n→+∞lim​P(i=1∑n​ηi​>b)≥n→+∞lim​P(n1​i=1∑n​(ηi​−Eηi​)>−2ϵ0​​)=1
因为0大于一个负数的概率不管怎么说都是1嘛,所以 lim ⁡ n → + ∞ P ( ∑ i = 1 n η i > b ) = 1 \lim\limits_{n \rightarrow+\infty}P(\sum\limits_{i=1}^n\eta_i>b)=1 n→+∞lim​P(i=1∑n​ηi​>b)=1,概率毕竟不可能超过1哒

lim ⁡ n → + ∞ P ( ∑ i = 1 n η i − η r > b ) = lim ⁡ n → + ∞ P ( ∑ i = 1 n η i − η ‾ > b ) = 1 \lim\limits_{n \rightarrow+\infty}P(\sum\limits_{i=1}^n\eta_i-\eta_r>b) = \lim\limits_{n \rightarrow+\infty}P(\sum\limits_{i=1}^n\eta_i-\underline{\eta}>b)=1 n→+∞lim​P(i=1∑n​ηi​−ηr​>b)=n→+∞lim​P(i=1∑n​ηi​−η​>b)=1
n趋于无穷大了,随机剪一个filter或者剪掉 η \eta η层贡献最小的filter都不会咋样,他们的总贡献大于b的概率就是等于1

然后我们可以得出,当n无穷大时, p η r ≈ p η ‾ ≈ p o p_{\eta r} \approx p_{\underline{\eta}} \approx p_o pηr​≈pη​​≈po​
接着,因为n为无穷大, p ξ ‾ ≤ p o ≈ p η ‾ p_{\underline{\xi}} \leq p_o \approx p_{\underline{\eta}} pξ​​≤po​≈pη​​
前一个 p ξ ‾ ≤ p o p_{\underline{\xi}} \leq p_o pξ​​≤po​可以通过对比公式(1)和公式(4)得出
又因为 p g p_g pg​是 p ξ ‾ p_{\underline{\xi}} pξ​​和 p η ‾ p_{\underline{\eta}} pη​​的加权求和,所以 p ξ ‾ ≤ p g ≤ p η ‾ p_{\underline{\xi}}\leq p_g \leq p_{\underline{\eta}} pξ​​≤pg​≤pη​​

我们不能从公式(5)通过n趋近于正无穷大得出 p g ≈ p η p_g \approx p_\eta pg​≈pη​,因为我们不能假设m/n趋近于0,m有多大我们不知道!

总结以上,我们可以得出 p ξ ‾ ≤ p g ≤ p η r ≤ p η ‾ ≤ p o p_{\underline{\xi}}\leq p_g \leq p_{\eta r} \leq p_{\underline{\eta}} \leq p_o pξ​​≤pg​≤pηr​≤pη​​≤po​
由此我们详细证明了在最多冗余的层中剪枝比在所有层中剪最不重要的层表现要更好,也就是说详细证明了中心思想~

4, Methodology

从只有 ξ , η \xi,\eta ξ,η这两层扩展到有L层,4.1都是概念引入,应该没啥不好理解的,小编带大家从4.2开始叭

4.2 Pruning with structural redundancy reduction

4.2.2 l l l-covering number

让 l > 0 l>0 l>0成为一个被固定的自然数,如果 X ∈ ⋃ { B ( x ′ , l ) : x ′ ∈ X 0 } X \in \bigcup\{B(x^{'},l):x^{'}\in X_0\} X∈⋃{B(x′,l):x′∈X0​},在这 B ( x ′ , l ) = { x ∈ X : d ( x ′ , x ) ≤ l } B(x^{'},l)=\{x \in X:d(x^{'},x)\leq l\} B(x′,l)={x∈X:d(x′,x)≤l}是球心为 x ′ x^{'} x′半径为 l l l的球,那么子集 X 0 ∈ X X_0 \in X X0​∈X就被称为是X的 l l l-cover set。如果满足上述条件,就说明X被这些球 { B ( x ′ , l ) : x ′ ∈ X 0 } \{B(x^{'},l):x^{'}\in X_0\} {B(x′,l):x′∈X0​}所包裹。

这啥意思咧,我刚看这篇论文的时候想的是:一个球心为 x ′ x^{'} x′半径为 l l l的球能把X给全部包裹,并且可能有多个这种能把X全部包裹的球???我怎么想也不合理!
看到后面我就知道了: ⋃ \bigcup ⋃表示累加(没错,我之前以为是印刷错误,我看成竖着的包含符号了[捂脸 ]),表示累加说明啥,说明这些球心为 x ′ x^{'} x′半径为 l l l的小球只用包裹住X的一小部分,这些小球包裹的地方累加起来如果能把X全部覆盖,那么就说明X被这些球 { B ( x ′ , l ) : x ′ ∈ X 0 } \{B(x^{'},l):x^{'}\in X_0\} {B(x′,l):x′∈X0​}所包裹,这些球心的集合也就被称为是 X 0 X_0 X0​。

我们把X的 l l l-covering number记为:
N l c = ( N l c ( X ) ) = m i n { # X 0 : X 0 i s a n l − c o v e r s e t o f X } N_l^c =(N_l^c(X))=min\{\#X_0:X_0\ is\ an\ l-cover\ set\ of X\} Nlc​=(Nlc​(X))=min{#X0​:X0​ is an l−cover set ofX}
也就是用最少的球包裹住X,这些球的个数就是X的 l l l-covering number

4.2.3 Decomposition of a graph

接下来就是文章的又一个概念quotient space,靠字面很不好理解嗷,那我们就来看看是真么回事儿叭:

设 x , y ∈ X x,y \in X x,y∈X,若对任何 x ≠ y x \neq y x​=y,都存在一条从 x x x到 y y y的路径,则说明这个图是被连接的(个人感觉和连通图还是有区别,所以翻译成被连接的图),且路径距离不为无限大。对于没有被连接的图(X,E),我们定义一个符号“~”:当且仅当x到y只有一条路径存在,则计作 x ∼ y x\sim y x∼y。很明显,“~”是一个等价的关系。

让 X / ∼ = { X 1 , X 2 , . . . , X k } X/\sim =\{X_1,X_2,...,X_k\} X/∼={X1​,X2​,...,Xk​}代表quotient space:依据这些等价关系来分解X,也就是把X分解为一些不相交的集合 X = X 1 ⋃ X 2 ⋃ . . . ⋃ X k X=X_1 \bigcup X_2\bigcup...\bigcup X_k X=X1​⋃X2​⋃...⋃Xk​,这里 X i X_i Xi​里面的元素都是等价的,相当于分成了k个类。我们把k叫做the quotient space size。
X / ∼ X/\sim X/∼的意思就是:X依据“~”的等价关系

4.2.4 Estimate of the 1-covering number

终于写到最后一部分了,公式纯手打,真累人

因为计算 l l l-covering number是np难问题,也非常的花时间,所以文中用了个轻量级的方法去预测这个 N 1 c N_1^c N1c​。提醒大家一下, l l l代表半径的长度,我们这个标题是1-covering number,所以就是半径为1的情况嗷。设 X 0 X_0 X0​为图X的1-cover set,也就是 # X 0 = N 1 c \#X_0=N_1^c #X0​=N1c​(#代表数量)。我们接下来来预测一下这个 # X 0 \#X_0 #X0​。

固定半径 l ( = 1 o r 2 ) l(=1\ or\ 2) l(=1 or 2),让 x 1 ( l ) ∈ X , s . t . d e g ( x 1 ( l ) ) = m a x { d e g ( x ) : x ∈ X } x_1^{(l)}\in X, s.t. \ deg(x_1^{(l)})=max\{deg(x):x\in X\} x1(l)​∈X,s.t. deg(x1(l)​)=max{deg(x):x∈X}
也就是 x 1 ( l ) x_1^{(l)} x1(l)​的度为X中顶点最大的度。那其实 x 2 ( l ) x_2^{(l)} x2(l)​也很好理解了,就是第二大的度(很大度的样子 ),以此类推。

那么定义一个有限的序列 { x 1 ( l ) , x 2 ( l ) , . . . , x n l ( l ) } \{x_1^{(l)},x_2^{(l)},...,x_{nl}^{(l)}\} {x1(l)​,x2(l)​,...,xnl(l)​},如果我们定义一个 x k ( l ) x_k^{(l)} xk(l)​,我们就有接下来的两种情形:

(1) X = ⋃ i = 1 k B ( x i ( l ) , l ) X=\bigcup\limits_{i=1}^kB(x_i^{(l)},l) X=i=1⋃k​B(xi(l)​,l),也就是我们的X被这些球完全的包裹了,那k就是X的 l l l-covering number,于是乎我们停止序列的构建,获得最终这些球心 { x 1 ( l ) , x 2 ( l ) , . . . , x n k ( l ) } \{x_1^{(l)},x_2^{(l)},...,x_{nk}^{(l)}\} {x1(l)​,x2(l)​,...,xnk(l)​},这也不用进行轻量级预测了(运气比较好 )

(2)那要是我们的X没有被这k个球完全包裹,就在X中选取除了这k个球的范围之外的下一个球心
x k + 1 ( l ) ∈ X \ ⋃ i = 1 k B ( x i ( l ) , l ) x_{k+1}^{(l)}\in X\backslash \bigcup\limits_{i=1}^kB(x_i^{(l)},l) xk+1(l)​∈X\i=1⋃k​B(xi(l)​,l),其中
d e g ( x k + 1 ( l ) ) = m a x { d e g ( x ) : x ∈ X \ ⋃ i = 1 k B ( x i ( l ) , l ) } deg(x_{k+1}^{(l)})=max\{deg(x):x\in X \backslash \bigcup\limits_{i=1}^kB(x_i^{(l)},l)\} deg(xk+1(l)​)=max{deg(x):x∈X\i=1⋃k​B(xi(l)​,l)}
那么 x k + 1 ( l ) x_{k+1}^{(l)} xk+1(l)​的度就为X中第k+1大的度(很委屈的样子 )。

重复以上的步骤,最终我们获得序列:
{ x 1 ( l ) , x 2 ( l ) , . . . , x n l ( l ) } , l = 1 o r 2 \{x_1^{(l)},x_2^{(l)},...,x_{nl}^{(l)}\},\ l=1\ or\ 2 {x1(l)​,x2(l)​,...,xnl(l)​}, l=1 or 2
意思就是如果半径是1,我们就有n1个这样的圆心,如果半径是2,就有n2个。

至于n1和n2到底是怎么来的。。。我实在没招了就发邮件问了原作者,谢谢他的解释~~~,他的原话是:

n1和n2是根据文章中提到的归纳法定义的,文中为了数学上的严谨,写的可能有些晦涩,你可以这样理解:以l=1为例,我们每次取图中degree最大的顶点,然后把这个顶点和与其相连的顶点都去掉,重复这个过程,直到图变成空的为止。那么我们取出的顶点数量就是n1。这个n1的值一定是大于等于 N 1 c N_1^c N1c​的,因为取出的这n1个顶点一定是图的1-cover set,但这个1-cover set不一定是最优的cover set。

n1的构建过程是我们每次取点并将其第一层的邻居点删掉。同理,得到n2的点集就是我们每次取点的时候,把它的两层邻居都删掉,直到图变成空的,然后取出的点的数量就是n2。然后我们在文章中证明了n2是小于等于 N 1 c N_1^c N1c​的。这个证明逻辑比上面n1的稍微复杂些,我就不翻译了,但我想你带着上面关于n1和n2的定义的解释去读,应该不难理解。

有了他的解释,那接下来就容易多了~

接下来就是关键的预测的一步了,大致意思就是:当半径l=1时,我们有k个球覆盖X;那么当半径=2时,我们的球变大了,X的范围不变,那么球的数量就变少了,也就是当半径=2时,我们的 2 2 2-covering number也就小了。
最终得到 n 2 ≤ # X 0 = N 1 c = k n_2 \leq \#X_0=N_1^c=k n2​≤#X0​=N1c​=k,所以我们的 n 2 ≤ N 1 c ≤ n 1 n2 \leq N_1^c \leq n1 n2≤N1c​≤n1

当n1和n2相差无几时,就可以用 1 2 ( n 1 + n 2 ) \frac{1}{2}(n_1+n_2) 21​(n1​+n2​)来预测 N 1 c N_1^c N1c​,实际情况中大量实验证明这也是行得通的,因为n1和n2确实相差不大。

5, 最后

希望小伙伴们看了小编粗略的公式解读后可以对这篇文章理解的更深一点,这也是小编第一篇公式解读,希望喜欢的朋友不要吝啬你们的点赞,有疑问的和讨论的和反驳的欢迎在评论区一起探讨~~
好了小编要去看下一篇没啥公式的论文了,886~

ps:真的很累人啊这个公式编辑!比如公式8我是
P(\frac{1}{n}| \sum\limits_{i=1}^n (\eta_i-E\eta_i)| \geq \epsilon) \leq \frac{D( \sum\limits_{i=1}^n\eta_i )}{\epsilon^2 n^2}
这样打出来的你敢信!

Convolutional Neural Network Pruning with Structural Redundancy Reduction 公式解读相关推荐

  1. 【CVPR 2021】剪枝篇(二):Convolutional Neural Network Pruning with Structural Redundancy Reduction

    [CVPR 2021]剪枝篇(二):Convolutional Neural Network Pruning with Structural Redundancy Reduction 论文地址: 主要 ...

  2. 人群场景分析--Slicing Convolutional Neural Network for Crowd Video Understanding

    Slicing Convolutional Neural Network for Crowd Video Understanding CVPR2016 http://www.ee.cuhk.edu.h ...

  3. Paper翻译:《A Novel Convolutional Neural Network Based Model for Recognition and Classification of App》

    论文名称:<A Novel Convolutional Neural Network Based Model for Recognition and Classification of Appl ...

  4. Convolutional Neural Network

    Convolutional Neural Network 1. Convolutional Neural Network 中的各个 layer 提取什么样的特征 ? Visualizing and U ...

  5. Synaptic Strength For Convolutional Neural Network

    摘要 卷积神经网络(Convolutional Neural network, CNNs)既需要大量的计算,又需要大量的内存,这阻碍了它在移动设备上的应用.受到神经科学文献中相关概念的启发,我们提出了 ...

  6. 一步一步分析讲解深度神经网络基础-Convolutional Neural Network

    Convolutional Neural Network 参考http://cs231n.github.io/convolutional-networks/ history Convolutional ...

  7. 卷积神经网络(Convolutional Neural Network, CNN)

    卷积神经网络(Convolutional Neural Network, CNN) 目录 卷积神经网络(Convolutional Neural Network, CNN) 概述: 结构: 卷积层:

  8. 论文笔记 Inter-sentence Relation Extraction with Document-level Graph Convolutional Neural Network

    一.动机 为了抽取文档级别的关系,许多方法使用远程监督(distant supervision )自动地生成文档级别的语料,从而用来训练关系抽取模型.最近也有很多多实例学习(multi-instanc ...

  9. 二值网络--Optimize Deep Convolutional Neural Network with Ternarized Weights and High Accuracy

    Optimize Deep Convolutional Neural Network with Ternarized Weights and High Accuracy IEEE Winter Con ...

最新文章

  1. Python之旅.第四章.模块与包
  2. sql2008 删除日志
  3. poj 2528 Mayor's posters (线段树+离散化)
  4. python调用r语言_【Python调用第三方R包】【环境变量设置】Python 通过rpy2调用 R语言...
  5. 云付认证已通过可以支付吗_海科融通丨刷新支付日常问题【附交易操作步奏】...
  6. 学员感言html效果图,学员感言丨非计算机专业学员 开始学HTML5的点点滴滴
  7. IDEA for Mac 常用快捷键
  8. 判断IMEI或MEID是否合法
  9. iPhone 12系列起售价又要涨了?128GB起步...
  10. 毕啸南专栏 | 对话李开复:AI科学家的转型之路
  11. 计算机导航医学应用,【2016年】计算机导航在全膝关节置换中的应用技术及进展【临床医学论文】.doc...
  12. VFP用Foxjson玩转JSON,超简单的教程
  13. 联想启天m420刷bios_联想启天m425装win7,联想启天m420改win7
  14. 嵌入式开发日记(6)——对串口数据读取的优化以及处理程序的改写
  15. 产业科技创新杂志产业科技创新杂志社产业科技创新编辑部2022年第3期目录
  16. 计算机网络常见面试题目
  17. linux jdk,hadoop,zookeeper, hive , zeppelin ,sqoop ,hbase,scala,spark,flume,kafka 安装终极脚本全家桶安装
  18. 单片机:按键调节时钟
  19. 【实战篇】37 # 如何使用 QCharts 图表库绘制常用数据图表?
  20. 如何撰写一篇好的英文论文(感谢导师的指导,学到很多)

热门文章

  1. 重试框架Spring retry实践
  2. 《开源使用技术文摘》2009春节特刊火爆下载!
  3. 【SUMO学习】初级 Driving in Circles
  4. php 芝麻认证think_PHP 接入芝麻信用 注意 事项
  5. Java学习:Java就业前景
  6. Python:实现factorial阶乘算法(附完整源码)
  7. 转:区块链的这些事儿:十大法则、社会角色、社群运营
  8. linux中mongodb下载及安装
  9. 什么!作为交互设计师你还不知道这些吗??
  10. Unity渲染教程的GAD中文翻译版本地址