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

此文章是来自于田纳西大学和中山大学的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 引入网络的五种剪枝情况

我们假设有两个层,分别是

ξ

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

sumlimits_{i=1} ^m xi_i geq a

i=1mξia)和(

i

=

1

n

η

i

b

sumlimits_{i=1} ^n eta_i geq b

i=1nηib)去描述层

ξ

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(sumlimits_{i=1} ^m xi_i geq a)+P(sumlimits_{i=1} ^n eta_i geq b)

po=P(i=1mξia)+P(i=1nηib)(1)
没有进行剪枝时,就是普通的俩随机事件发生的概率进行相加

p

η

r

=

P

(

i

=

1

m

ξ

i

a

)

+

P

(

i

=

1

n

1

η

i

b

)

p_{eta r}=P(sumlimits_{i=1} ^m xi_i geq a)+P(sumlimits_{i=1} ^{n-1} eta_i geq b)

pηr=P(i=1mξia)+P(i=1n1ηib)(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(sumlimits_{i=1} ^m xi_i geq a)+P(sumlimits_{i=1} ^n eta_i - underline{eta} geq b)

pη=P(i=1mξia)+P(i=1nη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(sumlimits_{i=1} ^m xi_i - underline{xi} geq a)+P(sumlimits_{i=1} ^{n} eta_i geq b)

pξ=P(i=1mξiξa)+P(i=1nηib)(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+nmpξ+m+nnpη
在全局剪枝过程中,有

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

0leq 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( sumlimits_{i=1}^{n-1}eta_i geq b ) leq P( sumlimits_{i=1}^{n}eta_i -underline{eta} geq b ) leq P( sumlimits_{i=1}^{n}eta_i geq b )

P(i=1n1ηib)P(i=1nηiηb)P(i=1nηib)(6)
这个也很好理解,概率

P

(

i

=

1

n

η

i

b

)

P( sumlimits_{i=1}^{n}eta_i geq b)

P(i=1nηib):也就是

η

eta

η层中所有的filter贡献相加大于等于b的概率,那这个概率肯定大于等于概率

P

(

i

=

1

n

η

i

η

b

)

P( sumlimits_{i=1}^{n}eta_i -underline{eta} geq b )

P(i=1nηiηb)

η

eta

η层中所有的filter贡献相加减去这当中最小的贡献还大于等于b的概率,毕竟

i

=

1

n

η

i

i

=

1

n

η

i

η

sumlimits_{i=1}^{n}eta_i geq sumlimits_{i=1}^{n} eta_i -underline{eta}

i=1nηii=1nηiη
同样的道理,概率

P

(

i

=

1

n

η

i

η

b

)

P( sumlimits_{i=1}^{n}eta_i -underline{eta} geq b )

P(i=1nηiηb)肯定也大于

P

(

i

=

1

n

1

η

i

b

)

P( sumlimits_{i=1}^{n-1}eta_i geq b)

P(i=1n1ηib),因为

i

=

1

n

η

i

η

i

=

1

n

1

η

i

sumlimits_{i=1}^{n}eta_i -underline{eta} geq sumlimits_{i=1}^{n-1}eta_i

i=1nηiηi=1n1ηi

把公式(6)的关系带入公式(1)(2)(3),也就意味着

p

η

r

p

η

p

o

p_{eta r} leq p_{underline{eta}} leq p_o

pηrpη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

xnaϵ若对于任意的

ϵ

0

epsilon geq 0

ϵ0当n很大时,事件“

x

n

a

ϵ

|x_n-a| geq epsilon

xnaϵ”的概率接近于0,则称随机变量序列{

X

n

X_n

Xn}依概率收敛于a。正是因为概率,所以不排除小概率事件的发生。所以,依概率收敛是不确定现象中关于收敛的一种说法,记为

x

n

P

a

x_n stackrel{P}{rightarrow} a

xnPa

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.Deta_i leq C_1,i=1,2,...,n.

C1>0,s.t.DηiC1,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}| sumlimits_{i=1}^n (eta_i-Eeta_i)| geq epsilon) leq frac{D( sumlimits_{i=1}^neta_i )}{epsilon^2 n^2}

P(n1i=1n(ηiEηi)ϵ)ϵ2n2D(i=1nη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}| sumlimits_{i=1}^n (eta_i-Eeta_i)|

n1i=1n(ηiEηi)表示平均每个filter的

X

μ

|X-mu|

Xμ,也就是

X

E

(

X

)

|X-E(X)|

XE(X)

至于为啥是

D

(

i

=

1

n

η

i

)

D( sumlimits_{i=1}^neta_i )

D(i=1nηi)?
我们把不等式(8)左边稍微换个形式

P

(

i

=

1

n

(

η

i

E

η

i

)

n

ϵ

)

D

(

i

=

1

n

η

i

)

(

n

ϵ

)

2

P(| sumlimits_{i=1}^n (eta_i-Eeta_i)| geq nepsilon) leq frac{D( sumlimits_{i=1}^neta_i )}{(nepsilon)^2}

P(i=1n(ηiEηi)nϵ)(nϵ)2D(i=1nη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{Deta_i*Deta_j} leq C_1

Conv(ηi,ηj)DηiDη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{Deta_i*Deta_j}

Conv(ηi,ηj)DηiDηj

,最后由于公式(7)

D

η

i

C

1

Deta_i leq C_1

DηiC1,那么自然

D

η

i

D

η

j

C

1

2

=

C

1

sqrt{Deta_i*Deta_j} leq sqrt{C_1^2}=C_1

DηiDηj

C12

=C1

我们进一步定义在

η

eta

η层有

C

2

n

(

0

C

2

1

)

C_2 n(0 leq C_2 leq 1)

C2n(0C21)对相关的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.}C2n

这又是在干什么咧,#其实代表数量,由于在公式(8)中我们还要计算

D

(

i

=

1

n

η

i

)

D(sumlimits_{i=1}^neta_i )

D(i=1nηi),那其实

D

(

i

=

1

n

η

i

)

=

i

=

1

n

D

η

i

+

i

j

C

o

n

v

(

η

i

,

η

j

)

D(sumlimits_{i=1}^neta_i )=sumlimits_{i=1}^n Deta_i +sumlimits_{i neq j}Conv(eta_i,eta_j)

D(i=1nηi)=i=1nDηi+i=jConv(η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.}C2n,所以最多有

C

2

n

C_2 n

C2n对。

既然我们的不等式都到齐了

D

η

i

C

1

Deta_i leq C_1

DηiC1,

#

{

(

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.}C2n

那我们就开始放缩了:

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(sumlimits_{i=1}^neta_i )=sumlimits_{i=1}^n Deta_i +sumlimits_{i neq j}Conv(eta_i,eta_j) leq C_1 n+C_1C_2n=C_1(1+C_2)n

D(i=1nηi)=i=1nDηi+i=jConv(ηi,ηj)C1n+C1C2n=C1(1+C2)n

C

1

n

C_1 n

C1n代表n个

C

1

C_1

C1

C

1

C

2

n

C1C2n

C1C2n代表

C

2

n

C_2n

C2n

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}| sumlimits_{i=1}^n (eta_i-Eeta_i)| geq epsilon) leq frac{C_1(1+C_2)}{epsilon^2 n}

