一种神经网络的训练方法、装置以及计算机设备制造方法及图纸

技术编号:27206512 阅读:14 留言:0更新日期:2021-01-31 12:31
本公开提供了一种神经网络的训练方法、装置以及计算机设备,其中,该方法包括:将获取到的样本图像分别输入至第一神经网络和多个第二神经网络进行分类,获取第一神经网络的第一预设网络层的输出数据和各第二神经网络的第二预设网络层的输出数据;基于预设的目标函数确定分别对应于各第二神经网络的权重值;采用权重值对各第二神经网络对应的蒸馏损失值进行加权得到第一目标损失值;根据第一目标损失值迭代调整第一神经网络的网络参数。本公开实施例通过第二神经网络和第一神经网络的输出数据确定第二神经网络的权重值,以通过根据权重值计算的第一目标损失值对神经网络进行训练的方式,能够提升第一神经网络的训练效率。能够提升第一神经网络的训练效率。能够提升第一神经网络的训练效率。

【技术实现步骤摘要】
一种神经网络的训练方法、装置以及计算机设备


[0001]本公开涉及人工智能
,具体而言,涉及一种神经网络的训练方法、装置以及计算机设备。

技术介绍

[0002]目前,知识蒸馏广泛用于模型压缩和迁移学习,它使较小的学生网络可以模仿大型教师网络的行为并取得良好的效果。尤其在图像分类任务中,大型教师网络的训练需要占用大量的计算资源,且在训练完成后,大型教师网络对图像数据的处理也需要在支持高速计算的处理器中运行。而由于小的学生网络占用的计算资源较少,对硬件环境的要求较低,且产生的硬件延时较短,可以应用于实时的图像或视频流处理中。
[0003]在现有的知识蒸馏算法中,较为常用的是集成知识蒸馏算法。集成知识蒸馏使用简单的集成方法,例如,计算平均损失值或者将每个教师网络的输出值进行平均。但是,该方法没有考虑教师网络的多样性和提供知识之间的冲突。类比人类学习,教师提供给学生学习目标和学习方向(例如,基于图像分类的预测结果构建的损失函数关于学生网络的网络参数的梯度)。多个教师存在时,学生会被提供多个梯度方向,方向之间会存在冲突。计算平均损失值或者将每个教师网络的输出值进行平均会导致发生冲突时学生网络的选择往往被一些教师网络所主导,从而不能利用所有教师网络提供的知识,由此影响学生网络的蒸馏学习效率。

技术实现思路

