掌桥专利:专业的专利平台
掌桥专利
首页

一种基于通道相似度的剪枝方法、终端及可读存储介质

文献发布时间:2024-04-29 00:47:01


一种基于通道相似度的剪枝方法、终端及可读存储介质

技术领域

本发明涉及神经网络模型剪枝技术领域,尤其涉及的是一种基于通道相似度的剪枝方法、终端及可读存储介质。

背景技术

随着深度学习技术的不断进步,越来越多的大型模型被应用在图像篡改定位领域,这些大型模型在图像篡改定位上取得了令人惊奇的成就。然而,这些大型模型往往具有数十亿甚至上百亿的参数,其训练时间长,计算资源消耗大,也导致在实际应用中检测效率低,难以应对互联网上海量真假难辨的图像。因此,如何对这些大型模型进行模型压缩,在不显著降低检测性能的前提下提高检测效率,成为了备受关注的一个研究方向。

模型压缩是指通过各种技术手段减少神经网络模型的大小,从而减少其存储和计算资源的需求,同时尽量保持其原有的性能,这对于一些在资源受限的环境下部署和运行深度学习模型非常重要,如移动设备、嵌入式系统或者边缘计算设备上。

模型剪枝是模型压缩的一种技术,主要通过将模型中贡献较小的权重置为零或完全去除,从而减少模型的规模。现有的模型剪枝技术大致分为两类,分别是结构化剪枝和非结构化剪枝。两者的区别在于结构化剪枝通过物理剪枝去除不必要的卷积核或通道来改变神经网络的结构,而非结构化剪枝则在不修改网络结构的情况下将部分权重置为零。

传统的非结构化剪枝的方法采用L1范数来近似估计每个滤波器的重要性。该方法认为滤波器的L1范数越低,则该滤波器的权重贡献率越低,因此可以通过指定的阈值将其修剪掉。然而,范数的分布方差小,难以选择合适的阈值。为了解决这个问题,现有技术引入极化正则项,使得L1范数归一化后的分布能够尽可能地接近极小值和极大值,同时增大原有的方差,因此容易找到合适的修剪阈值。还有一些现有技术摆脱了基于范数准则的约束,从其他角度衡量每个滤波器的重要性,例如:以几何中值来近似计算不同滤波器之间的重要性;考虑到低秩的特征图具有的信息量更低,采用秩的统计方法来衡量滤波器之间的重要性;从信息熵的角度揭示不同滤波器的信息量。尽管传统的非结构化剪枝的方法取得了一定的成效,但在实际剪枝中仅仅是将滤波器的权重置为0,并没有将冗余的组件从网络中移除,因此在实际部署中需要依赖于特定的AI芯片加速器或者软件来减少内存消耗和计算成本。

与非结构化剪枝相比,结构化剪枝不依赖特定的物理加速器。更适用于一些网络结构具有内在相互依赖关系的场景。例如,可利用批归一化(BatchNorm,BN)层中的缩放因子进行通道选择,但该方法依赖于批归一化层。又如,可通过引入解耦记忆和遗忘记忆对卷积神经网络进行通道选择,但该方法实际操作复杂,需要对不同的网络结构进行设置。还如,可通过下一层的统计信息来修剪当前层的通道,但该方法未能充分利用层之间的依赖关系。

尽管上述剪枝方法提供了多种模型剪枝思路,但在实际操作中,仍然需要针对特定的网络结构进行不同的剪枝设置或者设计不同的剪枝策略。为此,现有技术提出了一种面向任意网络结构的通用剪枝框架DepGraph,其适用于CNN、Transformer等主流架构,在实际应用中取得了较好的效果。然而,该方法在度量通道重要性时,采取的是对某个权重向量与其他权重向量两两之间的相似度加权求和的方式。该方式实际上只考虑了权重向量两两之间的关系,而忽略了所有权重向量之间的内部关系,因此,未能良好地对通道之间的内在关系建模,导致剪枝性能不够理想。

发明内容

本发明的目的是提供一种基于通道相似度的剪枝方法、终端及可读存储介质,旨在解决现有技术剪枝不够精确导致剪枝后神经网络模型性能显著下降的问题。

