神经网络模型的训练和应用方法、装置、系统及存储介质制造方法及图纸

技术编号:27571065 阅读:10 留言:0更新日期:2021-03-09 22:18
本发明专利技术提供一种神经网络模型的训练和应用方法、装置、系统及存储介质。所述训练方法包括:根据神经网络模型的训练迭代次数和计算精度确定约束阈值范围,将权重的梯度约束在所述约束阈值范围内,使得当由于量化误差导致低精度的权重的梯度出现畸变的时候,通过对梯度的约束,修正梯度出现的畸变,使训练后的网络模型能够达到预期的性能。型能够达到预期的性能。型能够达到预期的性能。

【技术实现步骤摘要】
神经网络模型的训练和应用方法、装置、系统及存储介质
[0001]本专利技术请求2019年08月29日提交的、申请号为201910807591.6、专利技术创造名称为“神经网络模型的训练和应用方法、装置、系统及存储介质”的中国专利技术申请的优先权,以全文引用方式并入到本文中。


[0002]本专利技术涉及深度神经网络(Deep Neural Networks,DNN)的建模领域,尤其涉及一种适用于不同计算精度的神经网络模型的训练方法。

技术介绍

[0003]深度神经网络是一种具有复杂网络架构的模型,常见的神经网络模型有卷积神经网络(Convolutional Neural Network,CNN)模型、循环神经网络(Recurrent Neural Network,RNN)模型和图神经网络(Graph Neural Network,GNN)模型等。图1例示了一个简单的神经网络模型架构(未示出具体的网络架构)。将待训练的数据x(特征图)输入到神经网络模型F中后,x在网络模型F中至上而下逐层进行运算,最终从模型F输出符合一定分布要求的输出结果y。
[0004]以图2和图3所示的CNN模型为例,假设该模型中存在包括三个权重w1、w2和w3的卷积层,在图2所示的前向传播(Forward Propagation)过程中,该卷积层的输入特征图与权重w1、w2和w3分别进行卷积运算后,得到该卷积层的输出特征图并向下一层输出。通过逐层运算,最终得到网络模型的输出结果y。将该输出结果y与用户期望的输出结果y*进行比较,如果两者的误差没有超过预定阈值,则表示当前网络模型的性能较好;反之,如果两者的误差超过了预定阈值,则需要利用实际输出结果y和期望输出结果y*之间的误差,在图3所示的反向传播(BackPropagation)过程中,对卷积层中的权重w1、w2和w3进行更新,以使网络模型的性能更优。这里,对网络模型中各权重的更新过程即为网络模型的训练过程。
[0005]在对网络模型中的各权重进行更新的过程中,根据误差评估函数L(y,y*)(其输入为实际输出结果y和期望输出结果y*,用于表示两者间的误差的函数),在网络模型中由下至上逐层计算各权重w的偏导数(梯度)g。假设当前待训练的网络模型已经过了t次训练(即训练迭代次数为t),网络模型中有若干个要被更新的权重,当前正要被更新的权重是w
t
。首先,根据以下公式(1)计算权重w
t
的梯度g
t
;然后,再根据以下公式(2)来更新权重w
t
,得到第t+1次(本次)训练后的权重w
t+1

[0006][0007]w
t+1
=w
t-η
t g
t
ꢀꢀꢀ
公式(2)
[0008]其中,η
t
是更新步伐尺度(又名学习率),其可为常量亦可为变量,用于尺度化梯度g
t

[0009]根据以上针对权重w
t
的更新过程可知,计算梯度是权重更新过程的重要步骤,但是,以上公式(2)中仅考虑了权重w
t
与梯度的关系,即仅考虑了最近一次更新后的梯度,而没有考虑到历史梯度(前若干次训练迭代中的梯度)对本次训练迭代中的梯度的影响,从而
使得在梯度位置产生的方向惯性较小,不利于神经网络模型训练的加速。

技术实现思路

[0010]为了使传统的权重更新过程更优,提高神经网络模型的收敛速度,使神经网络模型的训练加速,业界提出了一种ADAM(Adaptive Moment Estimation)的训练方法。在对神经网络模型中的某一权重进行更新时,利用该权重在之前的若干次更新(训练)时的历史梯度来更新该权重在本次更新(训练)时的梯度,进而利用新梯度来更新权重。图4示出了基于ADAM来更新权重的方法流程图,假设待训练的神经网络模型已经过t次训练(训练迭代次数为t),当前正要对神经网络模型中的权重w
t
进行更新,具体过程包括:
[0011]首先,利用前述的公式(1)计算权重w
t
的梯度g
t

[0012]然后,利用以下推导出的公式(3)计算权重w
t
的历史梯度的滑动平均一阶矩,即历史梯度一阶矩的加权求和。
[0013][0014]其中,β1m
t-1
+(1-β1)g
t
是递归式,m
t-1
是利用m
t-2
与该公式计算出的,以此类推,从第一次训练的m1开始,依次计算m2、m3……
m
t-1
,从而推导出一阶的加权求和式所述β1是加权值,表示梯度衰减率,其可以是常数,如0.9。公式(3)中的表示β1的t-i次幂。
[0015]接着,利用以下推导出的公式(4)计算历史梯度的滑动平均二阶矩,即历史梯度二阶矩的加权求和。
[0016][0017]其中,β2V
t-1
+(1

β2)g
t2
是递归式,与公式(3)中类似的,从第一次训练的V1开始,依次计算V2、V3……
V
t-1
,从而推导出二阶的加权求和式所述β2是加权值,表示梯度衰减率,其可以是常数,如0.999。公式(4)中的表示β2的t-i次幂。
[0018]最后,根据公式(3)和公式(4)的计算结果,利用公式(5)更新梯度g
t
,得到更新后的梯度g
t

