当前位置: 首页 > 专利查询>湖南大学专利>正文

一种求解回归问题的神经网络量化方法技术

技术编号:33965812 阅读:14 留言:0更新日期:2022-06-30 01:26
本发明专利技术涉及神经网络技术领域,公开了一种求解回归问题的神经网络量化方法。本发明专利技术首先获取训练数据集;然后设计一个易于硬件实现的非线性激活函数;再基于该激活函数预训练一个32位浮点型的全连接层神经网络模型;调用预训练模型,将浮点型权重值量化成2的整数次幂的形式,将浮点型偏置值、各层浮点型输入输出以及激活函数的输入输出进行定点量化;最后利用反向传播和梯度下降算法对量化网络模型进行训练。本发明专利技术采用移位求和操作代替神经网络中的乘法运算,并采用了一种电路实现简单的激活函数,在保证网络模型拟合精度的同时,大幅减少了模型推理时的运算量,便于网络模型的硬件实现,同时也加快了回归神经网络的计算速度。同时也加快了回归神经网络的计算速度。同时也加快了回归神经网络的计算速度。

【技术实现步骤摘要】
一种求解回归问题的神经网络量化方法


[0001]本专利技术涉及神经网络
,尤其涉及一种求解回归问题的神经网络量化方法。

技术介绍

[0002]随着人工智能技术飞速发展,神经网络不仅被广泛应用在图像识别、目标检测、自然语言处理等分类任务中,也被越来越多的研究者用来解决物理、化学、材料、医学等领域的回归预测问题,如凝聚态物理中的分子动力学计算,研究表明基于神经网络的分子动力学计算比采用传统方法快4~6个数量级。然而,神经网络模型中的乘法运算和非线性激活函数都需要大量的硬件开销和较大的时间延迟。与此同时,相较于分类神经网络,回归神经网络对数值精度要求更高。因此,在回归神经网络模型的硬件实现时,需要更大的硬件开销来保证计算精度,这将导致硬件设备的面积和功耗较大、计算速度较慢,一方面增大了硬件设计的制造成本,另一方面也阻碍了回归神经网络在边缘设备上的部署。
[0003]为了解决上述问题,目前亟需一种求解回归问题的神经网络量化方法,在保证回归神经网络计算精度的同时,减少硬件实现时的资源开销,提高硬件计算的速度。

技术实现思路

[0004]本专利技术提供了一种求解回归问题的神经网络量化方法,能够解决现有技术的问题。通过在训练阶段对回归神经网络中的乘法运算和激活函数进行量化和简化,达到便于硬件实现,降低硬件资源开销,提高硬件计算速度的目的。实现本专利技术目的的技术解决方案为:
[0005]一种求解回归问题的神经网络量化方法,步骤如下:
[0006]S1,获取训练数据集,所述训练数据集包括样本数据X和对应的标签Y。
[0007]S2,设计一个易于硬件实现的非线性激活函数A()。
[0008]S3,基于激活函数A()和S1中的训练集,预训练一个32位浮点型的全连接层神经网络模型M1。
[0009]S4,调用S3中的M1模型,将模型的浮点型权重值量化成2的整数次幂的形式,并将模型的浮点型偏置值、各层浮点型输入输出以及激活函数的输入输出进行定点量化,得到量化后的神经网络M2。
[0010]S5,将训练集输入至S4中的量化网络模型M2,利用损失函数的反向传播和梯度下降,对模型M2进行训练。
[0011]进一步地,S1中,训练集中的样本数据X包括但不限于由原始数据变化得到的适于网络训练的特征数据集。
[0012]进一步地,S2中,设计的易于硬件实现的非线性激活函数A()的表达式为(但不限于):
[0013][0014]A()与双曲正切激活函数具有相似的函数图像。在网络模型的硬件实现时,用向右移位的操作代替A()中的除法运算。
[0015]进一步地,S3中,全连接层神经网络模型M1由输入层、隐藏层、输出层组成,隐藏层的计算公式如式(2)所示,包括一个矩阵乘运算和一个非线性激活函数A(),输出层的计算式如式(3)所示:
[0016]X
i
=A(X
i
‑1W
i
+B
i
)(2)
[0017]X
l
=X
l
‑1W
l
+B
l
(3)
[0018]其中,l表示神经网络的层数;X
i
表示第i层的输出;X
i
‑1表示第i层的输入(也是第i

1层的输出);W
i
是第i层的权重;B
i
是第i层的偏置。
[0019]进一步地,S3中,模型训练使用的损失函数为均方误差损失函数,其表达式为式(4):
[0020][0021]其中,N为样本的个数;Y
i
为训练集中的标签值;为网络模型的预测值。
[0022]进一步地,S4中,浮点型权重值的量化公式如式(5)所示:
[0023][0024]其中,w表示量化前的权重值;w
q
表示量化后的权重值;Q
K
()表示量化函数;K表示量化后的w
q
包含K个2的整数次幂的和;n
k
为指数,其取值范围为整数;s表示权重w的正负性,其取值范围为{

1,0,1}。当K为1时,量化函数Q(w)的表达式如式(6)所示:
[0025][0026]在网络模型的硬件实现时,层输入值与权重之间的乘法运算直接用以2为基数的移位求和操作代替,如式(7)所示:
[0027][0028]其中,x
q
表示量化后的层输入;P(x,n)表示移位函数,其表达式如式(8)所示:
[0029][0030]进一步地,S4中,模型的浮点型偏置值、各层浮点型输入输出以及激活函数的输入输出采用的定点量化公式如式(9)所示:
[0031][0032]其中,a表示待量化的32位浮点数;a
q
表示量化后的值;round()表示四舍五入取整操作;m表示量化后的小数位比特数。
[0033]进一步地,S5中,在模型M2的训练阶段,在所有量化操作点均使用Straight