本发明解决技术问题所采用的技术方案如下:

本发明提供一种基于通道相似度的剪枝方法,所述基于通道相似度的剪枝方法包括:

根据神经网络模型获取神经网络模型各个通道对应的集合的特征,通道对应的集合为包含该通道以外的所有通道的集合;

分别计算各个所述通道的特征和与通道对应的集合的特征之间的相似度;

根据所述相似度对所述神经网络模型进行剪枝,得到剪枝后的神经网络模型。

进一步地,所述根据神经网络模型获取神经网络模型各个通道对应的集合的特征,具体包括:

获取各个所述集合的各个通道对应的滤波器的权重参数;

根据各个所述集合的各个通道对应的滤波器的权重参数计算各个所述集合的表征向量,并将所述表征向量作为对应集合的特征。

进一步地,所述计算所述集合的表征向量的计算函数具体是群体表示的算法、聚类中心的算法和特征提取的算法中的任意一种。

进一步地,所述分别计算各个所述通道的特征和与通道对应的集合的特征之间的相似度,具体包括:

对于独立的通道,计算通道对应的滤波器的权重向量和对应的集合的表征向量之间的距离,以作为通道的特征和与通道对应的集合的特征之间的相似度;

对于相互依赖的通道,将各个相互依赖的通道对应的滤波器的权重向量拼接,计算拼接后的权重向量与所述集合的表征向量的距离,作为各个相互依赖的通道与对应的集合之间的相似度。

进一步地,所述距离具体是欧式距离、余弦距离和曼哈顿距离中的任意一种。

进一步地,所述根据所述相似度对所述神经网络模型进行剪枝具体包括:

获取设定剪枝参数;

根据所述设定剪枝参数依次剪除相似度最高的通道直到所述神经网络模型满足所述设定剪枝参数。

进一步地,所述剪枝参数包括通道稀疏比和速度提升比;

所述通道稀疏比为剪枝前后的通道数的比值;

所述速度提升比为剪枝前后的推理速度的比值。

进一步地,所述神经网络模型具体是用于图像篡改鉴别的神经网络模型;

所述基于通道相似度的剪枝方法,还包括:

获取待测试图像,将待测试图像输入神经网络模型;

神经网络模型判断待测试图像是否被篡改,并输出判断结果。

此外,为实现上述目的,本发明还提供一种终端,所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于通道相似度的剪枝程序,所述基于通道相似度的剪枝程序被所述处理器执行时控制终端实现如上所述的基于通道相似度的剪枝方法的步骤。

此外,为实现上述目的,本发明还提供一种可读存储介质,所述可读存储介质存储有基于通道相似度的剪枝程序,所述基于通道相似度的剪枝程序被处理器执行时实现如上所述的基于通道相似度的剪枝方法的步骤。

本发明采用上述技术方案具有以下效果:

本发明通过计算通道与通道的集合之间的相似度,作为该通道重要性的评估。距离越小,意味着该通道与其余通道越相似,代表着该通道越冗余,通道重要性越低,应该优先剔除;反之,距离越大,代表通道的重要性越高。这种方式相较现有技术通过对通道计算两两之间的相似度并进行求和的方式,更充分地考虑了通道之间的联系,具有更高的剪枝精度,从而避免了修剪重要的通道,导致剪枝之后的模型性能显著下降。

附图说明

图1是本发明较佳实施例中基于通道相似度的剪枝方法的步骤流程图;

图2是本发明较佳实施例中的依赖通道剪枝示意图;

图3是本发明较佳实施例中相互依赖层的重要性的计算方式示意图;

图4是本发明实施例中次选的相互依赖层的重要性的计算方式示意图;

图5是本发明较佳实施例中局部剪枝实验的流程示意图;

图6是本发明较佳实施例中全局剪枝实验的流程示意图;

图7是本发明终端的较佳实施例的运行环境示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

实施例一

请参见图1,本申请的实施例一是一种基于通道相似度的剪枝方法,其包括步骤:

