一种神经网络参数量化方法和装置制造方法及图纸

技术编号:35001521 阅读:20 留言:0更新日期:2022-09-21 14:51
本申请提供人工智能领域中一种神经网络参数量化方法和装置,用于对神经网络进行量化,降低低比特量化时的精度损失,得到输出更准确的轻量化模型。该方法包括:首先,获取待量化模型中各个神经元的参数,得到参数集合;随后对参数集合中的参数进行聚类,得到多种分类数据;对多种分类数据中的每种分类数据进行量化,得到至少一种量化参数,至少一种量化参数用于得到压缩模型,至少一种量化参数的精度低于待量化模型中的参数的精度。于待量化模型中的参数的精度。于待量化模型中的参数的精度。

【技术实现步骤摘要】
一种神经网络参数量化方法和装置


[0001]本申请涉及人工智能领域,尤其涉及一种神经网络参数量化方法和装置。

技术介绍

[0002]模型压缩技术是构筑轻量级神经网络的常用技术手段。神经网络模型中一般使用FP32(32位浮点数据)进行存储。研究发现,神经网络具有较好的鲁棒性,将大型神经网络的参数通过量化、编码等方式减小精度,其依然可以保有相对良好的性能。常用的低精度数据包括FP16(半精度浮点)、INT16(16位的定点整数)、INT8(8位的定点整数)、INT4(4位的定点整数)、1bit等等数值格式。从网络性能和模型压缩程度两方面综合考虑,将权重参数由32bit浮点型(FP32)转化为8bit定点整形(INT8),是目前最为常用的量化手段。
[0003]然而,在进行量化时,尤其针对假发网络,在低比特量化时精度损失较大,因此,如何降低低比特量化时的精度损失,成为亟待解决的问题。

技术实现思路

