本发明专利技术公开了一种神经网络的量化方法、装置、服务器和存储介质。神经网络的量化方法包括:利用原始权重初始化量化权重;设置目标函数,所述目标函数包括所述量化权重与所述原始权重之间的夹角、共享权重值和权重分配索引;求解所述目标函数以最小化所述量化权重与所述原始权重之间的夹角,并得到所述共享权重值及所述权重分配索引;根据所述共享权重值及所述权重分配索引获得所述量化权重。上述神经网络的量化方法,是基于向量方向来优化神经网络量化问题的方法,通过最小化量化权重与原始权重之间的夹角,使得量化权重能够尽可能的保存原始权重信息,从而降低量化所带来的信息损失。
【技术实现步骤摘要】
神经网络的量化方法、装置、服务器和存储介质
本专利技术涉及深度神经网络
,特别涉及一种神经网络的量化方法、装置、服务器和存储介质。
技术介绍
近年来,深度神经网络极大的推动了自动驾驶领域的发展,使得人们过去几十年的畅想逐渐变成了可能。但是深度神经网络所需要的庞大的计算量,限制了其在运算资源有限的车载智能硬件上的应用。为了解决这一瓶颈,许多研究工作通过量化深度神经网络运算中的参数,通过将浮点数参数转换为定点数参数并缩短其位宽来达到降低深度神经网络计算开销的需求。然而,在量化过程中,如何降低量化的信息损失成为待解决的技术问题。
技术实现思路
本专利技术的实施方式提供了一种神经网络的量化方法、装置、服务器和存储介质。本专利技术实施方式的神经网络的量化方法包括:利用原始权重初始化量化权重;设置目标函数,所述目标函数包括所述量化权重与所述原始权重之间的夹角、共享权重值和权重分配索引;求解所述目标函数以最小化所述量化权重与所述原始权重之间的夹角,并得到所述共享权重值及所述权重分配索引;根据所述共享权重值及所述权重分配索引获得所述量化权重。在某些实施方式中,利用原始权重初始化量化权重,包括:对每一层网络的原始权重使用最小化欧氏距离以初始化所述量化权重。在某些实施方式中,利用原始权重初始化量化权重,包括:对每一层网络的原始权重使用对数量化以初始化所述量化权重。在某些实施方式中,所述量化方法包括:在每一层网络中加入批量归一化以减少内部协方差变异。在某些实施方式中,所述量化权重与所述原始权重之间的夹角表示为所述原始权重中的第i个核函数矢量与量化权重矢量的内积除以所述第i个核函数矢量和所述量化权重矢量的长度。在某些实施方式中,求解所述目标函数,包括:固定所述共享权重值,调整所述权重分配索引;固定所述权重分配索引,调整所述共享权重值。在某些实施方式中,根据所述共享权重值及所述权重分配索引获得所述量化权重,包括:按照所述权重分配索引依次对每层所述原始权重分配对应的共享权重值以获得所述量化权重。本专利技术实施方式的神经网络的量化装置,包括:初始化模块,所述初始化模块用于利用原始权重初始化量化权重;设置模块,所述设置模块用于设置目标函数,所述目标函数包括所述量化权重与所述原始权重之间的夹角、共享权重值和权重分配索引;求解模块,所述求解模块用于求解所述目标函数以最小化所述量化权重与所述原始权重之间的夹角,并得到所述共享权重值及所述权重分配索引;分配模块,所述分配模块用于根据所述共享权重值及所述权重分配索引获得所述量化权重。本专利技术实施方式的服务器,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器用于执行所述程序以实现上述任一实施方式的神经网络的量化方法。本专利技术实施方式的计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行的情况下,实现上述任一实施方式的神经网络的量化方法的步骤。上述神经网络的量化方法、装置、服务器和存储介质,基于向量方向来优化神经网络量化问题,通过最小化量化权重与原始权重之间的夹角,使得量化权重能够尽可能的保存原始权重信息,从而降低量化所带来的信息损失。本专利技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:图1-图7是本专利技术实施方式的神经网络的量化方法的流程示意图;图8是本专利技术实施方式的神经网络的量化装置的模块示意图;图9是本专利技术实施方式的服务器的模块示意图。具体实施方式下面详细描述本专利技术的实施方式,所述实施方式的实施方式在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本专利技术,而不能理解为对本专利技术的限制。请参阅图1,本专利技术实施方式的神经网络的量化方法包括:步骤S12:利用原始权重初始化量化权重;步骤S14:设置目标函数,目标函数包括量化权重与原始权重之间的夹角、共享权重值和权重分配索引;步骤S16:求解目标函数以最小化量化权重与原始权重之间的夹角,并得到共享权重值及权重分配索引;步骤S18:根据共享权重值及权重分配索引获得量化权重。上述神经网络的量化方法,是基于向量方向来优化神经网络量化问题的方法,通过最小化量化权重与原始权重之间的夹角,使得量化权重能够尽可能的保存原始权重信息,从而降低量化所带来的信息损失。相关技术中,深度神经网络需要庞大的计算量,通过量化深度神经网络运算中的参数,可减少深度神经网络计算开销的需求。同时,为了避免量化过程带来的信息损失,主要通过最小化量化权重与原始深度神经网络权重间的欧氏距离(L2-distance),以获得信息损失较小的量化权重。为了加快深度神经网络的训练速度,每层网络中通常会加入批量归一化(BatchNormalization,BN)以减少内部协方差变异,具体计算公式如下:其中,xi为批量B={x1...m}在进入激活函数前的输入值。μB为当前输入值的平均值,为输入值和平均值的方差。γ和β是可以在训练中被调整的参数,ε是为了避免方差为0而引入的极小项。然而,在输入值xi的欧氏距离扩大N倍的情况下,平均值和方差都会相应的扩大N倍,在进行批量归一化后,结果并不会发生改变。也即是说,在相关技术中,输入向量的长度信息并不会影响结果,最小化量化权重与原始深度神经网络权重间的欧氏距离,不能够有效避免量化过程带来的信息损失。而本专利技术实施方式的神经网络的量化方法,利用输入向量的信息主要存在于输入向量的方向中的特性,通过最小化量化权重与原始权重之间的夹角,优化量化权重,使得量化权重能够尽可能的保存原始权重信息,从而降低量化所带来的信息损失。可以理解,神经网络包括输入层、输出层和处于输入层与输出层之间的多个隐藏层。输入层、输出层和隐藏层均可包括多个神经元。输入层、输出层和隐藏层之间是全连接的,即就是,任意相邻的两层中,位于其中一层的任意一个神经元一定与其中另一层的任意一个神经元相联结,且每两个联结的神经元之间存在原始权重。通过设置并求解目标函数,最小化量化权重与原始权重之间的夹角,得到量化权重,然后使用量化权重进行神经网络的计算,能够得到更准确的结果,从而降低量化所带来的信息损失。具体地,在某些实施方式中,量化权重与原始权重之间的夹角表示为原始权重中的第i个核函数矢量与量化权重矢量的内积除以第i个核函数矢量和量化权重矢量的长度。如此,量化权重与原始权重之间的夹角的大小可由余弦相似度表示。进一步地,最小化量化权重与原始权重之间的夹角,即最大化量化权重与原始权重之间的余弦相似度。因此,目标函数可设置为:其中,代表第l层量本文档来自技高网...
【技术保护点】
1.一种神经网络的量化方法,其特征在于,包括:/n利用原始权重初始化量化权重;/n设置目标函数,所述目标函数包括所述量化权重与所述原始权重之间的夹角、共享权重值和权重分配索引;/n求解所述目标函数以最小化所述量化权重与所述原始权重之间的夹角,并得到所述共享权重值及所述权重分配索引;/n根据所述共享权重值及所述权重分配索引获得所述量化权重。/n
【技术特征摘要】
1.一种神经网络的量化方法,其特征在于,包括:
利用原始权重初始化量化权重;
设置目标函数,所述目标函数包括所述量化权重与所述原始权重之间的夹角、共享权重值和权重分配索引;
求解所述目标函数以最小化所述量化权重与所述原始权重之间的夹角,并得到所述共享权重值及所述权重分配索引;
根据所述共享权重值及所述权重分配索引获得所述量化权重。
2.根据权利要求1所述的神经网络的量化方法,其特征在于,利用原始权重初始化量化权重,包括:
对每一层网络的原始权重使用最小化欧氏距离以初始化所述量化权重。
3.根据权利要求1所述的神经网络的量化方法,其特征在于,利用原始权重初始化量化权重,包括:
对每一层网络的原始权重使用对数量化以初始化所述量化权重。
4.根据权利要求2或3所述的神经网络的量化方法,其特征在于,所述量化方法包括:
在每一层网络中加入批量归一化以减少内部协方差变异。
5.根据权利要求1所述的神经网络的量化方法,其特征在于,所述量化权重与所述原始权重之间的夹角表示为所述原始权重中的第i个核函数矢量与量化权重矢量的内积除以所述第i个核函数矢量和所述量化权重矢量的长度。
6.根据权利要求1所述的神经网络的量化方法,其特征在于,求解所...
【专利技术属性】
技术研发人员:李品逸,蔡志文,陈腊梅,
申请(专利权)人:广州小鹏自动驾驶科技有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。