卷积神经网络的量化方法、设备、存储介质及程序产品与流程

allin2025-07-31  24


本申请实施例涉及人工智能,尤其涉及一种卷积神经网络的量化方法、设备、存储介质及程序产品。


背景技术:

1、模型小型化是算法部署的关键技术,模型小型化的过程通常用模型量化来实现。卷积神经网络,由于参数多、计算量大等特点,部署时往往需要通过量化,将高比特位转换为低比特位,以提升卷积神经网络的推理速度。但实际量化过程中,一些卷积神经网络量化后会出现精度损失较为严重的情况。

2、举例来说,线性量化是通过对权重数据和激活值等比例缩放的形式,将卷积神经网络中的原始数据映射到某个数据区间。例如,对原始数据进行8比特线性量化时,将原始数据等比例缩放映射到区间[-128,127]中的某个数值,在等比例缩放时,若原始数据量较大,且分布不均匀,则分布接近的多个原始数据会映射到同一个数值(或者映射为0),导致量化精度严重下降。


技术实现思路

1、本申请实施例提供了一种卷积神经网络的量化方法、设备、存储介质及程序产品,用以提高卷积神经网络的量化精度。

2、一方面,本申请实施例提供了一种卷积神经网络的量化方法,包括:

3、将待量化卷积神经网络中的初始卷积层划分为多个子卷积层;

4、分别对各个子卷积层进行量化处理,并基于各个子卷积层的量化结果,获得目标卷积层;

5、在相同输入参数下,计算所述待量化卷积神经网络的输出和目标卷积神经网络的输出之间的相似度,并在确定所述相似度大于预设相似度阈值时,以所述目标卷积神经网络作为量化后的卷积神经网络,所述目标卷积神经网络是使用所述目标卷积层替换所述待量化卷积神经网络中的初始卷积层得到的。

6、一方面,本申请实施例提供了一种卷积神经网络的量化装置,包括:

7、分割模块,用于将待量化卷积神经网络中的初始卷积层划分为多个子卷积层;

8、量化模块,用于分别对各个子卷积层进行量化处理,并基于各个子卷积层的量化结果,获得目标卷积层;

9、处理模块,用于在相同输入参数下,计算所述待量化卷积神经网络的输出和目标卷积神经网络的输出之间的相似度,并在确定所述相似度大于预设相似度阈值时,以所述目标卷积神经网络作为量化后的卷积神经网络,所述目标卷积神经网络是使用所述目标卷积层替换所述待量化卷积神经网络中的初始卷积层得到的。

10、可选的,所述分割模块,具体用于:

11、依据所述初始卷积层的输入通道数c,将所述初始卷积层对应的权重矩阵划分为c个子权重矩阵,每个子权重矩阵对应所述初始卷积层的一个输入通道,c为大于等于1的自然数;

12、分别确定每个子权重矩阵的特征值,根据各个子权重矩阵的特征值的关系,对所述初始卷积层的部分或全部输入通道进行合并,并以每次输入通道的合并结果作为一个子卷积层,得到多个子卷积层,所述子权重矩阵的特征值为所述子权重矩阵中的最大权重值。

13、可选的,所述分割模块,具体用于:

14、以第i个子权重矩阵作为初始子权重矩阵,依据输入通道的顺序,依次遍历各个输入通道对应的子权重矩阵,并执行以下操作,直至遍历至第c个子权重矩阵:

15、在确定第j个子权重矩阵的特征值大于目标特征值时,合并以所述初始子权重矩阵为起始、第j-1个子权重矩阵为结束的一个或多个子权重矩阵对应的输入通道,以合并结果作为一个子卷积层,并以所述第j个子权重矩阵作为新的初始子权重矩阵,继续遍历剩余的子权重矩阵;

16、其中,所述目标特征值为所述初始子权重矩阵的特征值的预设倍数,i和j均为大于等于1且小于等于c的自然数,i小于j。

17、可选的,所述处理模块,还用于:

18、在确定所述相似度小于等于所述预设相似度阈值时,执行以下操作,直至确定所述相似度大于所述预设相似度阈值,或者所述预设倍数调整至预设倍数阈值,以中间卷积神经网络作为量化后的卷积神经网络:

19、调整所述预设倍数的值,并基于调整后的预设倍数,重新将所述初始卷积层划分为多个子卷积层,分别对重新划分的各个子卷积层进行量化处理,并基于重新划分的各个子卷积层的量化结果,获得量化后的中间卷积层,在相同输入参数下,计算所述待量化卷积神经网络的输出和所述中间卷积神经网络的输出之间的相似度,所述中间卷积神经网络是使用所述中间卷积层替换所述待量化卷积神经网络中的初始卷积层得到的。