P(n1i=1n(ηiEηi)ϵ)ϵ2nC1(1+C2)

重点来了,回顾下切比雪夫依概率收敛:

x

n

a

ϵ

|x_n-a| geq epsilon

xnaϵ若对于任意的

ϵ

0

epsilon geq 0

ϵ0当n很大时,事件“

x

n

a

ϵ

|x_n-a| geq epsilon

xnaϵ”的概率接近于0,则称随机变量序列{

X

n

X_n

Xn}依概率收敛于a。正是因为概率,所以不排除小概率事件的发生。所以,依概率收敛是不确定现象中关于收敛的一种说法,记为

x

n

P

a

x_n stackrel{P}{rightarrow} a

xnPa

若n足够大时,

lim

n

+

C

1

(

1

+

C

2

)

ϵ

2

n

=

0

limlimits_{nrightarrow +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}| sumlimits_{i=1}^n (eta_i-Eeta_i)| geq epsilon)

P(n1i=1n(ηiEηi)ϵ)发生的概率小于等于一个无穷接近于0的数,那这个概率就更接近0了!我们把

1

n

i

=

1

n

(

η

i

E

η

i

)

frac{1}{n}| sumlimits_{i=1}^n (eta_i-Eeta_i)|

n1i=1n(ηiEηi)看成是

