原文地址
1.创新点
提出了一种新的过滤器剪枝方法,即通过几何中值的过滤器剪枝(FPGM
)来压缩模型。
与以前的方法不同,FPGM
通过修剪带有冗余信息的过滤器而不是那些重要性“相对较低”的过滤器来压缩 CNN
模型。
与之前修剪贡献相对较少的过滤器的方法不同,FPGM
选择具有最大可替换贡献的过滤器。具体来说,我们计算同一层内过滤器的几何中值 (GM
) [8]。根据 GM
的特性,它附近的滤波器 F
可以用剩下的滤波器来表示。因此,修剪这些过滤器不会对模型性能产生实质性的负面影响。
2.解决了哪些问题
基于范数的剪枝方法,依赖两个并不总是满足的要求:(1)滤波器的范数偏差应该很大; (2) 滤波器的最小范数应该很小。而 FPGM
不需要这两个要求。
将修剪操作与正常训练过程相结合,因此不需要额外的微调。
3.原理和算法流程
先求出第 i
层的几何中值,在从第 i
层找出最接近该几何中值的滤波器,将它们置 0。
为了摆脱基于范数标准中的约束,我们提出了一种受几何中值启发的新过滤器修剪方法。几何中值 [8] 的中心思想如下:给定一组 n 个点
a
(
1
)
,
.
.
.
,
a
(
n
)
a^{(1)},...,a^{(n)}
a(1),...,a(n),每个点
a
(
i
)
∈
R
d
a^{(i)} ∈ R^d
a(i)∈Rd,找到一个点
x
∗
∈
R
d
x^∗ ∈ R^d
x∗∈Rd 最小化到它们的欧几里得距离之和:
其中 [1, n] = {1, …, n}。
由于几何中值是欧几里得空间中数据中心性的经典鲁棒估计量[8],我们使用几何中值来获取单个第 i
层内所有滤波器的公共信息:
在第 i
层中,找到最接近该层几何中值的滤波器:
那么
F
i
,
j
∗
F_{i,j}∗
Fi,j∗ 可以由同一层中的其他过滤器表示,因此,修剪它们对网络性能几乎没有负面影响。
由于几何中值是欧几里得空间中数据中心性的经典鲁棒估计量,因此所选滤波器
F
i
,
x
∗
F_{i, x}*
Fi,x∗ 和剩余滤波器共享最有共通性的信息。这表明过滤器
F
i
,
x
∗
F_{i,x}*
Fi,x∗ 的信息可以被其它滤波器替换。经过微调,网络可以轻松恢复其原始性能,因为修剪后的过滤器的信息可以由剩余的过滤器表示。因此,过滤器
F
i
,
x
∗
F_{i,x}*
Fi,x∗ 可以被修剪,对神经网络的最终结果的影响可以忽略不计。