[0004]本申请提供一种神经网络参数量化方法和装置,用于对神经网络进行量化,降低低比特量化时的精度损失,得到输出更准确的轻量化模型。
[0005]有鉴于此,第一方面,本申请提供一种神经网络参数量化方法,包括:首先,获取待量化模型中各个神经元的参数,得到参数集合;随后对参数集合中的参数进行聚类,得到多种分类数据;对多种分类数据中的每种分类数据进行量化,得到至少一种量化参数,至少一种量化参数用于得到压缩模型,至少一种量化参数的精度低于待量化模型中的参数的精度。
[0006]因此,本申请实施方式中,对神经网络的参数进行聚类后再进行量化,针对每个分类的参数分别进行量化,从而可以提高模型的表达能力。
[0007]在一种可能的实施方式中,前述的对参数集合进行聚类,得到多种分类数据,可以包括:对参数集合进行聚类,得到至少一种聚类数据;从至少一种聚类数据中的每种聚类数据中截取预设数量的参数,得到多种分类数据。
[0008]因此,本申请实施方式中,聚类后对每种分类参数进行截断,从而减少每种分类中的离群值,提高后续的模型表达能力。
[0009]在一种可能的实施方式中,待量化模型中的参数包括每个神经元的输出的特征中的参数或者每个神经元内的参数值。因此本申请实施方式中,针对神经网络中各个神经元的内部参数以及输出的特征值均进行量化,从而减少量化后模型所占的比特,得到轻量化模型。
[0010]在一种可能的实施方式中,待量化模型包括加法神经网络。因此,本申请实施方式中,针对加法网络,若各个神经元共享缩放系数,降低模型表达能力,若使用乘法卷积量化方式,可能由于权重数据和输入特征的缩放系数不相同,因此,通过本申请提供的方式,可以对参数进行聚类,针对每一类参数进行量化,提高压缩后模型的表达能力,避免量化后出
现非INT8的数值。
[0011]在一种可能的实施方式中,压缩模型用于进行图像识别、分类任务或者目标检测中的至少一种。因此,本申请提供的方法可以适用于多种场景,泛化能力强。
[0012]第二方面,本申请提供一种神经网络参数量化装置,包括:
[0013]获取模块,用于获取待量化模型中各个神经元的参数,得到参数集合;
[0014]聚类模块,用于对参数集合进行聚类,得到多种分类数据;
[0015]量化模块,用于对多种分类数据中的每种分类数据进行量化,得到至少一种量化参数,至少一种量化参数用于得到压缩模型,至少一种量化参数的精度低于待量化模型中的参数的精度。
[0016]在一种可能的实施方式中,聚类模块,具体用于:对参数集合进行聚类,得到至少一种聚类数据;从至少一种聚类数据中的每种聚类数据中截取预设数量的参数,得到多种分类数据。
[0017]在一种可能的实施方式中,待量化模型中的参数包括每个神经元的输出的特征中的参数或者每个神经元内的参数值。
[0018]在一种可能的实施方式中,待量化模型包括加法神经网络。
[0019]在一种可能的实施方式中,压缩模型用于进行图像识别、分类任务或者目标检测中的至少一种。
[0020]第三方面,本申请实施例提供一种神经网络参数量化装置,包括:处理器和存储器,其中,处理器和存储器通过线路互联,处理器调用存储器中的程序代码用于执行上述第一方面任一项所示的神经网络参数量化方法中与处理相关的功能。可选地,该神经网络参数量化装置可以是芯片。
[0021]第四方面,本申请实施例提供了一种神经网络参数量化装置,该神经网络参数量化装置也可以称为数字处理芯片或者芯片,芯片包括处理单元和通信接口,处理单元通过通信接口获取程序指令,程序指令被处理单元执行,处理单元用于执行如上述第一方面或第一方面任一可选实施方式中与处理相关的功能。
[0022]第五方面,本申请实施例提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面任一可选实施方式中的方法。
[0023]第六方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面任一可选实施方式中的方法。
附图说明
[0024]图1为本申请应用的一种人工智能主体框架示意图;
[0025]图2为本申请应用的一种卷积核的结构示意图;
[0026]图3为本申请提供的一种卷积神经网络的结构示意图;
[0027]图4为本申请提供的一种系统架构示意图;
[0028]图5为本申请提供的另一种系统架构示意图;
[0029]图6为本申请提供的一种量化方式示意图;
[0030]图7为本申请提供的一种神经网络参数量化方法的流程示意图;
[0031]图8为本申请提供的另一种神经网络参数量化方法的流程示意图;
[0032]图9为本申请提供的一种参数截断方式示意图;
[0033]图10为本申请提供的另一种参数截断方式示意图;
[0034]图11为本申请提供的一种待量化模型的结构示意图;
[0035]图12为本申请所提出的方案与常用的针对加法网络的量化方案的精度对比图;
[0036]图13为本申请提供的一种神经网络参数量化装置的结构示意图;
[0037]图14为本申请提供的另一种神经网络参数量化装置的结构示意图;
[0038]图15为本申请提供的一种芯片的结构示意图。
具体实施方式
[0039]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0040]首先对人工智能系统总体工作流程进行描述,请参见图1,图1示出的为人工智能主体框架的一种结构示意图,下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。其中,“智本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络参数量化方法,其特征在于,包括:获取待量化模型中各个神经元的参数,得到参数集合;对所述参数集合进行聚类,得到多种分类数据;对所述多种分类数据中的每种分类数据进行量化,得到至少一种量化参数,所述至少一种量化参数用于得到压缩模型,所述至少一种量化参数的精度低于所述待量化模型中的参数的精度。2.根据权利要求1所述的方法,其特征在于,所述对所述参数集合进行聚类,得到多种分类数据,包括:对所述参数集合进行聚类,得到至少一种聚类数据;从所述至少一种聚类数据中的每种聚类数据中截取预设数量的参数,得到所述多种分类数据。3.根据权利要求1或2所述的方法,其特征在于,所述待量化模型中的参数包括每个神经元的输出的特征中的参数或者每个神经元内的参数值。4.根据权利要求1

3中任一项所述的方法,其特征在于,所述待量化模型包括加法神经网络。5.根据权利要求1

4中任一项所述的方法,其特征在于,所述压缩模型用于进行图像识别、分类任务或者目标检测中的至少一种。6.一种神经网络参数量化装置,其特征在于,包括:获取模块,用于获取待量化模型中各个神经元的参数,得到参数集合;聚类模块,用于对所述参数集合进行聚类,得到多种分类...

【专利技术属性】
技术研发人员:聂迎韩凯刘传建马俊辉王云鹤
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1