神经网络参数定点化方法、装置、系统和计算机可读介质制造方法及图纸

技术编号:19547618 阅读:35 留言:0更新日期:2018-11-24 21:16
本发明专利技术提供了一种神经网络参数定点化方法、装置、系统和计算机可读介质,所述方法包括:将神经网络的每一层的参数集合均等地划分到N个区间,其中N为大于等于2的整数;以及对所述N个区间对应的参数做定点处理以生成与每个区间对应的定点参数,并将所述定点参数更新至所述神经网络。根据本发明专利技术实施例的神经网络参数定点化方法、装置、系统和计算机可读介质通过对神经网络参数的分布进行均匀地分割,使得定点数的每个取值大致均衡,从而提高了有效位宽,能够大幅度提高神经网络的精度。

Fixed Point Method, Device, System and Computer Readable Media of Neural Network Parameters

The invention provides a method, device, system and computer readable medium for fixing the parameters of a neural network. The method includes: dividing the parameter set of each layer of a neural network equally into N intervals, where N is an integer greater than or equal to 2; and fixing the parameters corresponding to the N intervals to generate and generate the parameters corresponding to the N intervals. Fixed-point parameters corresponding to each interval are updated to the neural network. According to the embodiment of the present invention, the method, device, system and computer readable medium for fixing the parameters of the neural network are evenly divided, so that each value of the fixed points is roughly balanced, thereby improving the effective bit width and greatly improving the accuracy of the neural network.

【技术实现步骤摘要】
神经网络参数定点化方法、装置、系统和计算机可读介质
本专利技术涉及神经网络
,更具体地涉及一种神经网络参数定点化方法、装置、系统和计算机可读介质。
技术介绍
现有的神经网络的训练和预测过程都需要耗费大量的计算量,这限制了它在低功耗设备(如嵌入式设备、移动设备)上的应用。为了降低计算量和功耗,近年来一个常用的方法是,在神经网络的参数中使用低位宽的定点数来代替浮点数,这样可以使用快速的位操作来代替耗时的浮点计算。在过去的方法中,通常需要将浮点数的参数均等地舍入到低位宽的定点数,这之中存在着舍入误差。此外,通常情况下,神经网络的参数大致呈钟形分布,且通常含有较大或较小的极端值。这通常导致了在可能的若干取值当中,参数大量集中于位于中间的取值区间内,而在其他的值上非常稀少,这样神经网络中的参数实际上只利用了非常少的可能取值,对于非常有限的位宽的利用不高效。
技术实现思路
为了解决上述问题提出了本专利技术。根据本专利技术一方面,提供了一种神经网络参数定点化方法,所述方法包括:将神经网络的每一层的参数集合均等地划分到N个区间,其中N为大于等于2的整数;以及对所述N个区间对应的参数做定点处理以生成与每个区间对应的定点参数,并将所述定点参数更新至所述神经网络。在本专利技术的一个实施例中,所述将神经网络的每一层的参数集合均等地划分到N个区间包括:计算所述神经网络的每一层的参数集合的各分位数;基于所述各分位数确定将所述参数集合均等划分的N个区间;以及将所述参数集合均等地划分到所确定的N个区间。在本专利技术的一个实施例中,所述计算所述神经网络的每一层的参数集合的各分位数包括:基于待生成的定点参数的位数确定所述N的取值;基于所述N的取值确定需要计算的所述神经网络的每一层的参数集合的分位数的个数;以及基于所确定的所述分位数的个数计算所述各分位数。在本专利技术的一个实施例中,所述N的取值通过公式N=2k来计算,其中k为待生成的定点参数的位数。在本专利技术的一个实施例中,所述将所述参数集合均等地划分到所确定的N个区间包括:当N等于2时,计算所述神经网络的每一层的参数集合的中位数以将所述参数集合均等地划分到两个区间;以及当N大于2时,分别计算所述两个区间内的子参数集的各自的中位数以将所述参数集合均等地划分到四个区间,如此递归操作直到将所述参数集合均等地划分到所述N个区间。在本专利技术的一个实施例中,所述将神经网络的每一层的参数集合均等地划分到N个区间还包括:将所述N个区间中的参数线性映射到[0,1]之间的均匀分隔的N个区间中。在本专利技术的一个实施例中,所述将所述N个区间中的参数线性映射到[0,1]之间的均匀分隔的N个区间中包括:基于所述N的取值确定所述N个区间各自被映射到[0,1]之间的区间后各自所在区间的端点;基于所述N个区间各自被映射到[0,1]之间的区间后各自所在区间的端点以及所述N个区间的各自区间内所包括参数的最小值和最大值计算所述N个区间各自的线性映射参数;以及基于所述线性映射参数将所述N个区间中的参数线性映射到[0,1]之间的均匀分隔的N个区间中。在本专利技术的一个实施例中,所述对所述N个区间对应的参数做定点处理以生成与每个区间对应的定点参数包括:对经过线性映射到[0,1]之间的N个区间对应的参数进行定点处理以得到离散的定点参数。在本专利技术的一个实施例中,所述方法还包括:使用定点参数对所述神经网络进行训练并进行梯度计算。根据本专利技术另一方面,提供了一种神经网络参数定点化装置,所述装置包括:均匀分割模块,用于将神经网络的每一层的参数集合均等地划分到N个区间,其中N为大于等于2的整数;以及定点化处理模块,用于对所述N个区间对应的参数做定点处理以生成与每个区间对应的定点参数,并将所述定点参数更新至所述神经网络。在本专利技术的一个实施例中,所述均匀分割模块将神经网络的每一层的参数集合均等地划分到N个区间包括:计算所述神经网络的每一层的参数集合的各分位数;基于所述各分位数确定将所述参数集合均等划分的N个区间;以及将所述参数集合均等地划分到所确定的N个区间。在本专利技术的一个实施例中,所述均匀分割模块计算所述神经网络的每一层的参数集合的各分位数包括:基于待生成的定点参数的位数确定所述N的取值;基于所述N的取值确定需要计算的所述神经网络的每一层的参数集合的分位数的个数;以及基于所确定的所述分位数的个数计算所述各分位数。在本专利技术的一个实施例中,所述N的取值通过公式N=2k来计算,其中k为待生成的定点参数的位数。在本专利技术的一个实施例中,所述均匀分割模块将所述参数集合均等地划分到所确定的N个区间包括:当N等于2时,计算所述神经网络的每一层的参数集合的中位数以将所述参数集合均等地划分到两个区间;以及当N大于2时,分别计算所述两个区间内的子参数集的各自的中位数以将所述参数集合均等地划分到四个区间,如此递归操作直到将所述参数集合均等地划分到所述N个区间。在本专利技术的一个实施例中,所述均匀分割模块将神经网络的每一层的参数集合均等地划分到N个区间还包括:将所述N个区间中的参数线性映射到[0,1]之间的均匀分隔的N个区间中。在本专利技术的一个实施例中,所述均匀分割模块将所述N个区间中的参数线性映射到[0,1]之间的均匀分隔的N个区间中包括:基于所述N的取值确定所述N个区间各自被映射到[0,1]之间的区间后各自所在区间的端点;基于所述N个区间各自被映射到[0,1]之间的区间后各自所在区间的端点以及所述N个区间的各自区间内所包括参数的最小值和最大值计算所述N个区间各自的线性映射参数;以及基于所述线性映射参数将所述N个区间中的参数线性映射到[0,1]之间的均匀分隔的N个区间中。在本专利技术的一个实施例中,所述定点化处理模块对所述N个区间对应的参数做定点处理以生成与每个区间对应的定点参数包括:对经过线性映射到[0,1]之间的N个区间对应的参数进行定点处理以得到离散的定点参数。在本专利技术的一个实施例中,所述装置还包括:映射模块,用于使用定点参数对所述神经网络进行训练并进行梯度计算。根据本专利技术再一方面,提供了一种神经网络参数定点化系统,所述系统包括存储装置和处理器,所述存储装置上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时执行上述任一项所述的神经网络参数定点化方法。根据本专利技术又一方面,提供了一种计算机可读介质,所述计算机可读介质上存储有计算机程序,所述计算机程序在运行时执行上述任一项所述的神经网络参数定点化方法。根据本专利技术实施例的神经网络参数定点化方法、装置、系统和计算机可读介质通过对神经网络参数的分布进行均匀地分割,使得定点数的每个取值大致均衡,从而提高了有效位宽,能够大幅度提高神经网络的精度。附图说明通过结合附图对本专利技术实施例进行更详细的描述,本专利技术的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本专利技术实施例的进一步理解,并且构成说明书的一部分,与本专利技术实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中,相同的参考标号通常代表相同部件或步骤。图1示出用于实现根据本专利技术实施例的神经网络参数定点化方法、装置、系统和计算机可读介质的示例电子设备的示意性框图;图2示出根据本专利技术实施例的神经网络参数定点化方法的示意性流程图;图3A-3C示出根据本专利技术实施例的神经网络参数定本文档来自技高网...

