System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种神经网络模型处理、推理方法及相关设备技术_技高网

一种神经网络模型处理、推理方法及相关设备技术

技术编号:40666081 阅读:4 留言:0更新日期:2024-03-18 19:00
本申请提供了一种神经网络模型处理、推理方法及相关设备。根据该神经网络模型处理方法,电子设备在对原始模型进行结构化剪枝之前,可以首先对待结构化剪枝的卷积层进行若干次非结构化剪枝,直到原始模型中进行非结构化剪枝后的卷积层的稀疏度达到目标稀疏度,再对非结构化剪枝后的模型进行结构化剪枝。电子设备可以重复执行该非结构化剪枝和结构化剪枝过程,直到原始模型中进行结构化剪枝后的卷积层的已修剪的卷积核数量达到预先设置的卷积核数量。通过上述方法可以得到简化后的模型,使用该模型时的网络推理速度得以提升,并且由于非结构化剪枝和结构化剪枝均分为若干次进行,避免了一次完成剪枝造成的模型效果回退,保证了模型效果不受影响。

【技术实现步骤摘要】

本申请涉及人工智能领域,尤其涉及一种神经网络模型处理、推理方法及相关设备


技术介绍

1、神经网络由于包括大规模并行处理,分布式存储,弹性拓扑,高度冗余和非线性运算等特点,因而具有很髙的运算速度、很强的联想能力、很强的适应性、很强的容错能力和自组织能力。这些特点和能力构成了神经网络模拟智能活动的技术基础,并在广阔的领域获得了重要的应用。例如,在通信领域,神经网络可以用于数据压缩、图像处理、矢量编码、差错控制(纠错和检错编码)、自适应信号处理、自适应均衡、信号检测、模式识别、atm流量控制、路由选择、通信网优化和智能网管理等等。

2、理论上来说,神经网络模型越深,非线性程度也就越大,模拟智能活动的能力越强。但是训练成本和模型大小也会相应增加。并且,在部署模型时,大模型需要的推理时间更长,还需要更好的硬件支持。但随着神经网络模型的广泛应用,很多场景下需要将模型部署在手机、iot设备等终端上。在这种情况下,部署环境受到能耗和设备体积的限制,端侧硬件的计算能力和存储能力相对较弱。

3、因此,如何对神经网络模型进行处理以缩短网络推理时间和降低计算消耗是目前亟待解决的问题。


技术实现思路

1、本申请提供了一种神经网络模型处理、推理方法及相关设备。根据该神经网络模型处理方法,电子设备在对原始模型进行结构化剪枝之前,可以首先对待结构化剪枝的卷积层进行若干次非结构化剪枝,直到原始模型中进行非结构化剪枝后的卷积层的稀疏度达到目标稀疏度。这样,电子设备可以再针对非结构化剪枝后的模型进行结构化剪枝。可理解,电子设备可以重复执行上述非结构化剪枝和结构化剪枝过程,直到原始模型中进行结构化剪枝后的卷积层中已修剪的卷积核数量达到预先设置的卷积核数量。通过上述方法可以对原始模型进行压缩,得到简化后的模型,使用该简化后的模型时的网络推理速度得以提升,并且由于非结构化剪枝和结构化剪枝可以分为若干次进行,避免了一次完成剪枝所造成的模型效果回退,保证了模型效果不受影响。

2、第一方面,本申请提供了一种神经网络模型处理方法。该方法可以包括:电子设备可以确定原始模型中的第一卷积层和第一卷积核数,并基于第一卷积核数,对第一卷积层进行若干次结构化剪枝。第一卷积层可以包括k个卷积层。第一卷积核数可以包括k个卷积层分别对应待修剪的卷积核数。其中,电子设备针对若干次结构化剪枝中的第n次结构化剪枝,可以包括:电子设备可以确定进行第n次结构化剪枝的m个卷积层和第二卷积核数,并对m个卷积层进行若干次非结构化剪枝,得到第二卷积层,还可以基于第二卷积核数,对第二卷积层中的卷积核进行修剪,得到第n次结构化剪枝后的模型。其中,k、n、m为正整数,m小于或等于k,m个卷积层为k个卷积层中的卷积层。第二卷积核数可以包括针对第n次结构化剪枝m个卷积层分别对应待修剪的卷积核数。第n次结构化剪枝之后,m个卷积层已修剪的卷积核数分别不大于第一卷积核数中m个卷积层对应待修剪的卷积核数。第二卷积层的稀疏度达到目标稀疏度。稀疏度为卷积层中值为0的参数数量占卷积层中所有参数数量的比例。