1

n

i

=

1

n

(

η

i

E

η

i

)

0

|frac{1}{n}| sumlimits_{i=1}^n (eta_i-Eeta_i)|-0|

n1i=1n(ηiEηi)0,与

x

n

a

|x_n-a|

xna对比下,得出结论:

1

n

i

=

1

n

(

η

i

E

η

i

)

frac{1}{n}| sumlimits_{i=1}^n (eta_i-Eeta_i)|

n1i=1n(ηiEηi)依概率收敛到0!也就等价于

1

n

i

=

1

n

(

η

i

E

η

i

)

P

0

frac{1}{n}| sumlimits_{i=1}^n (eta_i-Eeta_i)| stackrel{P}{rightarrow} 0

n1i=1n(ηiEηi)P0

假设在

η

eta

η层filter的数量n足够大,比如

n

>

2

b

ϵ

0

n>frac{2b}{epsilon_0}

n>ϵ02b,我们考虑到一个filter的贡献虽然是正数,但它也可能是正无穷小,所以我们设filter的贡献的期望有一个一致的正下界:

ϵ

0

>

0

,

s

.

t

.

E

η

i

ϵ

0

,

i

=

1

,

2

,

.

.

.

,

n

.

exists epsilon_0>0, s.t.Eeta_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}sumlimits_{i=1}^n (eta_i-Eeta_i)>-frac{epsilon_0}{2})=P(sumlimits_{i=1}^n (eta_i-Eeta_i)>-frac{epsilon_0}{2}n)

P(n1i=1n(ηiEηi)>2ϵ0)=P(i=1n(ηiEηi)>2ϵ0n)

=

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(sumlimits_{i=1}^neta_i>sumlimits_{i=1}^nEeta_i-frac{epsilon_0}{2}n)=P(sumlimits_{i=1}^neta_i>frac{epsilon_0}{2} + sumlimits_{i=1}^nEeta_i-epsilon_0n)

=P(i=1nηi>i=1nEηi2ϵ0n)=P(i=1nηi>2ϵ0+i=1nEηiϵ0n)

=

P

(

i

=

1

n

η

i

>

ϵ

0

2

n

+

i

=

1

n

(

E

η

i

ϵ

0

)

)

=P(sumlimits_{i=1}^neta_i>frac{epsilon_0}{2}n+sumlimits_{i=1}^n(Eeta_i-epsilon_0))

=P(i=1nηi>2ϵ0n+i=1n(Eηiϵ0))
又因为

E

η

i

ϵ

0

Eeta_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(sumlimits_{i=1}^neta_i>frac{epsilon_0}{2}n+sumlimits_{i=1}^n(Eeta_i-epsilon_0))leq P(sumlimits_{i=1}^neta_i>frac{epsilon_0}{2}n)

P(i=1nηi>2ϵ0n+i=1n(Eηiϵ0))P(i=1nηi>2ϵ0n)

最后由于我们设的

n

>

2

b

ϵ

0

n>frac{2b}{epsilon_0}

n>ϵ02b,n缩小到

2

b

ϵ

0

frac{2b}{epsilon_0}

ϵ02b,那我们的

ϵ

0

2

n

frac{epsilon_0}{2}n

2ϵ0n也就缩小到了b,

i

=

1

n

η

i

sumlimits_{i=1}^neta_i

i=1nηi大于一个更小的数,几率就扩大了:

P

(

i

=

1

n

η

i

>

ϵ

0

2

n

)

P

(

i

=

1

n

η

i

>

b

)

P(sumlimits_{i=1}^neta_i>frac{epsilon_0}{2}n)leq P(sumlimits_{i=1}^neta_i>b)

P(i=1nηi>2ϵ0n)P(i=1nηi>b)

