一种基于滤波器注意力机制和BN层缩放系数的动态结构化网络剪枝方法技术

技术编号:22168321 阅读:34 留言:0更新日期:2019-09-21 11:11
本发明专利技术公开了一种基于滤波器注意力机制和BN层缩放系数的动态结构化网络剪枝方法,具体利用了本发明专利技术提出的滤波器注意力机制和BN层缩放系数动态地选择冗余滤波器,对神经网络动态置零,得到训练收敛后的模型参数。根据训练收敛后的模型参数,结合本发明专利技术提出的硬剪枝方法,最终得到压缩后的神经网络,有效地降低了神经网络的存储空间,提高了神经网络的推理计算速度。

A Dynamic Structured Network Pruning Method Based on Filter Attention Mechanism and BN Layer Scaling Coefficient

【技术实现步骤摘要】
一种基于滤波器注意力机制和BN层缩放系数的动态结构化网络剪枝方法
本专利技术涉及神经网络模型压缩技术,尤其是基于滤波器注意力机制和BN缩放系数的动态结构化网络剪枝方法。
技术介绍
自Alexnet夺得ISVRC2012冠军以来,深度神经网络在计算机视觉上取得了巨大的发展,尤其在图像分类、目标检测、面部识别、语义分割等多个领域取得了一系列的进展。随着这些深度神经网络复杂度的提高,一方面,神经网络在各种视觉任务上不断逼近精度极限;另一方面,神经网络的浮点运算率和存储空间也在不断的增加。由于移动设备和嵌入式设备等装置的资源限制,如计算能力,存储容量、电池消耗等,使得网络模型很难部署在这些装置上。在深度神经网络中,卷积层占据了绝大多数的计算量,巨大的计算量消耗了大量的CPU以及GPU等硬件资源。剪枝是一种流行的模型压缩方法,能够有效地降低网络运算量以及存储量。早期阶段,例如,参见HanS,MaoH,DallyWJ.Deepcompresion:Compressingdeepneuralnetworkswithpruning,trainedquantizationandhuffmancoding.arXivpreprintarXiv:1510.00149,其公开的全部内容通过援引加入进来。提出了迭代剪枝,其思想是不断对训练收敛后的剪枝,得到一个精简的模型。在此基础上,例如,参见HanS,MaoH,DallyWJ.Dally(2016)Deepcompression:Compressingdeepneuralnetworkwithpruning,trainedquantizationandhuffmancoding.InIntemationalConferenceonLearningRepresentations,其公开的全部内容通过援引加入进来。再次提出了对剪枝后的网络模型参数进行量化和哈夫曼编码,进一步减小模型的大小。然而,裁剪神经元连接是一种非结构化剪枝方法,难以应用于现有的硬件设备,无法得到实际的压缩和加速,针对这样的问题,结构性剪枝有效地解决这些方法的局限性.目前,结构化剪枝更好地兼容现有的硬件设备和深度学习库(BLAS),可以在不破坏网络结构的情况下,裁剪网络每层中的冗余滤波器,同时在保证网络精度基本不变的前提下,搜索到最优网络结构。例如,参见LiH,KadavA,Durdanovic[2014].Pruningfiltersforefficientconvnets.arXivpreprintarXiv:1608.08710,其公开的全部内容通过援引加入进来。通过计算每一层滤波器的L1范数,评价每一个滤波器的重要性。例如,参见GongY,LiuL,YangM[2014].Compressingdeepconvolutionalnetworksusingvectorquantization.arXivpreprintarXiv:1412.6115,其公开的全部内容通过援引加入进来。在损失函数中加入每层特征缩放值的稀疏项,并根据给定的阈值裁剪每一层的滤波器。虽然这些方法都得到了一个精简网络,只考虑网络单层的参数信息裁剪每层滤波器,并不能准确判别滤波器的重要性。
技术实现思路
本专利技术所要解决的技术问题是针对上述现有技术的不足,提供一种基于滤波器注意力机制和BN层缩放系数的动态结构化网络剪枝方法,利用滤波器注意力机制和BN层缩放系数双层信息剪枝精准地冗余判断滤波器,有效地提高了神经网络的泛化能力。为实现上述技术目的,本专利技术采取的技术方案为:一种基于滤波器注意力机制和BN层缩放系数的动态结构化网络剪枝方法,利用结构化剪枝准则,动态裁剪卷积神经网络每层的滤波器,得到收敛后的网络模型,并根据收敛后的网络模型进行硬剪枝,得到压缩后的网络,包括以下步骤:S1:利用滤波器注意图函数F得到滤波器注意力图,并根据滤波器的注意力重要性函数M,得到滤波器一级判断指标;S2:利用BN层的缩放系数得到滤波器的二级判断性指标;S3:综合利用滤波器的一级判断性指标和二级判断性指标对每层卷积层中的滤波器的重要性从小到大排序,选取前P的滤波器作为冗余滤波器;S4:根据得到的冗余滤波器的索引对应的冗余滤波器和相应的BN层偏置系数置零;S5:根据SGD算法对所有的神经网络参数更新,将之前置零的冗余滤波器和相应的BN层偏置系数再次恢复,在下一个Epoch之前,再次计算滤波器的一级判断性指标和二级判断性指标,根据滤波器的一级判断性指标和二级判断性指标再次选取每层卷积层的冗余滤波器,对重新判定得到的冗余滤波器和相应的BN层缩放系数置零;S6:重复步骤S1至S5,直到神经网络收敛,得到模型参数;S7:根据模型参数,对网络进行硬剪枝。为优化上述技术方案,采取的具体措施还包括:上述的步骤S1具体为:S11:输入:训练样本X,初始化权重W={W(i),1≤i≤L},剪枝率P;S12:利用滤波器的注意力图F得到滤波器注意力图,得到每一个值通道维度上值的整体重要性程度,滤波器的注意力图公式F为:其中,Ai∈RC×H×W为滤波器,i为滤波器的第i个通道,R为张量,C为每一个滤波器的通道个数,H代表滤波器的高度,W代表滤波器的宽度;S13:运用F范数在滤波器注意力图上,得到滤波器的一级重要性值,波器注意力重要性函数式M为:M(F(A))=||F(A)||F其中,||·||F代表矩阵F范数。上述的步骤S2具体为:S21:设BN层的输入为Zin,输出为Zout,输入激活值的均值和方差为μC和σC,激活通道的缩放系数和偏移系数分别为α和β,则BN层的计算公式为:其中,ε为常数,是为了保证分母项不为零,C表示滤波器的第C个通道。上述的步骤S3具体为:S31:通过滤波器重要性函数I,选取冗余滤波器,滤波器重要性函数表示I为:I(F(A),α)=||F(A)||F×α本专利技术的有益效果:一种基于滤波器注意力机制和BN层缩放系数的动态结构化剪枝方法,有效地减少了神经网络的计算量和存储量,实现神经网络最大程度的压缩。利用滤波器注意力机制和BN层缩放系数双层信息剪枝精准地冗余判断滤波器,有效提高了神经网络的泛化能力。附图说明图1为本专利技术的模型压缩流程图;图2为本专利技术的硬剪枝示意图;图3为本专利技术的滤波器注意力示意图。具体实施方式以下结合附图对本专利技术的实施例作进一步详细描述。本专利技术提供了一种基于滤波器注意力机制和BN层缩放系数的动态结构化网络剪枝方法,首先,如图3为卷积层的滤波器注意示意图,将一个3D滤波器通过滤波器注意力图公式F,对其进行通道维度上的映射,得到一个2D滤波器注意力图,2D滤波器上的每一个值代表该值通道维度上所有值的整体重要性程度。接着,经过滤波器注意力重要性函数M,2D滤波器注意力图转变为滤波器的一级重要性指标,该值对最终滤波器重要性的判断占据一定的比例。然后,BN层的缩放系数对应着上一个激活层的每一个激活通道,由BN层的计算公式,可以看出每一个BN层的缩放系数都代表着对应激活通道的重要性,每一个激活通道又是由上一个卷积层卷积后得到,因此,将BN层的缩放系数作为判断滤波器的二级重要性指标。下面通过滤波器重要性函数I,利用滤波器注意机制和BN层缩放系数,得到滤波器的综本文档来自技高网
...