Through Estimator(STE),直接把量化数据的梯度作为对应浮点型数据的梯度。因此,损失函数对权重矩阵的梯度为:
[0034][0035]其中,L为损失函数;W为权重矩阵;W
q
为量化后的权重矩阵。续训阶段使用的是损失函数也为均方误差损失函数,其表达式如式(4)。
[0036]进一步地,模型M2中的量化参数已经处于最优解附近,因此训练M2时采用一个较小的学习率,避免续训时因学习率过大而导致损失函数直接越过全局最优解。同时,模型M2的训练步数也少于模型M1的训练步数。
[0037]本专利技术与现有技术相比,其显著优点在于,本专利技术针对解决回归问题的神经网络,通过在训练阶段对回归神经网络模型进行量化处理,在保证拟合精度的情况下,能够大幅减少推理时的运算量,便于将网络模型部署到半定制或全定制的硬件平台中,极大地减少了硬件资源开销,加快了回归神经网络的计算速度。
附图说明
[0038]图1是本专利技术的操作流程图;
[0039]图2是本专利技术实施例中设计的激活函数A()与双曲正切函数Tanh()的图像;
[0040]图3是本专利技术实施例中全连接层神经网络的结构示意图;
[0041]图4是本专利技术实施例中不同K值的量化模型拟合精度同预训练模型拟合精度的对比。
具体实施方式
[0042]以下将结合说明书附图和具体实施例对本专利技术作进一步详细说明。
[0043]本专利技术涉及一种求解回归问题的神经网络量化方法,如图1所示,该方法首先获取训练数据集,所述训练数据集包括样本数据和对应的标签;然后设计一个易于硬件实现的非线性激活函数,并基于该激活函数预训练一个32位浮点型的全连接层神经网络模型;调用预训练的模型,将浮点型权重值量化成2的整数次幂的形式,并将模型的浮点型偏置值、各层浮点型输入输出以及激活本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种求解回归问题的神经网络量化方法。其特征在于,包括以下步骤:S1,获取训练数据集,所述训练数据集包括样本数据X和对应的标签Y。S2,设计一个易于硬件实现的非线性激活函数A()。S3,基于激活函数A()和S1中的训练集,预训练一个32位浮点型的全连接层神经网络模型M1。S4,调用S3中的M1模型,将模型的浮点型权重值量化成2的整数次幂的形式,并将模型的浮点型偏置值、各层浮点型输入输出以及激活函数的输入输出进行定点量化,得到量化后的神经网络M2。S5,将训练集输入至S4中的量化网络模型M2,利用损失函数的反向传播和梯度下降,对模型M2进行训练。2.如权利要求1所述的一种求解回归问题的神经网络量化方法,其特征在于,所述步骤S1中,训练集中的样本数据X包括但不限于由原始数据变化得到的适于网络训练的特征数据集。3.如权利要求1所述的一种求解回归问题的神经网络量化方法,其特征在于,所述步骤S2中,设计的易于硬件实现的非线性激活函数A()的表达式为(但不限于):A()与双曲正切激活函数具有相似的函数图像。在网络模型的硬件实现时,用向右移位的操作代替A()中的除法运算。4.如权利要求1所述的一种求解回归问题的神经网络量化方法,其特征在于,所述步骤S3中,全连接层神经网络模型M1由输入层、隐藏层、输出层组成,隐藏层的计算公式如式(2)所示,包括一个矩阵乘运算和一个非线性激活函数A(),输出层的计算式如式(3)所示:X
i
=A(X
i
‑1W
i
+B
i
)
ꢀꢀꢀ
(2)X
l
=X
l
‑1W
l
+B
l
ꢀꢀꢀ
(3)其中,l表示神经网络的层数;X
i
表示第i层的输出;X
i
‑1表示第i层的输入(也是第i

1层的输出);W
i
是第i层的权重;B
i
是第i层的偏置。5.如权利要求1所述的一种求解回归问题的神经网络量化方法,其特征在于,所述步骤S3中,模型训...

【专利技术属性】
技术研发人员:刘杰赵卓影莫平辉谭紫凌
申请(专利权)人:湖南大学
类型:发明
国别省市:

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

1