【技术保护点】
1.一种神经网络参数定点化方法,其特征在于,所述方法包括:将神经网络的每一层的参数集合均等地划分到N个区间,其中N为大于等于2的整数;以及对所述N个区间对应的参数做定点处理以生成与每个区间对应的定点参数,并将所述定点参数更新至所述神经网络。

【技术特征摘要】
1.一种神经网络参数定点化方法,其特征在于,所述方法包括:将神经网络的每一层的参数集合均等地划分到N个区间,其中N为大于等于2的整数;以及对所述N个区间对应的参数做定点处理以生成与每个区间对应的定点参数,并将所述定点参数更新至所述神经网络。2.根据权利要求1所述的方法,其特征在于,所述将神经网络的每一层的参数集合均等地划分到N个区间包括:计算所述神经网络的每一层的参数集合的各分位数;基于所述各分位数确定将所述参数集合均等划分的N个区间;以及将所述参数集合均等地划分到所确定的N个区间。3.根据权利要求2所述的方法,其特征在于,所述计算所述神经网络的每一层的参数集合的各分位数包括:基于待生成的定点参数的位数确定所述N的取值;基于所述N的取值确定需要计算的所述神经网络的每一层的参数集合的分位数的个数;以及基于所确定的所述分位数的个数计算所述各分位数。4.根据权利要求3所述的方法,其特征在于,所述N的取值通过公式N=2k来计算,其中k为待生成的定点参数的位数。5.根据权利要求2所述的方法,其特征在于,所述将所述参数集合均等地划分到所确定的N个区间包括:当N等于2时,计算所述神经网络的每一层的参数集合的中位数以将所述参数集合均等地划分到两个区间;以及当N大于2时,分别计算所述两个区间内的子参数集的各自的中位数以将所述参数集合均等地划分到四个区间,如此递归操作直到将所述参数集合均等地划分到所述N个区间。6.根据权利要求1所述的方法,其特征在于,所述将神经网络的每一层的参数集合均等地划分到N个区间还包括:将所述N个区间中的参数线性映射到[0,1]之间的均匀分隔的N个区间中。7.根据权利要求6所述的方法...

【专利技术属性】
技术研发人员:周舒畅何钦尧郭嘉丞
申请(专利权)人:北京旷视科技有限公司北京迈格威科技有限公司
类型:发明
国别省市:北京,11

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

1