神经网络的量化方法、目标检测方法及装置制造方法及图纸

技术编号:34846638 阅读:60 留言:0更新日期:2022-09-08 07:45
本公开提供了一种神经网络的量化方法、目标检测方法及装置,其中,神经网络的量化方法包括:获取待量化神经网络和训练数据,并对待量化神经网络的待量化网络层进行量化处理,得到初始量化网络;针对初始量化网络中待调整的第一目标网络层,基于第一目标网络层之前的经过调整后的第二目标网络层,对训练数据进行处理得到中间输出数据,并基于第一目标网络层对中间输出数据进行处理得到第一输出数据;基于待量化神经网络中,与第一目标网络层和第二目标网络层分别对应的待量化网络层,对训练数据进行处理得到第二输出数据;基于第一输出数据和第二输出数据对第一目标网络层的网络参数进行调整,得到待量化网络对应的量化后的目标神经网络。神经网络。神经网络。

【技术实现步骤摘要】
神经网络的量化方法、目标检测方法及装置


[0001]本公开涉及神经网络
,具体而言,涉及一种神经网络的量化方法、目标检测方法及装置。

技术介绍

[0002]深度学习是一种计算密集型的算法,随着处理任务的多样性及复杂度越来越高,对算法准确性及实时性要求不断增高,因此神经网络的规模越来越大,从而需要更多的计算及存储资源的开销,从而给神经网络的部署带来了压力。
[0003]相关技术中,往往通过对神经网络进行量化的方式对神经网络进行压缩处理,然而在对神经网络进行量化处理之后,神经网络的网络精度会大幅下降,因此如何恢复因为量化处理带来的网络精度下降的问题成为了该领域内亟待解决的问题之一。

技术实现思路