S1、根据神经网络模型获取神经网络模型各个通道对应的集合的特征,通道对应的集合为包含该通道以外的所有通道的集合。

具体而言,本发明中,先获取各个通道的滤波器的权重参数,由于每一个滤波和与输入通道进行计算会得到每一个通道,因此可以通过滤波器权重的距离来衡量通道之间的相似度。具体地,以图片篡改鉴别神经网络模型为例,假设一个滤波器权重张量的维度为B×C×H×W,其中,H即图像的高度,W即图像的宽度,C为颜色通道的数量,B为批量大小,通过reshape变换得到维度为B×(C*H*W)的权重向量v,若一个输入层的通道为n,则需要n个滤波器进行计算,因此可以得到该滤波器的权重向量v

之后通过表征向量表示集合的特征,表征向量是整个向量或集合的表征特征,它综合考虑了整个向量或集合之间内部的关系,表征向量可以通过群体表示、聚类中心、特征提取等算法计算,具体的计算公式为:

c=f(v

其中,c为表征向量,v

于是,不包含第i个权重向量的表征向量c

c

S2、分别计算各个所述通道的特征和与通道对应的集合的特征之间的相似度。

具体而言,相似度的衡量是通过权重向量和表征向量之间的距离来衡量,距离越小,相似度越高,重要性越低,应该优先剪枝,第i个通道的距离d

d

其中,D是距离公式的计算函数,其具体可以是欧式距离、余弦距离和曼哈顿距离中的一种,也可以是其他距离函数,本发明不以此为限,d

在整个剪枝过程中,为了对通道进行剪枝,需要移除冗余的滤波核。但整个神经网络模型中,对应地,在一些层中可能存在着相关依赖的关系,因此与被剪枝的通道对应的滤波核和通道也应该修剪掉,这些存在相互依赖关系的网络层称为依赖层。

如图2所示,图2为通道剪枝的示意图,‘*’代表卷积操作,输入层通道有8个通道,灰色区域为某个通道以及对应滤波核,如果把中间层通道的第二个通道剪掉,那么计算得到这个通道的滤波核也应该被剪掉,其互相依赖的部分滤波核和通道也应该被修剪掉,否则将得到连接不完整的网络。

在实际操作时,由于在网络中存在大量的依赖层,依赖层结构复杂,有的含有跨层连接,有的含有全连接,在实际中很难手工捕获各个层之间的关系。

因此,本申请利用依赖图能够解析网络中的所有的依赖层,并进行分组。请参照图3,图3表示了两个相互依赖的层之间的相似度计算过程,图3中越深的区域代表着该通道重要性越高,越浅的区域代表着该通道重要性越低,本实施例中,始终将相互依赖的所有层的一组关系视为一体,具体地,我们拼接所有相互依赖的权重向量,同时结合本发明提出的的表征向量法得到的权重向量距离d

I

其中,I

这种方法考虑到所有相互依赖的层,并且使得相互依赖的层能够得到一致的重要性系数。

在其他实施例中,还可以利用依赖图解析网络中的所有的依赖层,并进行分组。请参照图4,该方法解析网络第i层和第i+1层之间的依赖关系,之后依次对第i层的每个通道计算通道重要性系数I

其中,I

该计算方法通过计算相互依赖的各个通道重要性系数,并与所有相互依赖层的通道重要性系数汇总一个最终的重要性,汇总的方式为取平均值。该方法忽略了所有相互依赖层的一致重要性,倘若所有依赖层都有各自独立的重要性,这将导致在实际剪枝中一些重要的依赖层被迫修剪,例如相似度相互依赖的多个通道中,其中一个通道的重要性较高,其余通道的重要性较低,则最后汇总得到的重要性将偏低,导致重要的依赖层被迫修剪,因此仅作为次选。

S3、根据所述相似度对所述神经网络模型进行剪枝,得到剪枝后的神经网络模型。

具体而言,剪枝的方式包括局部剪枝和全局剪枝,局部剪枝是指在网络的每一层都设置统一的通道稀疏比,因此即使各层采用不同的剪枝方法,网络的每一层依然能够修剪固定的通道数量。

全局剪枝是指在整个网络中设置统一的通道稀疏比,而不对某特定层进行限制。因此采用不同的剪枝方法,剪枝后的整个网络的结构可能是不同的。

剪枝采用的参数包括通道稀疏比λ和速度提升比

其中,通道稀疏比λ用来衡量剪枝的百分比:

速度提升比

式中,MACs(基准)是基准的MACS(Multiply–Accumulate Operations,即乘加累积操作,1MACs包含一个乘法操作与一个加法操作,大约包含2FLOPs(Floating-pointoperastions per second,浮点运算次数),即未剪枝之前的MACs,MACs(剪枝后)是剪枝后的MACs

本实施例中,在剪枝时,优先剪除相似度较大的通道对应的滤波器。相似度越大意味着该通道与其余通道越相似,代表着该通道越冗余,通道重要性越低,应该优先剔除;反之,相似度越小,说明该通道与其余通道差异越大,重要性越高。

本实施例中,神经网络模型具体是用于图像篡改鉴别的神经网络模型,所述方法还获取待测试图像,将待测试图像输入神经网络模型;神经网络模型判断待测试图像是否被篡改,并输出判断结果。

值得说明的是,本实施例中的用于图像篡改鉴别的神经网络模型仅是用于说明,在实际使用中,所有需要剪枝的神经网络模型均可以采用本申请的技术方案进行判断剪枝,无论该神经网络模型是用于文本生成、图片生成、特征提取生成或分割生成的生成领域的神经网络模型,还是用于鉴别、分类或判断的分类领域的神经网络模型,均可以采用本发明的技术方案进行剪枝以获取剪枝后的神经网络模型进行更好的运用。

本实施例中,对于局部剪枝和全局剪枝分别进行了实验以表述剪枝效果。本实施例的实验具体是在图像篡改定位领域上,对不同的网络使用不同的剪枝方法做了相关实验,实验中统一采用在MS COCO数据集的基础上通过构造的篡改图像数据集DEFECTO数据集,分别对STDC-A和MVSS神经网络模型进行测试。

其中,STDC-A是最新的轻量化的篡改定位的网络结构,采用轻量化的网络结构,其权重参数量为12.91M,在DEFECTO数据集上训练后的最佳F1系数为71.45。

MVSS是采用比较大型的模型ResNet101作为骨干的篡改定位网络,其权重参数量为142.78M,在DEFECTO数据集上训练后的最佳F1系数为69.19。

F1系数是一个综合考虑精确率(Precision)和召回率(Recall)的评价指标,F1系数的取值范围在[0,1]之间,值越高表示模型的性能越好。

在实验中,本实施例表征向量

距离公式D的计算函数具体是欧式距离d(x,y):

式中,x和y分别表示一种特征,对应本实施例中,即分别表示第i个通道的权重向量和不包含第i个通道的集合的表征向量,x

本实施例中重要性系数I是通过本发明提出的表征向量计算方式计算得出。

本实施例中,局部剪枝实验采用通道稀疏比,请参照图5,其流程依次包括预训练、剪枝和微调。实验中统一指定的通道稀疏比λ从0.1至0.38,每隔0.02剪枝一次,共剪枝15次,记录剪枝后以及微调后的最佳F1系数。微调学习率为8e-5,采用Adam优化器,STDC-A和MVSS的Batchsize(批量大小)设置分别为64和16(由于MVSS需占用较大的显存)。

实验结果如表1所示,表中数据为对15次剪枝后微调的结果求平均值。

表1 15次不同稀疏比λ的局部剪枝实验结果(平均F1系数)

其中,L2是一种以权重的L2范数作为通道的重要性指标的剪枝方法;BN是一种针对批归一化层的剪枝方法,利用批归一化层中的缩放因子β作为重要性指标,同时采用稀疏训练的方式;GN是一种针对L2范数的改进方式,通过稀疏训练,使得依赖层之间的L2范数一致稀疏的剪枝方法;Taylor是通过用一阶泰勒展开来计算通道对最后推理结果的影响,从而判断通道的重要性的剪枝方法;表征向量是本发明采用的剪枝方法。可以看出,本发明采用的方法得到的F1系数在两个神经网络模型上均表现出优于现有剪枝方法的效果。

对于全局剪枝实验,采用速度提升比

在两个神经网络模型上的实验结果如表2和表3所示。

表2STDC-A在不同剪枝方法下的全局剪枝实验结果(F1系数)

表3MVSS在不同剪枝方法下的全局剪枝实验结果(F1系数)

表中,“-”标记为在某些情况下,由于将某个层的维度过度剪枝为1,导致剪枝崩溃,无法得到准确的F1系数。

此外,本实施例还对全局剪枝进行了消融实验,以验证本发明提出的剪枝方法的有效性。

该实验中,采用速度提升比

实验的结果如表4和表5所示。

表4STDC-A的全局剪枝消融实验结果(F1系数)

表5MVSS的全局剪枝消融实验结果(F1系数)

表4和表5中,随机剪枝(DepGraph)是基于DepGraph计算依赖层的方式,随机去除所有依赖层的权重,并移除其残留的连接的剪枝方式;两两距离求和剪枝(DepGraph)是基于DepGraph计算依赖层的方式,计算所有通道向量中两两通道向量之间的距离,并以通道的维度求和作为该通道向量的重要性指标的剪枝方式;表征向量通道剪枝(DepGraph)基于DepGraph计算依赖层的方式,即图4的计算方式,但采用本发明的表征向量法修剪通道的剪枝方式;表征向量通道剪枝(本发明)采用本发明中提出的计算依赖层的方式,即图3的计算方式,采用表征向量法修剪通道的剪枝方式。

可以看出,本发明的方法相比于其他剪枝方法在对图像篡改定位网络进行剪枝时能够取得更好的效果,此外,本发明优选的计算依赖层的方式相较现有的方式也具有更好的效果。

实施例二

请参见图7,基于上述方法,本发明还提供了一种终端,所述终端包括:存储器10、处理器20及存储在所述存储器10上并可在所述处理器20上运行的基于通道相似度的剪枝程序,所述基于通道相似度的剪枝程序被所述处理器20执行时控制终端实现如上所述的基于通道相似度的剪枝方法的步骤。

所述存储器10在一些实施例中可以是所述终端的内部存储单元,例如终端的硬盘或内存。所述存储器10在另一些实施例中也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器10还可以既包括所述终端的内部存储单元也包括外部存储设备。所述存储器10用于存储安装于所述终端的应用软件及各类数据,例如所述安装终端的程序代码等。所述存储器10还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器10上存储有基于通道相似度的剪枝程序,该基于通道相似度的剪枝程序可被处理器20所执行,从而实现本申请中的基于通道相似度的剪枝方法。

所述处理器20在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行所述存储器10中存储的程序代码或处理数据,例如执行所述基于通道相似度的剪枝方法等。

实施例三

本实施例提供一种存储介质,所述可读存储介质存储有基于通道相似度的剪枝程序,所述基于通道相似度的剪枝程序被处理器执行时实现如上所述的基于通道相似度的剪枝方法的步骤。

综上所述,本发明通过计算通道与通道的集合之间的相似度,作为该通道重要性的评估。距离越小,意味着该通道与其余通道越相似,代表着该通道越冗余,通道重要性越低,应该优先剔除;反之,距离越大,代表通道的重要性越高。这种方式相较现有技术通过对通道计算两两之间的相似度并进行求和的方式,更充分地考虑了通道之间的联系,具有更高的剪枝精度。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者终端中还存在另外的相同要素。

当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的存储介质中,所述程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

相关技术
  • 一种终端的前屏确定方法、终端及计算机可读存储介质
  • 一种存储管理方法、计算机可读存储介质及终端设备
  • 基于终端的音频处理方法、装置、终端和可读存储介质
  • 一种网格划分方法、计算机可读存储介质及终端设备
  • 一种对象推荐方法、装置、终端及计算机可读存储介质
  • 一种相似度计算方法、终端及计算机可读存储介质
  • 一种相似度计算方法、终端及计算机可读存储介质
技术分类

06120116594497