3、在本申请提供的方案中,电子设备可以在进行结构化剪枝之前,进行若干次非结构化剪枝。通过这种方式,电子设备可以更准确的确定重要性更小的卷积核,并去除这些卷积核,既压缩了模型,提升了使用该模型时的推理速度,又不会因去除重要性大的卷积核而太过影响模型效果。

4、在本申请的一些实施例中,电子设备可以在进行该若干次结构化剪枝中的部分结构化剪枝之前,对待结构化剪枝的卷积层进行若干次非结构化剪枝。例如,电子设备总共进行5次结构化剪枝,则电子设备可以在进行其中3次结构化剪枝之前对该3次结构化剪枝的卷积层先进行若干次非结构化剪枝。

5、在本申请的一些实施例中,电子设备可以在进行每一次结构化剪枝之前,都对待结构化剪枝的卷积层进行若干次非结构化剪枝。

6、结合第一方面,在一种可能的实现方式中,电子设备对m个卷积层进行若干次非结构化剪枝,得到第二卷积层,具体可以包括:电子设备可以确定目标稀疏度和单次稀疏度变化值,还可以基于单次稀疏度变化值,对该m个卷积层进行第i次非结构化剪枝。若第i次非结构化剪枝之后,该m个卷积层的稀疏度均达到目标稀疏度,电子设备可以得到第二卷积层。若第i次非结构化剪枝之后,该m个卷积层的稀疏度未全部达到目标稀疏度,则将i加1,电子设备可以执行上述基于单次稀疏度变化值,对该m个卷积层进行第i次非结构化剪枝的步骤。其中,单次稀疏度变化值为该m个卷积层进行一次非结构化剪枝后的稀疏度的变化值。i的初始值为1。

7、在本申请提供的方案中,电子设备可以确定目标稀疏度和单次稀疏度变化值,并基于单次稀疏度变化值来对该m个卷积层(即待进行第n次结构化剪枝的卷积层)进行非结构化剪枝,并在非结构化剪枝后该m个卷积层的稀疏度未全部达到目标稀疏度的情况下,进行下一次非结构化剪枝,以及在非结构化剪枝后该m个卷积层的稀疏度全部达到目标稀疏度的情况下,得到非结构化剪枝后的m个卷积层(即第二卷积层),然后再对第二卷积层进行结构化剪枝。通过这种方法,电子设备可以控制单次非结构化剪枝的力度,进行若干次非结构化剪枝,从而避免因单次非结构化剪枝力度过大而导致剪枝后的模型效果回退。

8、可理解,在第i次非结构化剪枝之后,该m个卷积层的稀疏度均达到目标稀疏度的情况下,第二卷积层可以包括该进行第i次非结构化剪枝之后且稀疏度均达到目标稀疏度的m个卷积层。可理解,经过非结构化剪枝之后,该m个卷积层包括的参数的值发生了变化。

9、在本申请的一些实施例中,在进行结构化剪枝前的非结构化剪枝过程中,该m个卷积层的目标稀疏度可以为相同值,该m个卷积层的单次稀疏度变化值也可以为相同值。例如,该m个卷积层的目标稀疏度可以为30%,该m个卷积层的单次稀疏度变化值可以为5%。该m个卷积层的稀疏度未全部达到目标稀疏度指的是该m个卷积层中存在一个或多个稀疏度未达到目标稀疏度的卷积层。例如,该m个卷积层的目标稀疏度可以为30%,该m个卷积层中存在一个稀疏度未达到30%的卷积层。

10、可理解,单次稀疏度变化值可以根据实际需求进行设置,本申请对此不作限制。

11、在本申请的一些实施例中,该m个卷积层进行每一次非结构化剪枝的单次稀疏度变化值是相同的。例如,该m个卷积层进行每一次非结构化剪枝的单次稀疏度变化值都是5%。

12、在本申请的一些实施例中,该m个卷积层进行若干次非结构化剪枝的单次稀疏度变化值不一定相同。例如,该m个卷积层总共进行4次非结构化剪枝。这4次非结构化剪枝分别对应的单次稀疏度变化值为8%、6%、4%和2%。具体地,该m个卷积层进行第1次非结构化剪枝的单次稀疏度变化值为8%,该m个卷积层进行第2次非结构化剪枝的单次稀疏度变化值为6%,该m个卷积层进行第3次非结构化剪枝的单次稀疏度变化值为4%,该m个卷积层进行第4次非结构化剪枝的单次稀疏度变化值为2%。

13、可理解,单次稀疏度变化值可以包括ki。在本申请的一些实施例本文档来自技高网...

【技术保护点】