[0004]本公开实施例至少提供一种神经网络的量化方法、目标检测方法及装置。
[0005]第一方面,本公开实施例提供了一种神经网络的量化方法,包括:
[0006]获取待量化神经网络和训练数据,并对所述待量化神经网络的待量化网络层进行量化处理,得到初始量化网络;
[0007]针对所述初始量化网络中待调整的第一目标网络层,基于所述第一目标网络层之前的经过调整后的第二目标网络层,对所述训练数据进行处理得到中间输出数据,并基于所述第一目标网络层对所述中间输出数据进行处理得到第一输出数据;
[0008]基于所述待量化神经网络中,与所述第一目标网络层和所述第二目标网络层分别对应的待量化网络层,对所述训练数据进行处理得到第二输出数据;
[0009]基于所述第一输出数据和所述第二输出数据对所述第一目标网络层的网络参数进行调整,得到所述待量化网络对应的量化后的目标神经网络。
[0010]这样,在对待量化神经网络进行量化处理,得到初始量化网络后,针对所述初始量化网络中的第一目标网络层,基于所述第一目标网络层之前的经过调整后的第二目标网络层,对训练数据进行处理得到中间输出数据,并基于所述中间输出数据确定所述第一目标网络层的第一输出数据;然后再基于所述待量化神经网络中,与所述第一目标网络层和所述第二目标网络层分别对应的待量化网络层,对所述训练数据进行处理得到第二输出数据;基于所述第一输出数据和所述第二输出数据对所述第一目标网络层进行调整,得到所述待量化网络对应的量化后的目标神经网络。这样,可以在不使用与所述训练数据对应的标注数据的情况下,完成对目标网络层的调整,以节约进行训练时所需的人力成本;并且在对第一目标网络层进行调整的过程中,结合了已调整过的第二目标网络层的输出数据,这样可以在调整第一目标网络层时考虑到第二目标网络层的调整所带来的误差,减少误差累计,提高量化后的目标神经网络的网络精度。
[0011]一种可能的实施方式中,在对所述待量化神经网络的待量化网络层进行量化处理
之前,所述方法还包括:
[0012]基于边界参数,对所述待量化神经网络的待量化网络层的网络参数进行初步范围调整,其中,所述边界参数为所述待量化神经网络的初始训练过程中的训练参数。
[0013]这样,通过在量化处理之前使用边界参数对所述待量化网络层进行初步范围调整,可以使得调整后的网络参数和各层输出在量化时的变动更稳定,从而降低潜在的量化损失。
[0014]一种可能的实施方式中,所述对所述待量化神经网络的待量化网络层进行量化处理,包括:
[0015]对所述待量化网络层的权重值、偏置值以及激活值中的至少一个进行量化处理。
[0016]一种可能的实施方式中,所述对所述待量化神经网络的待量化网络层进行量化处理,得到初始量化网络,包括:
[0017]针对任一所述待量化网络层,分别基于与该待量化网络层对应的多个预设量化参数对该待量化网络层进行量化处理,得到与该待量化网络层对应的量化处理后的多个待筛选网络层;
[0018]分别确定各待筛选网络层对应的量化损失,并基于所述量化损失,从所述多个待筛选网络层中确定该待量化网络层对应的量化后的目标网络层,各待量化网络层对应的量化后的目标网络层构成所述初始量化网络。
[0019]这样,通过对同一待量化网络层使用多个量化参数进行量化处理,并基于量化损失对量化处理后得到的待筛选网络层进行筛选,可以使得最终得到的初始量化网络中各目标网络层的量化损失更小,提高所述待量化神经网络在量化处理阶段的量化效果。
[0020]一种可能的实施方式中,根据以下方法确定所述待筛选网络层对应的量化损失:
[0021]基于所述待筛选网络层的输出数据和所述待筛选网络层对应的待量化网络层的输出数据,确定所述量化损失;
[0022]其中,所述待筛选网络层的输出数据是基于所述待筛选网络层之前的经过量化处理后的目标网络层的输出数据确定的。
[0023]这样,在计算量化损失时,通过基于所述待筛选网络层之前的经过量化处理后的目标网络层的输出数据确定所述待筛选网络层的输出数据,使得本次确定的针对所述待筛选网络层的量化损失,能够对待筛选网络层之前的量化过程的量化损失进行积累,从而能够基于所述量化损失定位量化过程中量化损失较大的位置,便于及时对量化处理进行调整,以得到更好的量化效果。
[0024]一种可能的实施方式中,所述基于所述第一输出数据和所述第二输出数据对所述第一目标网络层的网络参数进行调整,包括:
[0025]基于所述第一输出数据和所述第二输出数据对所述第一目标网络层的偏置值进行调整;和/或,基于所述第一输出数据、所述第二输出数据以及待训练的取整掩模参数对所述第一目标网络层的权重值进行调整,其中,所述取整掩模参数用于对所述第一目标网络层的权重值进行取整处理。
[0026]这样,可以在不引入额外标注信息的情况下,完成对所述第一目标网络层的调整,节约进行网络参数调整(即训练)时所需的人力成本。
[0027]一种可能的实施方式中,所述基于所述第一输出数据和所述第二输出数据对所述
第一目标网络层的偏置值进行调整,包括:
[0028]基于所述第一输出数据和所述第二输出数据,确定所述第一目标网络层对应的偏置调整值;
[0029]基于所述偏置调整值对所述第一目标网络层的偏置值进行调整;
[0030]确定所述第一目标网络层的第一损失值,并在所述第一损失值不满足第一预设条件的情况下,基于偏置值调整后的第一目标网络层对所述第一输出数据进行更新;
[0031]基于更新后的第一输出数据和所述第二输出数据,返回执行确定偏置调整值的步骤,直至所述第一损失值满足所述第一预设条件。
[0032]一种可能的实施方式中,所述训练数据包括样本图像,所述第一输出数据包括第一特征图,所述第二输出数据包括第二特征图;
[0033]所述基于所述第一输出数据和所述第二输出数据,确定所述第一目标网络层对应的偏置调整值,包括:
[0034]将所述第二特征图中各通道的第一均值与所述第一特征图中各通道的第二均值之差作为所述偏置调整值;或者,
[0035]基于所述第一特征图和所述第二特征图各通道本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络的量化方法,其特征在于,包括:获取待量化神经网络和训练数据,并对所述待量化神经网络的待量化网络层进行量化处理,得到初始量化网络;针对所述初始量化网络中待调整的第一目标网络层,基于所述第一目标网络层之前的经过调整后的第二目标网络层,对所述训练数据进行处理得到中间输出数据,并基于所述第一目标网络层对所述中间输出数据进行处理得到第一输出数据;基于所述待量化神经网络中,与所述第一目标网络层和所述第二目标网络层分别对应的待量化网络层,对所述训练数据进行处理得到第二输出数据;基于所述第一输出数据和所述第二输出数据对所述第一目标网络层的网络参数进行调整,得到所述待量化网络对应的量化后的目标神经网络。2.根据权利要求1所述的方法,其特征在于,在对所述待量化神经网络的待量化网络层进行量化处理之前,所述方法还包括:基于边界参数,对所述待量化神经网络的待量化网络层的网络参数进行初步范围调整,其中,所述边界参数为所述待量化神经网络的初始训练过程中的训练参数。3.根据权利要求1或2所述的方法,其特征在于,所述对所述待量化神经网络的待量化网络层进行量化处理,包括:对所述待量化网络层的权重值、偏置值以及激活值中的至少一个进行量化处理。4.根据权利要求1~3任一所述的方法,其特征在于,所述对所述待量化神经网络的待量化网络层进行量化处理,得到初始量化网络,包括:针对任一所述待量化网络层,分别基于与该待量化网络层对应的多个预设量化参数对该待量化网络层进行量化处理,得到与该待量化网络层对应的量化处理后的多个待筛选网络层;分别确定各待筛选网络层对应的量化损失,并基于所述量化损失,从所述多个待筛选网络层中确定该待量化网络层对应的量化后的目标网络层,各待量化网络层对应的量化后的目标网络层构成所述初始量化网络。5.根据权利要求4所述的方法,其特征在于,根据以下方法确定所述待筛选网络层对应的量化损失:基于所述待筛选网络层的输出数据和所述待筛选网络层对应的待量化网络层的输出数据,确定所述量化损失;其中,所述待筛选网络层的输出数据是基于所述待筛选网络层之前的经过量化处理后的目标网络层的输出数据确定的。6.根据权利要求1~5任一所述的方法,其特征在于,所述基于所述第一输出数据和所述第二输出数据对所述第一目标网络层的网络参数进行调整,包括:基于所述第一输出数据和所述第二输出数据对所述第一目标网络层的偏置值进行调整;和/或,基于所述第一输出数据、所述第二输出数据以及待训练的取整掩模参数对所述第一目标网络层的权重值进行调整,其中,所述取整掩模参数用于对所述第一目标网络层的权重值进行取整处理。7.根据权利要求6所述的方法,其特征在于,所述基于所述第一输出数据和所述第二输出数据对所述第一目标网络层的偏置值进行调整,包括:
基于所述第一输出数据和所述第二输出数据,确定所述第一目标网络层对应的偏置调整值;基于所述偏置调整值对所述第一目标网络层的偏置值进行调整;确定所述第一目标网络层的第一损失值,并在所述第一损失值不满足第一预设条件的情况下,基于偏置值调整后的第一目标网络层对所述第一输出数据进行更新;基于更新后的第一输出数据和所述第二输出数据,返回执行确定偏置调整值的步骤,直至所述第一损失值满足所述第一预设条件。8.根据权利要求7所述的方法,其特征在于,所述训练数据包括样本图像,所述第一输出数据包括第一特征图,所述第二输出数据包括第二特征图;所述基于所述第一输出...

【专利技术属性】
技术研发人员:黄洋逸杨国润卢乐炜王哲
申请(专利权)人:上海商汤临港智能科技有限公司
类型:发明
国别省市:

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

1