;然后再利用更新后的梯度g
t

按照公式(6)更新权重w
t
,得到本次训练后的权重w
t+1

[0019][0020][0021]在基于ADAM的权重更新方法中,不仅利用本次训练时预先计算出的权重w
t
的梯度g
t
,还利用加权求和的方式引入了该权重在之前训练时的历史梯度来得到本次训练时可用的梯度g
t

,从而能够自适应地在梯度连续的位置处产生更大的惯性,以便加速神经网络模型的训练。
[0022]虽然ADAM方法较好地克服了传统神经网络模型训练速度慢的问题,但是ADAM方法的应用前提是:被训练的神经网络模型是高精度的模型(权重和输入x是高精度),例如,模型中的权重w是32位浮点型。随着训练迭代次数的增加,权重w的变化如图5(a)所示,其梯度
为权重值的切线。在训练迭代次数为10时,权重w
10
的梯度为g
10
;在训练迭代次数为20时,权重w
20
的梯度为g
20
。这里的梯度g是按照前述的ADAM方法更新后的梯度。如图6(a)所示,在对高精度的神经网络模型进行训练时,随着训练迭代次数的增加,梯度合理变化,网络模型的实际输出结果y和期望输出结果y*本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络模型的训练方法,其特征在于,所述训练方法包括:在反向传播中,确定所述神经网络模型中的权重的梯度;针对确定的梯度中的至少一个梯度,执行以下处理:确定梯度是否在约束阈值范围内,并将超出所述约束阈值范围的梯度约束到所述约束阈值范围内,其中,所述约束阈值范围是根据所述神经网络模型的训练迭代次数和计算精度确定的;利用约束后的梯度更新权重。2.根据权利要求1所述的训练方法,其特征在于,其中,在梯度大于所述约束阈值范围的上限值的情况下,将所述梯度约束成所述上限值;在梯度小于所述约束阈值范围的下限值的情况下,将所述梯度约束成所述下限值。3.根据权利要求1所述的训练方法,其特征在于,其中,所述约束阈值范围的上限值在逐次训练中单调递减,所述约束阈值范围的下限值在逐次训练中单调递增。4.根据权利要求1所述的训练方法,其特征在于,所述训练方法还包括:确定所述神经网络模型中各权重的量化误差,并将其中最大的量化误差作为所述神经网络模型的量化误差;利用所述神经网络模型的量化误差和训练迭代次数确定约束阈值范围,其中,确定的所述约束阈值范围用于对所述至少一个梯度进行约束。5.根据权利要求1所述的训练方法,其特征在于,所述训练方法还包括:针对所述神经网络模型中的至少一个权重,确定该权重的量化误差;利用权重的量化误差和训练迭代次数确定约束阈值范围,其中,确定的约束阈值范围用于对该权重的梯度进行约束。6.根据权利要求1所述的训练方法,其特征在于,所述训练方法还包括:针对所述神经网络模型中的至少一个权重,从该权重在本次训练确定的梯度以及该权重在前多次训练约束后的梯度中,确定加权最大值;确定所述加权最大值是否在约束阈值范围内,并将超出所述约束阈值范围的加权最大值约束到所述约束阈值范围内。7.根据权利要求6所述的训练方法,其特征在于,其中,所述神经网络模型的计算精度越低,确定加权最大值时所需的前多次训练的训练次数就越少。8.一种神经网络模型的训练系统,其特征在于,所述训练系统包括:服务器,其存储至少一个第一网络模型,所述第一网络模型提供用于对第二网络模型进行同步的信息,所述服务器用于在反向传播中,确定所述第一网络模型中的权重的梯度,并针对确定的梯度中的一个梯度,执行以下处理:确定梯度是否在约束阈值范围内,并将超出所述约束阈值范围的梯度约束到所述约束阈值范围内,利用约束后的梯度更新权重,并将更新后的权重输出,其中,所述约束阈值范围是根据所述第一网络模型的训练迭代次数和计算精度确定的;
终端,其存储所述第二网络模型,所述终端用于利用服务器输出的权重对所述第二网络模型进行同步。9.根据权利要求8所述的训练系统,其特征在于,其中,所述服务器还用于:确定所述第一网络模型中各权重的量化误差,并将其中最大的量化误差作为所述第一网络模型的量化误差;利用所述第一网络模型的量化误差和训练迭代次数确定约束阈值范围,其中,确定的所述约束阈值范围用于对所述至少一个梯度进行约束。10.根据权利要求8所述的训练系统,其特征在于,其...

【专利技术属性】
技术研发人员:刘俊杰陈则玮温东超陶玮汪德宇
申请(专利权)人:佳能株式会社
类型:发明
国别省市:

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

1