曲海成,张雪聪,王宇萍
辽宁工程技术大学 软件学院,辽宁 葫芦岛 125105
目前卷积神经网络已经在图像分类[1]、目标检测[2-3]和图像分割[4]等多个研究领域取得了卓越的成绩。在深度学习领域,从最初简单的只有10个类别、7万张图像的MINIST手写数字数据集到后来的1 000个类别、128万张图像的ILSVRC-2012数据集,数据集的种类和图片数量逐渐增多,与之对应的是网络模型的参数量和计算量也急剧增长。巨大的参数量和模型计算量也成为深度学习模型应用到更多场景的阻碍。因此压缩网络参数以实现模型加速成为计算机视觉领域中的一个研究热点。
本文研究的结构化剪枝是卷积神经网络模型压缩中的一种方法,依赖一定的准则移除冗余参数,能够在保证网络模型结构完整的前提下,有效减少模型复杂度,进而实现模型加速。
为了获得更轻量级的模型,大多数结构化剪枝方法基于预训练权重获得的信息进行剪枝[5-8]。然而,这类方法有两个明显的缺点:(1)当很难获取预训练权重文件的时候,只能从头开始训练模型,比较耗时;(2)当已有适用的预训练权重文件时,最终的剪枝效果是对预训练权重的训练环境敏感的,对于预训练权重过分依赖,极易造成精度损失下降明显的问题,通常需要较长时间的微调以满足应用需求。
此外,还有一类在训练中引入掩膜操作剪枝的方法[9],即将剪枝准则认定不重要的参数及其梯度置为0。这类方法引入的掩膜操作增大了模型训练阶段的参数量,而且被置为0的参数在训练过程中仍存在模型当中,使得此类方法在训练阶段耗时相较于原始网络并没有明显减少。
同时以上方法直接丢弃或无视了非重要卷积核之中的信息,而事实上很难依赖一个准则完全准确地区分卷积核的重要性,后续的实验表明保留一定比例的非重要卷积核中的信息对模型剪枝的最终效果产生了正面影响。
针对以上问题,本文提出了一种基于信息融合策略的卷积神经网络结构化剪枝方法,称之为APBM方法。APBM方法使用概率化后的信息熵差值平方作为卷积核的相似性分布,并使用分布之间的相对熵作为卷积核重要性度量依据。为了使得剪枝过程有较好的容错性以及减少信息损失,APBM以一定比例融合重要卷积核信息和不重要卷积核信息,该过程称为信息融合。信息融合后得到的新网络称为融合网络。APBM在训练过程中,使用原始网络的信息得到融合网络,并以融合网络得到的损失值指导原始网络的参数更新,在下一次迭代中再次重复上述步骤。这使得APBM在不依赖预训练模型的情况下,仅需一次训练就能获得较高精度的轻量化模型。训练成本几乎与直接训练一个剪枝后的网络相当,并且实验证明信息融合策略为模型精度的保持带来了积极的影响。
深度卷积神经网络的压缩和加速方法主要分为网络压缩和轻量化网络设计两大类。轻量化网络设计的目的是设计出参数量小、运行速度快的网络,如权宇等[10]的工作设计了一种新的轻量化网络,极大地提高了两阶段目标检测框架的检测速度。而本文方法侧重于对网络压缩方法的研究,网络压缩方法种类繁多,据郎磊等[11]的工作表明,主要可分为量化、知识蒸馏、网络剪枝等。
量化技术为了降低网络模型所占的存储空间,使用较低位宽表示现有神经网络中参数常用的32位浮点数。Hu等[12]提出了基于哈希的二值化权重算法,使用哈希映射将二值化权重学习问题转换为哈希问题求解。Kim等[13]使用整数形式的二阶多项式和平方根算法近似GELU、Softmax激活函数以及LayerNorm中的运算,最终实现了基于Transformer的网络模型的整数量化。
知识蒸馏技术在学生网络中引入教师网络的软目标,通过教师网络的知识指导学生网络的学习。Shen等[14]基于对抗的学习策略消除教师网络与学生网络的差异。Turc等[15]通过实验证明对学生网络先进行预训练,再使用知识蒸馏技术训练而后微调可以使得学生网络的性能表现获得更进一步的提升。
低秩分解技术采用若干个小尺寸的权重矩阵代替较大尺寸的权重矩阵,减少权重参数,消除网络中的冗余。Lebedev等[16]提出了CP分解,将一层网络分解为五层复杂度较低的网络层。Idelbayev等[17]以分类损失函数和权重代价函数两个角度构建优化函数,同时使用秩对优化函数进行约束,解决了网络中每层的最佳秩难以确定的问题。
主流的剪枝方法主要分为两大类:非结构化剪枝和结构化剪枝。非结构化剪枝将网络中的被认为不重要的权重置0以获得稀疏矩阵,进而实现较高的模型压缩比。Aghasi等[18]通过设计一个求解凸优化的程序,对经过训练后的模型逐层剪枝不重要的连接,同时保持每层的输入输出不发生变化。Liu等[19]根据卷积层中的空间的相关性提出了一种频域动态剪枝的方案,在每次迭代中动态剪枝卷积核的DCT系数,并在不同频带中实行不同的剪枝方案。Zhang等[20]利用交替方向乘法器(ADMM)将权重剪枝问题分解为两个子问题,可以分别用SGD和解析法求解。Zhang等[21]通过实验证明可以在原始网络中的预训练模型中不修改任何权重值就能找到“中奖彩票”,并使用了基于权值大小的剪枝方案作为预热,以减少搜索“中奖彩票”的成本。
而现有的深度学习库不能很好地支持非结构化剪枝的实际加速,为此需要设计专门的硬件或者运行库,严重限制了剪枝后模型的通用性。而结构化剪枝则移除整个卷积核,剪枝后的模型仍然可以运用深度学习库进行加速。Lin等[22]基于保持矩阵的二阶协方差信息就可以最大化多变量数据的相关性的理论,将保持卷积核的二阶协方差信息问题转换为矩阵草图问题,使用频繁方向算法求解该问题。并使用得到的草图作为剪枝后微调的预热。Liu等[5]为BN(batch normalization)层添加L1正则化约束,并根据训练后的权重值设置全局阈值删除较小的BN层系数值对应的通道。Zhuang等[8]针对L1正则化的阈值界限难确定的问题,提出了一个新的正则化手段Polarization,使得一部分BN层的缩放因子γ趋向于0,另一部分明显大于0。Lin等[6]观察到输出特征图具有秩不变性,且认为低秩的特征映射包含更少的信息,并依此性质删除了输出低秩特征图的卷积核。Lin等[7]使用预训练权重和人工蜂群算法寻找到最佳蜜源,并根据最佳蜜源重新构建模型后训练以恢复其性能。陆林等[23]将卷积核的剪枝问题转换为稀疏二值约束问题,从训练中学习到卷积核的重要性。
与以上方法[5-7]不同,在训练中剪枝的方法不需要预训练权重,并且能够很好地保持模型精度。Meng等[9]提出了针对滤波器形状的剪枝方案,通过在训练中引入可学习的滤波器骨架矩阵,以添加掩膜操作的方式得到每个滤波器的最佳形状。
本文采用在训练中动态剪枝的策略,不同于上述方法[5-9,23],APBM算法既不依赖预训练模型,也不在原始网络中添加掩膜操作,而是采用在训练中引入卷积核信息熵概念动态剪枝以及采用信息融合的方法,通过原始网络的信息引导轻量模型的训练。
APBM方法的剪枝流程如图1所示,有以下步骤:(1)计算原始模型中的卷积核的信息熵。
图1 APBM剪枝框架Fig.1 APBM pruning framework
(2)卷积核重要性度量。先计算卷积核的信息熵之间的差值的平方,再通过带有温度系数的softmax函数[24]得到卷积核之间的相似性分布。以相似性分布之间的相对熵数值作为卷积核的重要性分数。
(3)信息融合。依据手工设定的剪枝率结合卷积核的重要性分数,如图2所示,将卷积核区分成重要(蓝色)和非重要(紫色)两组,融合两者的信息得到新的卷积核(黄色和绿色)。
图2 APBM前向传播过程Fig.2 APBM forward propagation
(4)更新网络参数。以融合网络得到的损失值反向传播计算梯度,并更新原始网络的参数。
(5)再次重复(1)~(4)直至训练结束,最终保存最佳轻量化模型。
在信息论中,信息熵被认为是对信息不确定性的度量,即信息熵越大,系统越混乱。Lee等[25]的研究表明:信息熵越大,系统能够从输入数据中提取出的信息也就越多。所以使用信息熵来表示一个卷积核中的能够存储的信息量的多少,信息熵越大,就认为卷积核包含的信息量越多。
在模型剪枝领域,表征卷积核的方法常用卷积核权重的L1范数值,较小L1范数值的卷积核的重要程度被认为弱于较大L1范数值的卷积核[26-27]。当某一卷积核的所有参数都相同的时候,称之为等值卷积核。等值卷积核只是将输入信息放缩后传递给下一层,从信息论的角度来看,等值卷积核无法为模型带来任何额外有用的信息。由于L1范数值只关注权重的绝对值之和,当等值卷积核的值是一个较大的数时,其很可能被当作重要卷积核保留下来,这显然是不合理的。而以信息熵表征卷积核,其更关注于权重的分布变化,所以等值卷积核的信息熵为0。从卷积核的特征提取能力角度来看,等值卷积核没有特征提取能力,0信息熵更符合这样的结论。同时Meng等[28]的实验对比了使用L1范数值和信息熵选择最具代表性的卷积核做嫁接源的效果,发现使用信息熵得到的嫁接模型的效果最佳。综上所述,本文采用卷积核的信息熵去表征卷积核。
Wji表示第i层卷积层第j个卷积核,pk代表n个组中第k组权重数占全部的比例,H表示的信息熵。
在训练初期,原始网络中的卷积核的信息熵数值排序是不稳定的,如果直接使用信息熵数值排序进行重要性度量,信息融合后会导致模型在很多次迭代后仍然难达到收敛,同时这种方案也忽略了卷积核之间的相似性。
为此,本文提出一种基于相对熵的动态卷积核重要评估方案。该方案首先使用卷积核信息熵差值的平方表示卷积核之间的相似性,即:公式(2)用来表示卷积核Wij和卷积核Wik之间的相似性,为简便起见,将其记作Hij,k。Hij,k越小,两个卷积核之间的相似性越高。使用公式(2)可以求出第i层卷积层每个卷积核与其他卷积核之间的相似性,记为矩阵。使用Hji∈表示第i层卷积层第j个卷积核与本层的其他卷积核之间的相似性。
为了加大卷积核之间的差异以及实现动态评估卷积核重要性的目的,进行如下操作:
(1)将矩阵Hi经过一个带有温度系数t的softmax函数[24]转换成符合概率分布的数值,以表示某个卷积核与其他卷积核的相似性分布,如公式(3)所示:
其中,ex p(·)是指以自然常数e为底的指数函数。转换后的数值具有概率的性质,即
t是温度参数,当0
(2)使用卷积核与其他卷积核的相似性分布的相对熵均值作为当前卷积核的重要性分数。上一步中得到的相似性分布可以用来表征卷积核,相比于直接使用信息熵而言,其建立起了卷积核与卷积核之间的联系。同时与信息熵差值平方相比,相似性分布因为有温度参数t可以进一步扩大卷积核之间的差异性,有助于卷积核重要程度的判别。同时卷积核的相似性分布本质上是一种概率分布,因此区分卷积核的重要性的问题就转换为衡量概率分布之间的差异的问题。而相对熵均值就是一种表示两个概率分布之间偏离程度的方法,如公式(4)所示:
由公式(4)可知,当两个概率分布越相似的时候,相对熵越接近0。当两个概率分布差异越大时,相对熵越大,此时给定第i层剪枝率Zi,将Ri∈ℝciout按照从大到小的顺序排序,选取分值最大的前ciout( 1-Zi)个作为重要卷积核。而剪枝率Zi则由以往的实验经验所得。
训练初期卷积核参数都是随机初始化的,此时基于相对熵均值并不能很好的区分卷积核的重要程度,所以t的取值不应过大。t的初始值设置为1,并随着训练的深入逐步增大,表达式如下:
其中,A=10 000,tanh()·表示双曲正切函数,e表示当前的训练轮数(epoch)。A控制函数的最大值,随e的变化关系如图3所示。由图3可以看出,温度参数t从训练开始的1随着e的增大迅速增大至10 001,并在之后的迭代中保持稳定。
图3 训练过程中的温度系数Fig.3 Temperature coefficient in training process
在2.3节的基础上,将第i层卷积核分为两种,一种由重要的卷积核组成,记为其中表示Ii中的第m个元素。另一种由不重要的卷积核组成,记为表示Ui中的第g个元素,而m+g=ciout。
如图2所示,为了提高APBM剪枝的容错性和减少信息的损失,新卷积核信息由重要卷积核和不重要卷积核融合而成。数学表达式为:
在公式(6)中,W表示信息融合得到的新的卷积核。β是一个超参数,用来控制两组参数所占的比例,重要卷积核的信息应该占据主要地位,本文设取值范围为0.7≤β<1。当β=1时,公式(6)就退化为:
公式(7)表示的是直接丢弃非重要卷积核信息的方案,本文的3.3节中将验证其效果。
当β≠1时,对于不重要卷积核所占比例引入系数pi。这使得在训练初期pi不为one-hot分布时,信息融合过程有重要卷积核和其他所有非重要卷积核的信息,也就是在训练初期时参与信息融合过程的卷积核种类有两种,每个新卷积核的融合过程中参与计算的卷积核有( 1+g)个。到了训练后期,pi变为one-hot分布,此时各卷积核的重要性趋于稳定而且更加容易区分,就可以逐渐减少非重要卷积核的参与,非重要卷积核中的大部分将不再参与信息融合过程。假设当前卷积核的onehot分布中1所对应的卷积核记为χ,则此时的信息融合过程如公式(8)所示:
公式(8)表示当χ∉Ui时,即one-hot分布中1值所对应的卷积核是非当前卷积核外的其他重要卷积核时,由公式(6)可知,一个新卷积核的融合过程只有一个重要卷积核参与,所以新卷积核参数值仅与成线性关系,也就是此时参与信息融合过程的卷积核种类只有一种,每个新卷积核的融合过程中参与计算的卷积核共1个;而当χ∈Ui时,即one-hot分布中1值所对应的卷积核是非重要卷积核时,新卷积核参数值由当前卷积核和1值所对应的非重要卷积核线性组合而成,也就是此时参与信息融合过程的卷积核种类有两种,每个新卷积核的融合过程中参与计算的卷积核共2个。
在训练初期新卷积核由非重要卷积核和当前重要卷积核线性组合而成,这样的特性使得原始网络中非重要卷积核的参数可以依靠融合网络反向传播的过程求得梯度,进而更新其参数,即使剪枝错误,也可以通过梯度更新进行弥补。而直接丢弃非重要卷积核,就相当于阻断了非重要卷积核的梯度的计算,其参数在以后的训练过程中都不会得到更新。因此信息融合方案比直接丢弃非重要卷积核的方案更具有容错性。
如图2所示,APBM的前向传播过程中,使用融合成的新卷积核进行卷积运算,如公式(9)所示:
其中,x表示卷积的输出特征图,xi+1k表示第i层卷积层的输出特征图第k个通道的值。⊛表示卷积运算。基于信息熵的卷积核神经网络剪枝过程的主要流程如算法1所示。
算法1 APBM剪枝算法
输入 数据集D,原始网络M,保留系数β,训练轮数E,剪枝比例Z
输出 融合网络M
1.通过剪枝比例Z生成融合网络M的结构
2.输入数据集D到网络M中
3.for e=0→E do
4.t←通过式(5)计算温度系数数值
5.for i=0→N do
6. ΔHi←使用式(1)(2)计算信息熵差值
7. pi←使用式(3)计算相似性分布矩阵
8. Ri←使用式(4)计算重要性分数
9. M中的卷积核W←使用式(6)进行信息融合
10. 使用式(9)前向传播
11.end for
12.进行反向传播,更新原始网络M
13.end for
剪枝过程的成本从剪枝需要的计算量角度考虑。在APBM方法中,对于第i层的剪枝过程需要的计算量主要等于第i层保留的卷积核的卷积操作FLOPs加上信息融合操作的FLOPs,即:
其中,f=xwxhcinh2,以上式子为了简便起见都省略了上标i,xw和xh分别表示卷积层的输出特征图的宽度和高度。由公式(10)可知TFLOPs在Z∈[)0,1时是关于Z的递减函数,其值域为
而对于在训练过程中引入掩膜操作实现梯度不更新的算法[9],其剪枝过程第i层所需计算量为第i层卷积FLOPs加上掩膜操作的FLOPs,即:
由此可知,APBM方法所需的计算量TFLOPs≤MFLOPs,当且仅当剪枝率Z为0的时候取等号。模型的训练时间通常与计算量成正比,即APBM方法训练中需要的时间小于等于引入掩膜操作阻断梯度更新的剪枝算法。
对于只使用预训练权重不使用掩膜操作的剪枝算法[6-7,23],其剪枝过程第i层所需计算量为第i层保留的卷积核的卷积操作FLOPs,即:在同等剪枝率下,APBM方法的TFLOPs与这类方法的计算量PFLOPs的计算量差异为:
由公式(13)可以分析出,在同等剪枝率下,APBM方法相较于只使用预训练权重而不使用掩膜操作的方案,增加的计算量是很少的。而计算量的多少通常会影响训练时间的长短。
为了验证信息融合策略的有效性,本文在3.2节设置四组实验对信息融合和直接丢弃不重要卷积核信息两种策略进行实验验证。3.3节设置四组实验对APBM剪枝方法与其他结构化剪枝方法进行了对比实验,以验证APBM方法的模型压缩效果。
本文评价模型压缩的指标采用模型识别精度(top-1)、模型参数量及FLOPs,同时为对比不同剪枝方法在训练成本上的差异,引入每轮花费时间这一指标。
本文的验证实验在VGG16[29]和ResNet56[30]模型上进行,采用的数据集为CIFAR-10和CIFAR-100。CIFAR-10数据集中共有70 000幅尺寸为32×32像素的彩色图像,分为10类,其中训练集有50 000幅,验证集有10 000幅。CIFAR-100数据集与CIFAR-10类似,只是类别从10类增加到100类。在实验过程中遵循Meng等[9]的设置,对CIFAR-10和CIFAR-100使用简单的数据增强,训练集采用随机翻转、随机裁剪和归一化三种数据增强方法,验证集则只使用归一化操作。
实验代码均在Pytorch编程框架下完成,显卡为NVIDIA GTX 1080Ti。为了排除剪枝算法外的超参数的影响,在对比实验中参数设置都保持一致。参数设置参考Meng等[9]的设置,具体设置见表1。如非特殊说明,对VGG16和ResNet56的剪枝任务中APBM方法不进行任何微调。
表1 实验参数设置Table 1 Experimental parameter setting
对VGG16模型的剪枝任务,由于其结构简单,所以设置每一层的卷积的剪枝率Z∈而对ResNet56模型的剪枝任务,由于其结构中添加了如图4所示的两种残差结构。在剪枝的过程中需要保证其残差块的输入通道和输出通道是相同的,对残差结构的剪枝有很多策略,为了简单起见,APBM采取如下策略:
图4 ResNet56的两种残差形式Fig.4 Two residual forms of ResNet56
(1)ResNet56的第一个卷积剪枝率设置为0;
(2)每个残差块中的第二个卷积层剪枝率设置为0,只根据其中的第一个卷积层的剪枝率剪枝其输入通道;
(3)残差块中的短路连接中的卷积层剪枝率设置为0。
本节实验在CIFAR-10数据集和CIFAR-100数据集上对VGG16和ResNet56两种网络进行剪枝,并对信息融合和直接丢弃不重要卷积核信息两种方案进行对比,以验证信息融合的有效性。表2中的方案C、方案D分别代表公式(6)所对应的方案和公式(7)所对应的方案。由表2可知,使用CIFAR-10数据集、CIFAR-100数据集对VGG16和ResNet56的剪枝过程中,在相同的剪枝率下往往存在一个β∈[0.7,1),使得方案C得到的最佳精度大于方案D得到的最佳精度。结果表明选择一个合适的比例进行信息融合比直接丢弃非重要卷积核信息的效果更好,即信息融合方案为模型的精度保持带来了正面效益。后续的实验将基于方案C进行。
表2 不同信息保留策略的精度对比Table 2 Accuracy comparison of different information retention strategies
表3~表5中的指标除常见的精度损失、参数量下降率和FLOPs减少率外,还增加了训练时每个epoch需要耗费的平均时长,单位为s,以及整个剪枝算法总共消耗epoch数,包括预训练、剪枝、微调三个部分。
表5 VGG16/ResNet56基于CIFAR-100数据集的剪枝结果Table 5 Pruning results of VGG16/ResNet56 on CIFAR-100
表3展示了APBM剪枝算法与其他剪枝算法在CIFAR-10数据集中对VGG16模型的剪枝效果。SWP-δ表示其文献[9]中的阈值δ。由表3可知,APBM方法比Polarization[8]、SWP[9]、HRank[6]拥有更高的参数量压缩比率和FLOPs压缩比率,分别为92.74%和76.83%,在FLOPs上相较于ABCPruner[7]达到次优,但APBM在不进行任何微调的情况下精度仅下降0.01%。对于VGG16这个经常在目标检测、语义分割任务中做back‐bone的网络而言,APBM方法的表现极大地促进了其在移动终端上的部署。
表3 基于CIFAR-10的VGG16剪枝结果Table 3 Pruning results of VGG16 on CIFAR-10
表4中展示了APBM剪枝算法与其他剪枝算法在CIFAR-10数据集中对ResNet56模型的剪枝效果。APBM-L和APBM-H分别表示APBM剪枝方法在低剪枝率和高剪枝率的表现。在精度提升0.11%的情况下,APBM方法将ResNet56的模型参数量和FLOPs分别降低了48.84%和50.05%,比FilterSketch[22]、HRank[6]、Slim‐ming[5]和ABCPruner[7]方法更好;同时APBM在较低剪枝率下精度提升了0.20%。
表4 基于CIFAR-10的ResNet56剪枝结果Table 4 Pruning results of ResNet56 on CIFAR-10
表5中展示了在CIFAR-100数据集下各剪枝算法的表现,其中对VGG16剪枝后微调40轮以恢复模型性能。GReg-1是Wang等[31]提出的第一种算法。APBM算法仅以0.21%的精度损失,将VGG16模型的参数量以及FLOPs分别减少了72.91%和45.24%。在整体表现上比Polarization[8]和GReg-1[31]更优。在基于CIFAR100数据集对ResNet56剪枝的任务中,Slimming[5]方法在FLOPs减少率指标中比APBM方法表现更佳,但APBM方法的参数量减少率是Slimming[5]的近3倍。GReg-1[31]虽然模型压缩率更高,但是精度下降较为明显,而APBM算法并未造成任何精度损失。
综合分析表3~表5,使用预训练权重的算法,如HRank[6]、ABCPruner[7]、FilterSketch[22]、GReg-1[31]、ChipNet[32],在使用实验提供的相同的预训练权重文件进行剪枝后,精度相较于包括APBM在内的其他剪枝算法有着很明显的下降。从时间角度上分析,APBM方法在对VGG16的剪枝任务中,每epoch训练耗时相较于原模型训练缩短了一倍,而引入掩膜操作的剪枝算法SWP[9]基本与原模型训练相当;对于先稀疏后剪枝的算法如Polar‐ization[8]、Slimming[5]、GReg-1[31],其在稀疏训练的耗时也与原模型训练相当;对于直接采用原模型的预训练模型进行剪枝的算法而言,如ABCPruner[7]、FilterSketch[22]、HRank[6],其耗时在同等模型压缩率下与APBM耗时几乎相同。这也间接验证了2.5节从FLOPs角度分析剪枝算法耗时得到的关系;对ResNet56的训练时间减少不太明显,因为根据ShuffleNetV2[33]的理论,模型的速度不仅与FLOPs和参数量有关,还与输入输出通道是否相等有关、网络的分支数等有关。从epoch总消耗上来看,APBM方法通常仅需一次训练就可以得最佳的轻量化模型,相较于其他剪枝算法有着最少的总epoch数。
同时综合分析表2~表4,可以发现即使是不使用融合策略的D方案,在同等的压缩比率下,模型的精度仍旧比最近的ABCPruner[7]方法的准确率更高,这体现了使用分布之间相对熵动态衡量卷积核重要程度的准确性。
公式(5)中的超参数A控制着温度系数t的最大值,而超参数β控制信息融合重要信息与非重要信息的比例。图5和图6展示了超参数A和β对基于CIFAR10的VGG16剪枝结果的影响,当A取一个较小的值如100时,模型无法达到收敛,β对结果的影响也无法直观地观察出来;当A取更大数量级的数值时(A≥1000)时,模型的精度相对稳定在一个较高的数值范围中。
图5 超参数A对结果的影响Fig.5 Influence of hyperparameter A on results
图6 超参数A和β对结果的影响Fig.6 Influence of hyperparameter A and β on results
由图5和图6可以更具体地看出:随着A的增大,曲线的波动也逐渐减小。这说明较小的A值无法很好地加大相似度分布之间的差异,不利于卷积核重要性的判断,更大的A值加快了相似度分布之间趋向于one-hot分布的速度,有利于训练过程中的稳定。
当A=10 000和A=100 000时,可以观察到最佳准确率会随着β的增大先波动上升达到最大值时再波动减小。β设置得过大,非重要卷积核的比例就会过小,导致非重要卷积核在训练初期更新缓慢,损害了信息融合策略的容错性;β设置得过小,非重要卷积核的作用就过于明显,抑制了重要卷积核的表现,不利于模型性能的提升。因此β的设置需要在剪枝容错性和重要卷积核的表现之间找到一个平衡点,使得模型性能有所提升,即选取合理的比例进行信息融合可以有利于模型精度的保持。
本文提出了一种基于信息融合策略的CNN结构化剪枝方法。本方法使用带有温度系数的softmax函数将信息熵差值平方概率化,并作为卷积核之间的相似性分布。使用分布之间的相对熵评估卷积核的重要性,同时为了提高APBM的容错性,提出信息融合策略生成新的卷积核并组成融合网络。实验证明选择合适的比例进行信息融合相比直接丢弃不重要卷积核信息有着更少的精度损失。同时实验表明本文方法在不需要预训练模型的前提下,又能在VGG16、ResNet56模型的剪枝任务中相比其他方法以较小的剪枝成本得到更好的模型压缩效果。进一步的工作将探索如何自动搜索β以提高APBM剪枝的效率,以及在更大的数据集上进行评估和测试,更全面地验证APBM的有效性。