一种神经网络量化方法、装置以及相关产品制造方法及图纸

技术编号:21116739 阅读:33 留言:0更新日期:2019-05-16 09:17
本申请提供一种神经网络量化方法、装置及相关产品,所述方法用于对神经网络的计算层的数据进行量化。本申请提供的技术方案具有成本低的优点。

A Neural Network Quantization Method, Device and Related Products

【技术实现步骤摘要】
一种神经网络量化方法、装置以及相关产品
本申请涉及信息处理
,具体涉及一种神经网络量化方法、装置以及相关产品。
技术介绍
神经网络在系统辨识、模式识别、智能控制等领域有着广泛而吸引人的前景,特别在智能控制中,人们对神经网络的自学习功能尤其感兴趣,并且把神经网络这一重要特点看作是解决自动控制中控制器适应能力这个难题的关键钥匙之一。现有的神经网络构架均是基于多比特的构架,例如目前常用的32Bit构架,现有的神经网络构架的数据占用的比特位较多,需要较高的存储空间以及处理带宽,提高了成本。
技术实现思路
本申请实施例提供了一种神经网络量化方法及相关产品,可降低神经网络构架的比特位数,降低存储空间以及处理带宽,降低成本。第一方面,提供一种神经网络量化方法,包括:获取原始神经网络的目标量化层的权值和输入数据;其中,所述目标量化层为所述原始神经网络的计算层中的至少一层;利用所述原始神经网络的目标量化层的权值确定对应层的权值的量化参数;利用所述原始神经网络的目标量化层的输入数据确定对应层的输入数据的量化参数;其中,所述目标量化层的权值和输入数据均采用绝对值最大值不失真原则;根据所述权值的量化参数和所述输入数据的量化参数对所述原始神经网络的目标量化层进行量化。第二方面,提供一种神经网络量化装置,所述装置包括:数据读取单元,用于获取原始神经网络的目标量化层的权值和输入数据;其中,所述目标量化层为所述原始神经网络的计算层中的至少一层;量化参数确定单元,用于利用所述原始神经网络的目标量化层的权值确定对应层的权值的量化参数;利用所述原始神经网络的目标量化层的输入数据确定对应层的输入数据的量化参数;其中,所述目标量化层的权值和输入数据均采用绝对值最大值不失真原则;量化单元,用于根据所述权值的量化参数和所述输入数据的量化参数对所述原始神经网络的目标量化层进行量化。第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面的方法。第四方面,提供一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行第一方面提供的方法。第五方面,提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行第一方面提供的方法。本申请提供的技术方案将原神经网络的目标量化层执行量化得到权值的量化参数以及输入数据的量化参数,然后依据该量化参数完成目标量化层的量化。这样量化后的目标量化层在执行运算时,由于该输入数据以及权值均为量化后的数据,因此其减少了权值的存储空间以及输入数据的存储空间,并且较少比特位的运算量也相应减少,因此其具有减少运算量,提高运算速度,节省存储空间、降低功耗、节省成本的优点。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为一种神经网络构架的结构示意图。图2是本申请实施例提供的一种神经网络量化方法的流程示意图。图3a是本申请提供的卷积层的权值结构示意图。图3b是本申请提供的卷积层的权值的一个通道的数据结构示意图。图4是本申请一个实施例提供的量化运算装置的流程示意图。图5是本申请实施例提供的一种电子设备的结构图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。参阅图1,图1提供了一种神经网络构架示意图,如图1所示,神经网络构架可以包括多层结构,该多层结构如图1所示,可以包括:输入层、卷积层1、batchnorm层、卷积层2、中间层(依据不同功能的神经网络构架具有不同的中间层,该中间层可以为至少一层)、卷积层n、全连接层1、激活(例如激活函数:softmax)层。对于神经网络构架,对于计算量较大的层可以称为计算层,例如卷积层、全连接层等等,当然在实际应用中,上述计算层还可以包含其他类型的层,另外,本申请提供的图1中的神经网络构架仅仅是为了举例说明,本申请中的神经网络并不局限如图1所示的构架。参阅图2,图2提供了一种神经网络量化方法,该方法可以在如图1所示的神经网络构架下实现,当然在实际应用中,也可以在其他的神经网络构架下实现,如图2所示的方法并不限制神经网络构架的结构。如图2所示的方法可以由神经网络芯片执行,当然在实际应用中,也可以采用通用芯片或包含芯片的电子设备来实现,该通用芯片例如中央处理器CPU,图形处理器GPU等等。该方法如图2所示,包括如下步骤:步骤S201、获取原始神经网络的目标量化层的权值和输入数据;其中,所述目标量化层为所述原始神经网络的计算层中的至少一层;上述步骤S201中的原始神经网络可以为已知的神经网络,例如已完成训练的神经网络模型,该神经网络模型包含输入层的输入数据。上述至少一层具体可以包括一层或多层。可选的,上述计算层可以包括:卷积层、全连接层、LRN归一化层,反卷积层、Reorg层,Normalize归一化层中的至少一种。当然在实际应用中,上述计算层还可以是其他层,本申请并不局限计算层的具体表现形式。步骤S202、利用所述原始神经网络的目标量化层的权值确定对应层的权值的量化参数;利用所述原始神经网络的目标量化层的输入数据确定对应层的输入数据的量化参数;上述步骤S202在确定量化参数时,采用绝对值最大值不失真原则,即目标量化层的权值和输入数据均采用绝对值最大值不失真原则。步骤S203、根据所述权值的量化参数和所述输入数据的量化参数对所述原始神经网络的目标量化层进行量化。上述步骤S203的实现方法具体可以包括:将该权值的量化参数以及输入数据的量化参数存储至该目标量化层的ini配置文件内,如该目标量化层为神经网络的第一层,上述ini配置文件还可以包括:均值和方差。本申请提供的技术方案将原神经网络的目标量化层执行量化得到权值的量化参数以及输入数据的量化参数,然后依据该量化参数完成目标量化层的量化。这样量化后的目标量化层在执行运算时,由于该输入数据以及权值均为本文档来自技高网...