【技术保护点】
1.一种基于滤波器注意力机制和BN层缩放系数的动态结构化网络剪枝方法,其特征在于:利用结构化剪枝准则,动态裁剪卷积神经网络每层的滤波器,得到收敛后的网络模型,并根据收敛后的网络模型进行硬剪枝,得到压缩后的网络,具体步骤为:S1:利用滤波器注意图函数F得到滤波器注意力图,并根据滤波器的注意力重要性函数M,得到滤波器一级判断指标;S2:利用BN层的缩放系数得到滤波器的二级判断性指标;S3:综合利用滤波器的一级判断性指标和二级判断性指标对每层卷积层中的滤波器的重要性从小到大排序,选取前P的滤波器作为冗余滤波器;S4:根据得到的冗余滤波器的索引对这些冗余滤波器和相应的BN层偏置系数置零;S5:根据SGD算法对所有的神经网络参数更新,将之前置零的冗余滤波器和相应的BN层偏置系数再次恢复,在下一个Epoch之前,再次计算滤波器的一级判断性指标和二级判断性指标,根据滤波器的一级判断性指标和二级判断性指标再次选取每层卷积层的冗余滤波器,对重新判定的冗余滤波器和相应的BN层缩放系数置零;S6:重复步骤S1至S5,直到神经网络收敛,得到模型参数;S7:根据模型参数,对网络进行硬剪枝。

【技术特征摘要】
1.一种基于滤波器注意力机制和BN层缩放系数的动态结构化网络剪枝方法,其特征在于:利用结构化剪枝准则,动态裁剪卷积神经网络每层的滤波器,得到收敛后的网络模型,并根据收敛后的网络模型进行硬剪枝,得到压缩后的网络,具体步骤为:S1:利用滤波器注意图函数F得到滤波器注意力图,并根据滤波器的注意力重要性函数M,得到滤波器一级判断指标;S2:利用BN层的缩放系数得到滤波器的二级判断性指标;S3:综合利用滤波器的一级判断性指标和二级判断性指标对每层卷积层中的滤波器的重要性从小到大排序,选取前P的滤波器作为冗余滤波器;S4:根据得到的冗余滤波器的索引对这些冗余滤波器和相应的BN层偏置系数置零;S5:根据SGD算法对所有的神经网络参数更新,将之前置零的冗余滤波器和相应的BN层偏置系数再次恢复,在下一个Epoch之前,再次计算滤波器的一级判断性指标和二级判断性指标,根据滤波器的一级判断性指标和二级判断性指标再次选取每层卷积层的冗余滤波器,对重新判定的冗余滤波器和相应的BN层缩放系数置零;S6:重复步骤S1至S5,直到神经网络收敛,得到模型参数;S7:根据模型参数,对网络进行硬剪枝。2.根据权利要求1所述的一种基于滤波器注意力机制和BN层缩放系数的动态结构化网络剪枝方法,其特征在...

【专利技术属性】
技术研发人员:卢海伟袁晓彤
申请(专利权)人:南京信息工程大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1