1.一种神经网络模型处理方法,其特征在于,所述方法包括:

2.如权利要求1所述的方法,其特征在于,所述对所述m个卷积层进行若干次非结构化剪枝,得到第二卷积层,具体包括:

3.如权利要求2所述的方法,其特征在于,所述对所述m个卷积层进行第i次非结构化剪枝之后,所述方法还包括:

4.如权利要求3所述的方法,其特征在于,所述对所述第i次非结构化剪枝后的模型进行训练,具体包括:在训练轮次达到第一目标轮次,且损失值小于第一预设损失值的情况下,得到所述训练后的模型。

5.如权利要求2-4任一项所述的方法,其特征在于,所述基于所述单次稀疏度变化值,对所述m个卷积层进行第i次非结构化剪枝,具体包括:

6.如权利要求1-5任一项所述的方法,其特征在于,所述第二卷积层包括进行所述若干次非结构化剪枝后的所述m个卷积层;所述第二卷积核数包括Ur;所述Ur为针对所述第n次结构化剪枝所述m个卷积层中第r个卷积层对应待修剪的卷积核数;所述r为不大于所述m的正整数;所述基于所述第二卷积核数,对所述第二卷积层中的卷积核进行修剪,具体包括:

7.如权利要求1-6任一项所述的方法,其特征在于,所述电子设备确定所述第一卷积核数,具体包括:

8.如权利要求1-7任一项所述的方法,其特征在于,所述得到所述第n次结构化剪枝后的模型之后,所述方法还包括:

9.如权利要求8所述的方法,其特征在于,所述得到所述第n次结构化剪枝后的模型之后,所述方法还包括:

10.如权利要求1-9任一项所述的方法,其特征在于,所述对所述第一卷积层进行若干次结构化剪枝之后,所述方法还包括:

11.如权利要求10所述的方法,其特征在于,所述对所述x个卷积层进行非结构化剪枝之后,所述方法还包括:

12.一种神经网络模型推理方法,其特征在于,所述方法包括:

13.如权利要求12所述的方法,其特征在于,所述电子设备将待处理数据输入到神经网络模型之前,所述方法还包括:

14.一种电子设备,包括存储器、一个或多个处理器,其特征在于,所述存储器用于存储计算机程序;所述处理器用于调用所述计算机程序,使得所述电子设备执行权利要求1-11中任一项所述的方法。

15.一种电子设备,包括摄像头、存储器、一个或多个处理器,其特征在于,所述存储器用于存储计算机程序;所述处理器用于调用所述计算机程序,使得所述电子设备执行权利要求12-13中任一项所述的方法。

16.一种计算机存储介质,其特征在于,包括:计算机指令;当所述计算机指令在电子设备上运行时,使得所述电子设备执行权利要求1-11中任一项所述的方法。

17.一种计算机存储介质,其特征在于,包括:计算机指令;当所述计算机指令在电子设备上运行时,使得所述电子设备执行权利要求12-13中任一项所述的方法。

...

【技术特征摘要】

1.一种神经网络模型处理方法,其特征在于,所述方法包括:

2.如权利要求1所述的方法,其特征在于,所述对所述m个卷积层进行若干次非结构化剪枝,得到第二卷积层,具体包括:

3.如权利要求2所述的方法,其特征在于,所述对所述m个卷积层进行第i次非结构化剪枝之后,所述方法还包括:

4.如权利要求3所述的方法,其特征在于,所述对所述第i次非结构化剪枝后的模型进行训练,具体包括:在训练轮次达到第一目标轮次,且损失值小于第一预设损失值的情况下,得到所述训练后的模型。

5.如权利要求2-4任一项所述的方法,其特征在于,所述基于所述单次稀疏度变化值,对所述m个卷积层进行第i次非结构化剪枝,具体包括:

6.如权利要求1-5任一项所述的方法,其特征在于,所述第二卷积层包括进行所述若干次非结构化剪枝后的所述m个卷积层;所述第二卷积核数包括ur;所述ur为针对所述第n次结构化剪枝所述m个卷积层中第r个卷积层对应待修剪的卷积核数;所述r为不大于所述m的正整数;所述基于所述第二卷积核数,对所述第二卷积层中的卷积核进行修剪,具体包括:

7.如权利要求1-6任一项所述的方法,其特征在于,所述电子设备确定所述第一卷积核数,具体包括:

8.如权利要求1-7任一项所述的方法,其特征在于,所述得到所述第n次结构化剪枝后的模型之后,所述方法还包括:

9.如权利要求8所述的...

【专利技术属性】
技术研发人员:董云鹏姚万欣
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

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

1