【技术保护点】
1.一种神经网络量化方法,其特征在于,包括:获取原始神经网络的目标量化层的权值和输入数据;其中,所述目标量化层为所述原始神经网络的计算层中的至少一层;利用所述原始神经网络的目标量化层的权值确定对应层的权值的量化参数;利用所述原始神经网络的目标量化层的输入数据确定对应层的输入数据的量化参数;其中,所述目标量化层的权值和输入数据均采用绝对值最大值不失真原则;根据所述权值的量化参数和所述输入数据的量化参数对所述原始神经网络的目标量化层进行量化。

【技术特征摘要】
1.一种神经网络量化方法,其特征在于,包括:获取原始神经网络的目标量化层的权值和输入数据;其中,所述目标量化层为所述原始神经网络的计算层中的至少一层;利用所述原始神经网络的目标量化层的权值确定对应层的权值的量化参数;利用所述原始神经网络的目标量化层的输入数据确定对应层的输入数据的量化参数;其中,所述目标量化层的权值和输入数据均采用绝对值最大值不失真原则;根据所述权值的量化参数和所述输入数据的量化参数对所述原始神经网络的目标量化层进行量化。2.根据权利要求1所述的神经网络量化方法,其特征在于,所述计算层包括:卷积层、全连接层、LRN归一化层,反卷积层、Reorg层,Normalize归一化层中的至少一种。3.根据权利要求1所述的神经网络量化方法,其特征在于,所述利用所述原始神经网络的目标量化层的权值确定对应层的权值的量化参数的步骤包括:获取所述目标量化层中的每一层的权值的绝对值的最大值;根据所述目标量化层中的每一层的权值的绝对值的最大值确定对应层的权值的第一量化参数和第二量化参数。4.根据权利要求1所述的神经网络量化方法,其特征在于,所述利用所述原始神经网络的目标量化层的输入数据确定对应层的输入数据的量化参数的步骤包括:获取所述目标量化层中的每一层的输入数据的绝对值的最大值;根据所述目标量化层中的每一层的输入数据的绝对值的最大值确定对应层的输入数据的第一量化参数和第二量化参数。5.根据权利要求1所述的神经网络量化方法,其特征在于,所述方法还包括:对所述原始神经网络的目标量化层中的每一层采用第一量化方法、第二量化方法或第三量化方法进行处理;其中,所述第一量化方法包括:利用所述目标量化层中的每一层的权值的第一量化参数将对应层的权值进行量化,获得对应层的权值量化结果;利用所述目标量化层中的每一层的输入数据的第一量化参数将对应层的输入数据进行量化,获得对应层的输入数据量化结果;所述第二量化方法包括:利用所述目标量化层中的每一层的权值的第一量化参数和第二量化参数获得对应层的权值量化中间参数;根据所述权值量化中间参数获得对应层的权值量化结果;利用所述目标量化层中的每一层的输入数据的第一量化参数和第二量化参数获得对应层的输入数据量化中间参数;根据输入数据量化中间参数获得对应层的输入数据量化结果;所述第三量化方法包括:利用所述目标量化层中的每一层的权值的第一量化参数和第二量化参数获得对应层的权值量化结果;利用所述目标量化层中的每一层的输入数据的第一量化参数和第二量化参数获得对应层的输入数据量化结果。6.根据权利要求1所述的神经网络量化方法,其特征在于,所述方法还包括:利用所述目标量化层中的每一层的每个通道的第一权值量化参数和第二权值量化参数获得对应通道的权值量化中间参数;其中,所述目标量化层包括卷积层和/或全连接层,利用每个通道的权值量化中间参数获得对应通道的权值量化结果,所述目标量化层中的每一层的每个通道的权值量化结果构成对应层的权值量化结果;利用所述目标量化层中的每一层的第一输入数据量化参数和第二输入数据量化参数获得对应层的输入数据量化中间参数;利用所述目标量化层中的每一层的输入数据量化中间参数获得对应层的输入数据量化结果。7.根据权利要求6所述的神经网络量化方法,其特征在于,所述方法还包括:对所述原始神经网络的目标量化层中的每一层采用第一量化方法、第二量化方法或第三量化方法进行处理;其中,所述目标量化层还包括所述原始神经网络的计算层中除了卷积层和/或全连接层之外的其他至少一层;所述第一量化方法包括:利用所述目标量化层中的每一层的权值的第一量化参数将对应层的权值进行量化,获得对应层的权值量化结果;利用所述目标量化层中的每一层的输入数据的第一量化参数将对应层的输入数据进行量化,获得对应层的输入数据量化结果;所述第二量化方法包括:利用所述目标量化层中的每一层的权值的第一量化参数和第二量化参数获得对应层的权值量化中间参数;根据所述权值量化中间参数获得对应层的权值量化结果;利用所述目标量化层中的每一层的输入数据的第一量化参数和第二量化参数获得对应层的输入数据量化中间参数;根据输入数据量化中间参数获得对应层的输入数据量化结果;所述第三量化方法包括:利用所述目标量化层中的每一层的权值的第一量化参数和第二量化参数获得对应层的权值量化结果;利用所述目标量化层中的每一层的输入数据的第一量化参数和第二量化参数获得对应层的输入数据量化结果。8.一种神经网络量化装置,其特征在于,所述装置包括:数据读取单元,用于获取原始神经网络的目标量化层的权值和输入数据;其中,所述目标量化层为所述原始神经网络的计算层中的至少一层;量化参数确定单元,用于利用所...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:北京中科寒武纪科技有限公司
类型:发明
国别省市:北京,11

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

1