20、可选的,所述处理模块,具体用于:减小所述预设倍数的值。

21、可选的,所述量化模块,具体用于执行以下操作中的至少一种:

22、分别对各个子卷积层的权重值进行量化;

23、分别对各个子卷积层的激活值进行量化处理。

24、可选的,所述装置还包括:部署模块,用于在部署所述待量化卷积神经网络时,部署所述量化后的卷积神经网络,或者对所述量化后的卷积神经网络进行二次量化处理,部署二次量化处理后的卷积神经网络。

25、一方面,本申请实施例提供了一种计算机设备,包括存储器、处理器芯片及存储在存储器上并可在处理器芯片上运行的计算机程序,所述处理器芯片执行所述程序时实现上述卷积神经网络的量化方法的步骤。

26、一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行上述卷积神经网络的量化方法的步骤。

27、一方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机设备执行时,使所述计算机设备执行上述卷积神经网络的量化方法的步骤。

28、本申请实施例中,在对待量化卷积神经网络进行量化时,首先将初始卷积层划分为多个子卷积层,分别对各个子卷积层进行量化处理,然后基于各个子卷积层的量化结果,获得目标卷积层,并以目标卷积层替换待量化卷积神经网络中的初始卷积层得到目标卷积神经网络,最后在相同输入参数下,计算待量化卷积神经网络的输出和目标卷积神经网络的输出之间的相似度,在确定相似度大于预设相似度阈值时,以目标卷积神经网络作为量化后的卷积神经网络。

29、本申请实施例,在对待量化卷积神经网络进行量化处理时,针对初始卷积层数据量大、且数据分布不均匀的情况,通过将卷积层划分为多个子卷积层进行量化,一方面,子卷积层相比于初始卷积层,数据量较小,子卷积层中每个数据可以有更多的映射空间,能够减少或者避免多个原始数据映射到同一个数值的情况,另一方面,子卷积层相比于初始卷积层,数据分布会更加均匀,同样能够减少或者避免分布接近的多个原始数据映射到同一个数值,因此,通过将初始卷积层划分为多个子卷积层进行量化,从数据量和数据分布两方面,减少或者避免多个原始数据映射到同一个数值的情况发生,提升量化精度。



技术特征:

1.一种卷积神经网络的量化方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述将待量化卷积神经网络中的初始卷积层划分为多个子卷积层,包括:

3.根据权利要求2所述的方法,其特征在于,所述根据各个子权重矩阵的特征值的关系,对所述初始卷积层的部分或全部输入通道进行合并,并以每次输入通道的合并结果作为一个子卷积层,得到多个子卷积层,包括:

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,所述调整所述预设倍数的值,包括:减小所述预设倍数的值。

6.根据权利要求1-5中任一项所述的方法,其特征在于,所述分别对各个子卷积层进行量化处理,包括以下操作中的至少一种:

7.根据权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:在部署所述待量化卷积神经网络时,部署所述量化后的卷积神经网络,或者对所述量化后的卷积神经网络进行二次量化处理,部署二次量化处理后的卷积神经网络。

8.一种计算机设备,包括存储器、处理器芯片及存储在存储器上并可在处理器芯片上运行的计算机程序,其特征在于,所述处理器芯片执行所述程序时实现权利要求1~7任一所述方法的步骤。

9.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行权利要求1~7任一所述方法的步骤。

10.一种计算机程序产品,其特征在于,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机设备执行时,使所述计算机设备执行权利要求1-7任一项所述方法的步骤。


技术总结
本申请实施例提供了一种卷积神经网络的量化方法、设备、存储介质及程序产品,涉及人工智能技术领域,该方法包括:将待量化卷积神经网络中的初始卷积层划分为多个子卷积层;分别对各个子卷积层进行量化处理,并基于各个子卷积层的量化结果,获得目标卷积层;在相同输入参数下,计算所述待量化卷积神经网络的输出和目标卷积神经网络的输出之间的相似度,并在确定所述相似度大于预设相似度阈值时,以所述目标卷积神经网络作为量化后的卷积神经网络,所述目标卷积神经网络是使用所述目标卷积层替换所述待量化卷积神经网络中的初始卷积层得到的。

技术研发人员:请求不公布姓名,请求不公布姓名,请求不公布姓名
受保护的技术使用者:上海壁仞科技股份有限公司
技术研发日:
技术公布日:2024/10/31
转载请注明原文地址: https://www.8miu.com/read-23568.html

最新回复(0)