让n趋近于正无穷,回忆一下我们还有

1

n

i

=

1

n

(

η

i

E

η

i

)

P

0

frac{1}{n}| sumlimits_{i=1}^n (eta_i-Eeta_i)| stackrel{P}{rightarrow} 0

n1i=1n(ηiEηi)P0,我们可以得出:

lim

n

+

P

(

i

=

1

n

η

i

>

b

)

lim

n

+

P

(

1

n

i

=

1

n

(

η

i

E

η

i

)

>

ϵ

0

2

)

=

1

limlimits_{n rightarrow+infty}P(sumlimits_{i=1}^neta_i>b)geq limlimits_{n rightarrow+infty}P(frac{1}{n}sumlimits_{i=1}^{n}(eta_i-Eeta_i)>-frac{epsilon_0}{2})=1

n+limP(i=1nηi>b)n+limP(n1i=1n(ηiEηi)>2ϵ0)=1
因为0大于一个负数的概率不管怎么说都是1嘛,所以

lim

n

+

P

(

i

=

1

n

η

i

>

b

)

=

1

limlimits_{n rightarrow+infty}P(sumlimits_{i=1}^neta_i>b)=1

n+limP(i=1nηi>b)=1,概率毕竟不可能超过1哒

lim

n

+

P

(

i

=

1

n

η

i

η

r

>

b

)

=

lim

n

+

P

(

i

=

1

n

η

i

η

>

b

)

=

1

limlimits_{n rightarrow+infty}P(sumlimits_{i=1}^neta_i-eta_r>b) = limlimits_{n rightarrow+infty}P(sumlimits_{i=1}^neta_i-underline{eta}>b)=1

n+limP(i=1nηiηr>b)=n+limP(i=1nη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ηrpηpo
接着,因为n为无穷大,

p

ξ

p

o

p

η

p_{underline{xi}} leq p_o approx p_{underline{eta}}

pξpopη
前一个

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ξpgpη

我们不能从公式(5)通过n趋近于正无穷大得出

p

g

p

η

p_g approx p_eta

pgpη,因为我们不能假设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ξpgpηrpη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):xX0},在这

B

(

x

,

l

)

=

{

x

X

:

d

(

x

,

x

)

l

}

B(x^{'},l)={x in X:d(x^{'},x)leq l}

B(x,l)={xX:d(x,x)l}是球心为

x

x^{'}

x半径为

l

l

l的球,那么子集

X

0

X

X_0 in X

X0X就被称为是X的

l

l

l-cover set。如果满足上述条件,就说明X被这些球

{

B

(

x

,

l

)

:

x

X

0

}

{B(x^{'},l):x^{'}in X_0}

{B(x,l):xX0}所包裹。

这啥意思咧,我刚看这篇论文的时候想的是:一个球心为

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):xX0}所包裹,这些球心的集合也就被称为是

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 lcover 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,yX,若对任何

x

y

x neq y

x=y,都存在一条从

x

x

x

y

y

y的路径,则说明这个图是被连接的(个人感觉和连通图还是有区别,所以翻译成被连接的图),且路径距离不为无限大。对于没有被连接的图(X,E),我们定义一个符号“~”:当且仅当x到y只有一条路径存在,则计作

x

y

xsim y

xy。很明显,“~”是一个等价的关系。

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_2bigcup...bigcup X_k

X=X1X2...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):xin X}

x1(l)X,s.t. deg(x1(l))=max{deg(x):xX}
也就是

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=bigcuplimits_{i=1}^kB(x_i^{(l)},l)

X=i=1kB(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 Xbackslash bigcuplimits_{i=1}^kB(x_i^{(l)},l)

xk+1(l)Xi=1kB(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):xin X backslash bigcuplimits_{i=1}^kB(x_i^{(l)},l)}

deg(xk+1(l))=max{deg(x):xXi=1kB(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

n2N1cn1

当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}| sumlimits_{i=1}^n (eta_i-Eeta_i)| geq epsilon) leq frac{D( sumlimits_{i=1}^neta_i )}{epsilon^2 n^2}
这样打出来的你敢信!

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码

)">
< <上一篇
下一篇>>