[0004]本公开实施例至少提供一种神经网络的训练方法、装置以及计算机设备。
[0005]第一方面,本公开实施例提供了一种神经网络的训练方法,包括:
[0006]获取样本图像;将样本图像分别输入至第一神经网络和多个第二神经网络进行分类,获取所述第一神经网络的第一预设网络层的输出数据和各所述第二神经网络的第二预设网络层的输出数据,其中,所述第二神经网络用于对所述第一神经网络蒸馏训练;基于预设的目标函数确定分别对应于各所述第二神经网络的权重值,其中,所述目标函数表征各第二神经网络对应的第一损失值的梯度的加权和,所述第一损失值表征所述第一预设网络层的输出数据和所述第二预设网络层的输出数据的差异;采用所述权重值对各所述第二神经网络对应的蒸馏损失值进行加权得到第一目标损失值;根据所述第一目标损失值迭代调整所述第一神经网络的网络参数。
[0007]在本公开实施例中,在通过多个第二神经网络对第一神经网络进行训练的过程中,根据第二神经网络和第一神经网络的输出数据确定每个第二神经网络的权重值,并利用该权重值对各个第二神经网络对应的蒸馏损失进行加权计算得到第一目标损失值,并根据该第一目标损失值对第一神经网络进行训练的方式,能够提升第一神经网络的训练效率。
[0008]一种可选的实施方式中,所述基于预设的目标函数确定分别对应于各所述第二神
经网络的权重值,包括:对所述目标函数进行L2范数最小化求解,得到所述目标函数中用于对所述第一损失值的梯度加权的预设权重变量的最优解,并将所述最优解确定为所述第二神经网络的权重值。
[0009]在上述实施方式中,将求解第二神经网络的权重值的问题转化为多目标优化过程,即,对目标函数进行最优求解,最优求解的计算结果即为每个第二神经网络的权重值。根据求解得到的权重值计算第一目标损失值,并根据该第一目标损失值进行神经网络训练的方式,能够提高第一神经网络的学习性能,解决了现有技术中教师网络之间存在竞争的问题,从而避免了在学生网络训练的过程中,学生网络容易被某个教师网络主导的问题。
[0010]一种可选的实施方式中,所述基于预设的目标函数确定分别对应于各所述第二神经网络的权重值,包括:基于预设的目标函数和预设的约束条件,确定分别对应于各所述第二神经网络的权重值,其中,所述预设的约束条件用于表征所述权重值的取值范围与第二神经网络的总数量之间的约束关系。
[0011]在该实施方式中,在对目标函数进行L2范数最小化求解时,在多目标优化问题中引入了超参数C,通过该超参数C来控制最小化求解过程中多个第二神经网络之间的冲突程度,从而使得大部分第二神经网络的学习方向被采纳,从而提高第一神经网络的处理性能和鲁棒性。
[0012]一种可选的实施方式中,所述预设的约束条件包括:各所述第二神经网络的权重值α满足:0≤α≤C,其中C∈(1/M,1),M为第二神经网络的总数量。
[0013]在该实施方式中,如果设置C∈(1/M,1),那么在求解多目标优化问题的过程中,就可以通过C对第二神经网络之间的冲突进行调和,从而使得大部分第二神经网络的学习方向被采纳,从而提高第一神经网络的处理性能和鲁棒性。
[0014]一种可选的实施方式中,所述第一预设网络层的输出数据和所述第二预设网络层的输出数据包括用于表征所述样本图像被归类为每个预设类别的概率的非归一化概率值;和/或,所述第一预设网络层的输出数据和所述第二预设网络层的输出数据包括所述样本图像的特征图。
[0015]在该实施方式中,通过第二神经网络和第一神经网络输出的非归一化概率值,和/或,第二神经网络和第一神经网络输出的特征图分别计算相应的权重值,从而根据该权重值来进行反向传播训练,采用该方式使得在对第一神经网络进行训练的过程中,不仅学习第二神经网络的输出,还要模仿第二神经网络的中间层输出的特征图,因此,在该实施方式可以提高第一神经网络的处理精度,以及第一神经网络的鲁棒性,以得到性能更优的第一神经网络。
[0016]一种可选的实施方式中,所述方法还包括;基于样本图像的类别标注信息和所述第一神经网络对所述样本图像的类别预测结果,确定第二目标损失值;所述根据所述第一目标损失值迭代调整所述第一神经网络的网络参数,包括:根据由所述第一目标损失值和所述第二目标损失值确定的联合损失值迭代调整所述第一神经网络的网络参数。
[0017]一种可选的实施方式中,所述方法还包括:响应于所述联合损失值收敛至预设的阈值,或者所述第一神经网络的网络参数的调整次数达到预设的次数,更新所述样本图像。
[0018]一种可选的实施方式中,所述方法还包括:获取待分类的图像;采用经过训练后的第一神经网络对所述待分类的图像进行分类,得到图像的分类结果。
[0019]在该实施方式中,主要描述了训练之后的第一神经网络的应用场景,例如,可以是人脸检测,人脸识别,图像语义分割和图像风格迁移等场景。
[0020]第二方面,本公开实施例还提供一种神经网络的训练装置,包括:获取模块,用于获取样本图像;分类模块,用于将样本图像分别输入至第一神经网络和多个第二神经网络进行分类,获取所述第一神经网络的第一预设网络层的输出数据和各所述第二神经网络的第二预设网络层的输出数据,其中,所述第二神经网络用于对所述第一神经网络蒸馏训练;确定模块,用于基于预设的目标函数确定分别对应于各所述第二神经网络的权重值,其中,所述目标函数表征各第二神经网络对应的第一损失值的梯度的加权和,所述第一损失值表征所述第一预设网络层的输出数据和所述第二预设网络层的输出数据的差异;加权计算模块,用于采用所述权重值对各所述第二神经网络对应的蒸馏损失值进行加权得到第一目标损失值本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络的训练方法,其特征在于,包括:获取样本图像;将样本图像分别输入至第一神经网络和多个第二神经网络进行分类,获取所述第一神经网络的第一预设网络层的输出数据和各所述第二神经网络的第二预设网络层的输出数据,其中,所述第二神经网络用于对所述第一神经网络蒸馏训练;基于预设的目标函数确定分别对应于各所述第二神经网络的权重值,其中,所述目标函数表征各第二神经网络对应的第一损失值的梯度的加权和,所述第一损失值表征所述第一预设网络层的输出数据和所述第二预设网络层的输出数据的差异;采用所述权重值对各所述第二神经网络对应的蒸馏损失值进行加权得到第一目标损失值;根据所述第一目标损失值迭代调整所述第一神经网络的网络参数。2.根据权利要求1所述的方法,其特征在于,所述基于预设的目标函数确定分别对应于各所述第二神经网络的权重值,包括:对所述目标函数进行L2范数最小化求解,得到所述目标函数中用于对所述第一损失值的梯度加权的预设权重变量的最优解,并将所述最优解确定为所述第二神经网络的权重值。3.根据权利要求1或2所述的方法,其特征在于,所述基于预设的目标函数确定分别对应于各所述第二神经网络的权重值,包括:基于预设的目标函数和预设的约束条件,确定分别对应于各所述第二神经网络的权重值,其中,所述预设的约束条件用于表征所述权重值的取值范围与第二神经网络的总数量之间的约束关系。4.根据权利要求3所述的方法,其特征在于,所述预设的约束条件包括:各所述第二神经网络的权重值α满足:0≤α≤C,其中C∈(1/M,1),M为第二神经网络的总数量。5.根据权利要求1-4任一项所述的方法,其特征在于,所述第一预设网络层的输出数据和所述第二预设网络层的输出数据包括用于表征所述样本图像被归类为每个预设类别的概率的非归一化概率值;和/或所述第一预设网络层的输出数据和所述第二预设网络层的输出数据包括所述样本图像的特征图。6.根据权利要求1-5...

【专利技术属性】
技术研发人员:游山杜尚宸王飞钱晨
申请(专利权)人:北京市商汤科技开发有限公司
类型:发明
国别省市:

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

1