一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种卷积神经网络的压缩方法及装置与流程

2022-08-10 18:55:44 来源:中国专利 TAG:


1.本发明涉及人工智能模型压缩技术领域,具体涉及一种卷积神经网络的压缩方法及装置。


背景技术:

2.随着人工智能技术的发展,计算机视觉领域模型的准确率得到了大幅提高。随着应用领域的不断扩展,基于卷积神经网络的模型不仅会部署在算力充足的gpu工作站中,还会部署在边缘计算盒、掌机移动端等算力受限的场景下。如何在保证模型精度的情况下压缩模型体积,加速模型推理速度,是深度学习模型应用需要解决的关键技术问题。
3.卷积神经网络的压缩技术,主要包括网络减枝、知识蒸馏、参数量化、轻量化网络结构设计等。网络减枝方案,主要针对卷积神经网络中的特征提取网络,通过设置掩码等方式,计算卷积神经网络中通道的重要性并进行排序,删除排序较低的通道,实现模型的压缩;知识蒸馏方案,主要通过训练一个高精度大尺寸的教师模型,通过将教师模型特征提取网络中的知识,以及输出层的知识迁移到小尺寸的学生模型中,使小尺寸学生模型在训练过程中不仅输出结果尽可能接近目标,同时要求中间输出也与教师模型尽可能接近。此外,学生模型不仅会学习目标硬标签,通过知识蒸馏也会学习教师模型传递的软标签,实验表明,教师模型提供的软标签中蕴含比硬标签更多的信息;参数量化是指将网络中的参数由单精度浮点型转换为半精度浮点型或是整型,达到模型压缩的目的;轻量化网络结构设计,是指采用紧凑高效的网络结构设计出更小的模型。
4.知识蒸馏技术由于可以将大型网络压缩为任意小型的网络,且易与其他压缩方法结合使用,实现更大程度的压缩,因此是目前最有效的模型压缩技术之一。通过注意力迁移进行知识蒸馏,一般是在大体积的教师模型的某些层,将多通道特征图映射为单通道注意力图,并在小体积学生模型对应层计算注意力图,通过教师和学生模型注意力图进行注意力迁移,实现知识蒸馏,使小体积学生模型具备和大体积教师模型相似的精度。基于注意力迁移的知识蒸馏被证明是一种有效的卷积神经网络模型压缩方案。在现有方案中,考虑到网络训练的收敛性,一般不采用所有层计算注意力图进行知识迁移,而是根据经验手动选择卷积神经网络中需要进行注意力迁移的层位置进行知识蒸馏,包括在神经网络的低、中、高层设置注意力迁移位置。
5.尽管目前已有的卷积神经网络注意力迁移技术,已经按照神经网络的层结构大致划分了注意力迁移的位置,但是当神经网络较深时,在不同层位置提取的特征信息往往差异较大,即使是相邻层的特征信息,有时也有较大差异。教师网络有些层的特征信息并不一定对学生网络具有指导意义,如果仅依靠经验设置注意力迁移的层位置,有时会将教师网络特征层中无用信息进行知识迁移,造成对学生网络训练的干扰。这也是为什么在卷积神经网络的知识蒸馏中,使用注意力图迁移时,不一定能达到理想的精度提升,有时甚至出现学生模型的识别精度在进行注意力迁移知识蒸馏后,反而比下降的情况。


技术实现要素:

6.为了克服上述缺陷,本发明提出了一种卷积神经网络的压缩方法及装置。
7.第一方面,提供一种卷积神经网络的压缩方法,所述卷积神经网络的压缩方法包括:
8.步骤1.初始化待压缩卷积神经网络的精简卷积神经网络;
9.步骤2.将待压缩卷积神经网络上的注意力图迁移至精简卷积神经网络;
10.步骤3.利用遗传算法确定并调节精简卷积神经网络上的注意力图迁移的最优位置;
11.步骤4.判断是否达到迭代次数,若是,则输出精简卷积神经网络,否则,返回步骤2。
12.优选的,所述步骤1中,精简卷积神经网络与待压缩卷积神经网络具备相同层数、每层都采用相同类型的算子且每层输出的特征图尺寸一致。
13.进一步的,所述待压缩卷积神经网络为shufflenetv2 1.5x,所述精简卷积神经网络为shufflenetv2 1.0x。
14.优选的,所述待压缩卷积神经网络至少包括卷积层。
15.优选的,所述步骤2中,精简卷积神经网络在训练集上的联合损失的计算式如下:
16.l=l
spatial
l
model
17.上式中,l
spatial
为空间注意力图差异损失,l
model
为精简卷积神经网络损失。
18.进一步的,所述空间注意力图差异损失的计算式如下:
[0019][0020]
上式中,为精简卷积神经网络在层位置j的空间注意力图,为待压缩卷积神经网络在层位置j的空间注意力图,j为注意力图位置集合;
[0021]
其中,所述精简卷积神经网络在层位置j的空间注意力图的计算式如下:
[0022][0023]
所述待压缩卷积神经网络在层位置j的空间注意力图的计算式如下:
[0024][0025]
上式中,为精简神经网络在层位置j的特征图向量,为待压缩卷积神经网络在层位置j的特征图向量,c为层位置j的通道数,vec为向量化函数。
[0026]
优选的,所述步骤3包括:
[0027]
s301将进行注意力图迁移知识蒸馏的层位置加入位置集合,并对位置集合进行二进制编码,其中,需要进行注意力图迁移的位置对应的编码值为1,其他位置编码值为0;
[0028]
s302初始化注意力迁移初始位置;
[0029]
s303以初始位置为中心划分初始位置范围,并随机生成多组位置作为初始种群;
[0030]
s304计算种群中个体的适应度;
[0031]
s305对种群进行选择、交叉和变异操作;
[0032]
s306判断是否达到最大迭代次数,若达到则退出计算,输出注意力图迁移的最优位置集合;反之,则回到步骤s302继续迭代。
[0033]
进一步的,所述个体的适应度的计算式如下:
[0034][0035]
上式中,fi为第i个个体的适应度,l为精简卷积神经网络在测试集上的损失。
[0036]
进一步的,所述注意力迁移初始位置设置在shufflenetv2中4个stage的最后层处。
[0037]
第二方面,提供一种卷积神经网络的压缩装置,所述卷积神经网络的压缩装置包括:
[0038]
初始化模块,用于初始化待压缩卷积神经网络的精简卷积神经网络;
[0039]
压缩模块,用于.将待压缩卷积神经网络上的注意力图迁移至精简卷积神经网络;
[0040]
寻优模块,用于利用遗传算法确定并调节精简卷积神经网络上的注意力图迁移的最优位置;
[0041]
判断模块,用于判断是否达到迭代次数,若是,则输出精简卷积神经网络,否则,返回压缩模块。
[0042]
本发明上述一个或多个技术方案,至少具有如下一种或多种有益效果:
[0043]
本发明提供了一种卷积神经网络的压缩方法及装置,包括:步骤1.初始化待压缩卷积神经网络的精简卷积神经网络;步骤2.将待压缩卷积神经网络上的注意力图迁移至精简卷积神经网络;步骤3.利用遗传算法确定并调节精简卷积神经网络上的注意力图迁移的最优位置;步骤4.判断是否达到迭代次数,若是,则输出精简卷积神经网络,否则,返回步骤2。本发明提供的技术方案,通过应用遗传算法,寻找最优的注意力迁移层位置,实现更有效的知识蒸馏;通过本发明提供的技术方案对shufflenetv2模型使用后,能够在模型体积压缩34%的情况下,使cifar-10下的map下降仅为0.5%。
附图说明
[0044]
图1是本发明实施例的卷积神经网络的压缩方法的主要步骤流程示意图;
[0045]
图2是本发明实施例的空间注意力图生成示意图;
[0046]
图3是本发明实施例的卷积神经网络的压缩装置的主要结构框图。
具体实施方式
[0047]
下面结合附图对本发明的具体实施方式作进一步的详细说明。
[0048]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0049]
实施例1
[0050]
参阅附图1,图1是本发明的一个实施例的卷积神经网络的压缩方法的主要步骤流
程示意图。如图1所示,本发明实施例中的卷积神经网络的压缩方法主要包括以下步骤:
[0051]
步骤s101:初始化待压缩卷积神经网络的精简卷积神经网络;
[0052]
步骤s102:将待压缩卷积神经网络上的注意力图迁移至精简卷积神经网络;
[0053]
步骤s103:利用遗传算法确定并调节精简卷积神经网络上的注意力图迁移的最优位置;
[0054]
步骤s104:判断是否达到迭代次数,若是,则输出精简卷积神经网络,否则,返回步骤s102。
[0055]
其中,所述步骤s101中,精简卷积神经网络与待压缩卷积神经网络具备相同层数、每层都采用相同类型的算子且每层输出的特征图尺寸一致。
[0056]
在一个实施方式中,所述待压缩卷积神经网络为shufflenetv2 1.5x,所述精简卷积神经网络为shufflenetv2 1.0x。
[0057]
本实施例中,所述待压缩卷积神经网络至少包括卷积层。
[0058]
本实施例中,所述步骤s102中,精简卷积神经网络在训练集上的联合损失的计算式如下:
[0059]
l=l
spatial
l
model
[0060]
上式中,l
spatial
为空间注意力图差异损失,l
model
为精简卷积神经网络损失。
[0061]
进一步的,所述空间注意力图差异损失的计算式如下:
[0062][0063]
上式中,为精简卷积神经网络在层位置j的空间注意力图,为待压缩卷积神经网络在层位置j的空间注意力图,j为注意力图位置集合;
[0064]
其中,所述精简卷积神经网络在层位置j的空间注意力图的计算式如下:
[0065][0066]
所述待压缩卷积神经网络在层位置j的空间注意力图的计算式如下:
[0067][0068]
上式中,为精简神经网络在层位置j的特征图向量,为待压缩卷积神经网络在层位置j的特征图向量,c为层位置j的通道数,vec为向量化函数。
[0069]
本实施例中,所述步骤s103包括:
[0070]
s301将进行注意力图迁移知识蒸馏的层位置加入位置集合,并对位置集合进行二进制编码,其中,需要进行注意力图迁移的位置对应的编码值为1,其他位置编码值为0;
[0071]
s302初始化注意力迁移初始位置;
[0072]
s303以初始位置为中心划分初始位置范围,并随机生成多组位置作为初始种群;
[0073]
s304计算种群中个体的适应度;
[0074]
s305对种群进行选择、交叉和变异操作;
[0075]
s306判断是否达到最大迭代次数,若达到则退出计算,输出注意力图迁移的最优位置集合;反之,则回到步骤s302继续迭代。
[0076]
在一个实施方式中,所述个体的适应度的计算式如下:
[0077][0078]
上式中,fi为第i个个体的适应度,l为精简卷积神经网络在测试集上的损失。
[0079]
在一个实施方式中,所述注意力迁移初始位置设置在shufflenetv2中4个stage的最后层处。
[0080]
在一个实施方式中,本发明提供了一种最优的实施方案,训练卷积神经网络,针对卷积神经网络设计精简模型结构,进行基于遗传算法优化的注意力图迁移知识蒸馏流程如下:
[0081]
1.训练卷积神经网络。根据任务场景选择合适的卷积神经网络结构,该卷积神经网络结构中必须包括卷积层,可以包括池化层、全连接层、归一化层等,允许拥有残差连接等结构。然后利用已标注样本对卷积神经网络进行训练,当map达到预期值后,获得足够精度的模型,该模型为待压缩的模型,本实施例中也称作原模型。
[0082]
2.针对卷积神经网络设计精简模型结构。基于已训练的卷积神经网络,设计精简模型,设计原则如下:与已训练卷积神经网络具备相同层数,每层都采用相同类型的算子,每层输出的特征图尺寸一致,唯一的区别是精简模型每个卷积层的输出通道数更少。本实施例中,卷积神经网络选择shufflenetv2 1.5x进行训练,精简模型可以设计为shufflenetv2 1.0x。
[0083]
3.进行基于遗传算法优化的注意力图迁移知识蒸馏。注意力图迁移知识蒸馏的目的是实现精简模型拥有与原模型相当的精度,为了实现最佳的知识蒸馏效果,基于遗传算法对注意力图迁移的位置进行寻优,从而获得性能最佳的精简模型。步骤包括:
[0084]
1)对卷积神经网络的层进行位置编码。选择所有认为可以进行注意力图迁移知识蒸馏的层位置,加入位置集合。一般可以选择卷积层、批归一化层、池化层、激活层、拼接层等作为注意力图迁移的层位置。对位置集合进行二进制编码。对于需要进行注意力图迁移的位置,编码值为1,其他编码值为0。编码长度为位置集合的大小,编码中的每个位置与具体层相对应。例如,[001001001001]代表有12层是候选的进行空间注意力迁移的层,其中位置集合中的第3,6,9,12层为进行空间注意力迁移的层。
[0085]
2)设置初始种群。第一步,根据经验设置需进行注意力图迁移的位置总个数。本实施例中设置为4。第二步,设置初始种群。初始种群的设置可以基于经验。本实施例将注意力迁移初始位置范围设置在shufflenetv2中4个stage的最后层附近,以每个stage的最后层位置为中心划分初始位置范围,然后随机生成n组位置作为初始种群。本实施例中初始种群规模为20。
[0086]
3)计算个体适应度。本实施例根据精简神经网络通过注意力迁移知识蒸馏,在训练集上迭代训练一定轮数后,在测试集上的loss值计算适应度,由于loss是求最小值的问题,而适应度是求最大值的问题,因此适应度采用loss的倒数计算。适应度计算过程如下:
[0087]
第一步,根据位置编码进行解码,确定需要进行注意力图迁移的具体层位置。由于原模型和精简模型的层结构一一对应,该位置代表了原模型往精简模型进行注意力图迁移
的层位置。
[0088]
第二步,构建精简神经网络在训练集上的联合损失。联合损失计算如下:
[0089]
l=l
spatial
l
model
[0090]
上式中,l
spatial
为空间注意力图差异损失,l
model
为精简卷积神经网络损失。精简模型损失为精简模型在训练集上预测结果和真实标签之间差异的损失,对于分类问题可以用交叉熵进行计算。空间注意力图差异损失为原模型和精简模型在各个位置上的空间注意力图差异的平方和,为提高训练收敛速度,本实施例中对空间注意力图进行l2范数归一化,再计算空间注意力图差异损失。进一步的,所述空间注意力图差异损失的计算式如下:
[0091][0092]
上式中,为精简卷积神经网络在层位置j的空间注意力图,为待压缩卷积神经网络在层位置j的空间注意力图,j为注意力图位置集合;
[0093]
其中,所述精简卷积神经网络在层位置j的空间注意力图的计算式如下:
[0094][0095]
所述待压缩卷积神经网络在层位置j的空间注意力图的计算式如下:
[0096][0097]
上式中,为精简神经网络在层位置j的特征图向量,为待压缩卷积神经网络在层位置j的特征图向量,c为层位置j的通道数,vec为向量化函数。空间注意力图计算过程,是将该层中所有通道特征图,经过一定规则运算后,生成单通道空间注意力图。空间注意力图每个点的数值,由该层特征图上对应位置在所有通道上的数值平方和求得,实现多通道特征图到单通道空间注意力图的映射。示意图见图2。所有操作,包括求和,都是点对点进行。
[0098]
第三步,计算适应度。在训练集上基于联合损失和误差反向传播算法对精简模型进行训练,迭代训练一定轮数后,在测试集上计算精简模型的损失,并计算个体适应度,公式如下:
[0099][0100]
上式中,fi为第i个个体的适应度,l为精简卷积神经网络在测试集上的损失。
[0101]
4)利用遗传算法对初始群体进行选择,交叉和变异操作。
[0102]
第一步,选择。选择运算是将选择算子作用于群体,选取适应度强的个体进入下一群体,在本实例中,是对知识蒸馏效果好的方案进行选择,选择算子采用轮盘赌选择法,选择概率采用按比例的适应度选择。公式如下:
[0103]
[0104]
其中,pi为选择概率。轮盘赌选择法的具体步骤为,将个体随机排序,生成个体列表,并计算每个个体的累积概率(累计概率就是个体列表该个体前面的所有个体概率之和),进行选择时生成一个[0,1]区间内的随机数,若该随机数小于或等于某个个体的累积概率,且大于该个体在个体列表中的上一个个体的累积概率,选择该个体进入子代种群。
[0105]
第二步,交叉。交叉运算是将交叉算子作用于群体,将不同个体间某些位置的“基因”进行交换,在本实例中,是交换不同个体间注意力迁移的位置,采用二进制单点交叉的方式进行,在两个配对的个体,交换进行注意力迁移的位置,交叉概率设置为0.4。
[0106]
第三步,变异。变异操作是将变异算子作用于群体,即是对群体中的个体串的某些基因座上的基因值作变动,在本实例中,是对个体中注意力迁移的层位置加上随机的变化,变异算子采用基本位变异,随机去掉一个注意力迁移层的位置,然后随机生成一个新的迁移层的位置,变异概率设置为0.1
[0107]
经过上述运算后,生成下一代群体,即下一组具有不同注意力迁移层位置的知识蒸馏方案。
[0108]
5)达到终止条件获得性能最佳的精简模型。本实施例中的终止条件为进化代数,可以根据实际算力进行设置,一般可选择100到500之间的数。本实施例进化代数设置为200。经过t轮的进化,以进化过程中所得到的具有最大适应度个体作为最优解输出,获得具有最佳知识蒸馏效果的注意力迁移方案和模型。
[0109]
实施例2
[0110]
基于同一发明构思,本发明提供一种卷积神经网络的压缩装置,如图3所示,所述卷积神经网络的压缩装置包括:
[0111]
初始化模块,用于初始化待压缩卷积神经网络的精简卷积神经网络;
[0112]
压缩模块,用于.将待压缩卷积神经网络上的注意力图迁移至精简卷积神经网络;
[0113]
寻优模块,用于利用遗传算法确定并调节精简卷积神经网络上的注意力图迁移的最优位置;
[0114]
判断模块,用于判断是否达到迭代次数,若是,则输出精简卷积神经网络,否则,返回压缩模块。
[0115]
优选的,所述步骤1中,精简卷积神经网络与待压缩卷积神经网络具备相同层数、每层都采用相同类型的算子且每层输出的特征图尺寸一致。
[0116]
进一步的,所述待压缩卷积神经网络为shufflenetv2 1.5x,所述精简卷积神经网络为shufflenetv2 1.0x。
[0117]
优选的,所述待压缩卷积神经网络至少包括卷积层。
[0118]
优选的,所述步骤2中,精简卷积神经网络在训练集上的联合损失的计算式如下:
[0119]
l=l
spatial
l
model
[0120]
上式中,l
spatial
为空间注意力图差异损失,l
model
为精简卷积神经网络损失。
[0121]
进一步的,所述空间注意力图差异损失的计算式如下:
[0122][0123]
上式中,为精简卷积神经网络在层位置j的空间注意力图,为待压缩卷积神经
网络在层位置j的空间注意力图,j为注意力图位置集合;
[0124]
其中,所述精简卷积神经网络在层位置j的空间注意力图的计算式如下:
[0125][0126]
所述待压缩卷积神经网络在层位置j的空间注意力图的计算式如下:
[0127][0128]
上式中,为精简神经网络在层位置j的特征图向量,为待压缩卷积神经网络在层位置j的特征图向量,c为层位置j的通道数,vec为向量化函数。
[0129]
优选的,所述步骤3包括:
[0130]
s301将进行注意力图迁移知识蒸馏的层位置加入位置集合,并对位置集合进行二进制编码,其中,需要进行注意力图迁移的位置对应的编码值为1,其他位置编码值为0;
[0131]
s302初始化注意力迁移初始位置;
[0132]
s303以初始位置为中心划分初始位置范围,并随机生成多组位置作为初始种群;
[0133]
s304计算种群中个体的适应度;
[0134]
s305对种群进行选择、交叉和变异操作;
[0135]
s306判断是否达到最大迭代次数,若达到则退出计算,输出注意力图迁移的最优位置集合;反之,则回到步骤s302继续迭代。
[0136]
进一步的,所述个体的适应度的计算式如下:
[0137][0138]
上式中,fi为第i个个体的适应度,l为精简卷积神经网络在测试集上的损失。
[0139]
进一步的,所述注意力迁移初始位置设置在shufflenetv2中4个stage的最后层处。
[0140]
实施例3
[0141]
基于同一种发明构思,本发明还提供了一种计算机设备,该计算机设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor、dsp)、专用集成电路(application specificintegrated circuit,asic)、现成可编程门阵列(field-programmable gatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行计算机存储介质内一条或一条以上指令从而实现相应方法流程或相应功能,以实现上述实施例中一种卷积神经网络的压缩方法的步骤。
[0142]
实施例4
[0143]
基于同一种发明构思,本发明还提供了一种存储介质,具体为计算机可读存储介质(memory),所述计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当
然也可以包括计算机设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中一种卷积神经网络的压缩方法的步骤。
[0144]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0145]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0146]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0147]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0148]
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献