神经网络模型的训练方法、装置和电子设备与流程

文档序号:26550904发布日期:2021-09-08 00:17阅读:76来源:国知局
神经网络模型的训练方法、装置和电子设备与流程

1.本技术涉及图像处理技术领域,尤其涉及一种神经网络模型的训练方法、装置和电子设备。


背景技术:

2.近年来,随着神经网络模型性能的增加,其网络结构越来越深,模型参数越来越多,导致神经网络模型需要消耗大量的计算资源和存储空间,这给模型的训练和应用均带来了很大的困难。
3.因此,为了简化神经网络模型的网络结构和模型参数,可以考虑对现有的神经网络模型进行压缩,使其变成小型化的神经网络模型,小型化的神经网络模型的网络结构简单,且模型参数的数量远小于现有的神经网络模型的模型参数的数量,以实现对现有的神经网络模型的压缩。但是,在对现有的神经网络模型进行压缩的同时,会严重影响小型化神经网络模型的网络精度,使得压缩后的小型化神经网络模型的网络精度,与压缩处理前的深度神经网络的网络精度相比,网络精度下降较多。
4.因此,如何获取网络精度较好的小型化深度神经网络模型,是本领域技术人员亟待解决的问题。


技术实现要素:

5.本技术实施例提供了一种神经网络模型的训练方法、装置和电子设备,可以训练得到网络精度较好的小型化深度神经网络模型。
6.第一方面,本技术实施例提供了一种神经网络模型的训练方法,该神经网络模型的训练方法可以包括:
7.通过预设神经网络模型提取样本图像的第一特征图,并通过待训练神经网络模型提取所述样本图像的第二特征图;其中,所述预设神经网络模型的参数量大于所述待训练神经网络模型的参数量。
8.在所述第一特征图的数据结构与所述第二特征图的数据结构不同时,根据目标特征图生成对应的第三特征图;其中,所述目标特征图为所述第一特征图或所述第二特征图,所述第三特征图的数据结构与第四特征图的数据结构相同,所述第四特征图为所述第一特征图和所述第二特征图中除所述目标特征图之外的另一个特征图。
9.根据所述第三特征图和所述第四特征图之间的第一损失,对所述待训练神经网络模型进行训练,得到目标神经网络模型。
10.在一种可能的实现方式中,所述根据目标特征图生成对应的第三特征图,包括:
11.根据所述第四特征图的数据结构,调整特征图匹配模型的参数,得到新的特征图匹配模型。
12.将所述目标特征图输入至所述新的特征图匹配模型,得到所述第三特征图。
13.在一种可能的实现方式中,所述根据所述第三特征图和所述第四特征图之间的第
一损失,对所述待训练神经网络模型进行训练,得到目标神经网络模型之前,所述方法还包括:
14.获取所述第三特征图中各像素点的第一特征值、通过所述预设神经网络模型获取所述第三特征图中各像素点的输出值、以及获取所述第二特征图中各像素点的第二特征值;其中,所述第三特征图中各像素点与所述第四特征图中各像素点一一对应。
15.针对所述各像素点,根据所述像素点的第一特征值、输出值以及第二特征值,确定所述像素点对应的数值。
16.根据所述各像素点对应的数值,确定所述第三特征图和所述第四特征图之间的第一损失。
17.在一种可能的实现方式中,所述根据所述像素点的第一特征值、输出值以及第二特征值,确定所述像素点对应的数值,包括:
18.确定所述第一特征值和所述第二特征值之间的差值绝对值。
19.确定所述差值绝对值与所述输出值之间的第一比值。
20.根据所述输出值的对数值与所述第一比值的和,确定所述像素点对应的数值。
21.在一种可能的实现方式中,所述根据所述各像素点对应的数值,确定所述第三特征图和所述第四特征图之间的第一损失,包括:
22.对所述各像素点对应的数值进行加权平均,得到处理结果。
23.将所述处理结果,确定为所述第三特征图和所述第四特征图之间的第一损失。
24.在一种可能的实现方式中,所述根据所述第三特征图和所述第四特征图之间的第一损失,对所述待训练神经网络模型进行训练,包括:
25.通过所述待训练神经网络模型获取所述样本图像的输出结果、以及所述样本图像的预设结果。
26.确定所述输出结果与所述预设结果之间的第二损失。
27.根据所述第一损失和所述第二损失,对所述待训练神经网络模型进行训练。
28.在一种可能的实现方式中,所述根据所述第一损失和所述第二损失,对所述待训练神经网络模型进行训练,包括:
29.分别确定所述第一损失对应的第一初始权重、以及所述第二损失对应的第二初始权重。
30.确定所述第一初始权重与所述第一损失的第一乘积、以及所述第二初始权重与所述第二损失的第二乘积。
31.根据所述第一乘积与所述第二乘积的和,对所述待训练神经网络模型进行训练。
32.在一种可能的实现方式中,所述根据所述第一乘积与所述第二乘积的和,对所述待训练神经网络模型进行训练,包括:
33.若训练过程中,所述第一损失的变化量小于预设阈值,则减小所述第一初始权重的取值,得到第一权重。
34.确定所述第一权重与所述第一损失的第三乘积;
35.根据所述第三乘积与所述第二乘积的和,对所述待训练神经网络模型进行训练。
36.在一种可能的实现方式中,所述减小所述第一初始权重的取值,得到第一权重,包括:
37.确定所述第二乘积与所述第一损失之间的第二比值。
38.将所述第二比值,确定为所述第一权重。
39.在一种可能的实现方式中,所述方法还包括:
40.对所述第一权重和所述第二初始权重进行反向梯度阻断处理,并根据所述第一损失和所述第二损失,修改所述待训练神经网络模型的参数。
41.第二方面,本技术实施例还提供了一种神经网络模型的训练装置,该神经网络模型的训练装置可以包括:
42.提取单元,用于通过预设神经网络模型提取样本图像的第一特征图,并通过待训练神经网络模型提取所述样本图像的第二特征图;其中,所述预设神经网络模型的参数量大于所述待训练神经网络模型的参数量。
43.处理单元,用于在所述第一特征图的数据结构与所述第二特征图的数据结构不同时,根据目标特征图生成对应的第三特征图;其中,所述目标特征图为所述第一特征图或所述第二特征图,所述第三特征图的数据结构与第四特征图的数据结构相同,所述第四特征图为所述第一特征图和所述第二特征图中除所述目标特征图之外的另一个特征图。
44.训练单元,用于根据所述第三特征图和所述第四特征图之间的第一损失,对所述待训练神经网络模型进行训练,得到目标神经网络模型。
45.在一种可能的实现方式中,所述处理单元,具体用于根据所述第四特征图的数据结构,调整特征图匹配模型的参数,得到新的特征图匹配模型;将所述目标特征图输入至所述新的特征图匹配模型,得到所述第三特征图。
46.在一种可能的实现方式中,所述处理单元,还用于获取所述第三特征图中各像素点的第一特征值、通过所述预设神经网络模型获取所述第三特征图中各像素点的输出值、以及获取所述第二特征图中各像素点的第二特征值;其中,所述第三特征图中各像素点与所述第四特征图中各像素点一一对应;针对所述各像素点,根据所述像素点的第一特征值、输出值以及第二特征值,确定所述像素点对应的数值;根据所述各像素点对应的数值,确定所述第三特征图和所述第四特征图之间的第一损失。
47.在一种可能的实现方式中,所述处理单元,具体用于确定所述第一特征值和所述第二特征值之间的差值绝对值;确定所述差值绝对值与所述输出值之间的第一比值;根据所述输出值的对数值与所述第一比值的和,确定所述像素点对应的数值。
48.在一种可能的实现方式中,所述处理单元,具体用于对所述各像素点对应的数值进行加权平均,得到处理结果;将所述处理结果,确定为所述第三特征图和所述第四特征图之间的第一损失。
49.在一种可能的实现方式中,所述训练单元,具体用于通过所述待训练神经网络模型获取所述样本图像的输出结果、以及所述样本图像的预设结果;确定所述输出结果与所述预设结果之间的第二损失;根据所述第一损失和所述第二损失,对所述待训练神经网络模型进行训练。
50.在一种可能的实现方式中,所述训练单元,具体用于分别确定所述第一损失对应的第一初始权重、以及所述第二损失对应的第二初始权重;确定所述第一初始权重与所述第一损失的第一乘积、以及所述第二初始权重与所述第二损失的第二乘积;根据所述第一乘积与所述第二乘积的和,对所述待训练神经网络模型进行训练。
51.在一种可能的实现方式中,所述训练单元,具体用于若训练过程中,所述第一损失的变化量小于预设阈值,则减小所述第一初始权重的取值,得到第一权重;确定所述第一权重与所述第一损失的第三乘积;根据所述第三乘积与所述第二乘积的和,对所述待训练神经网络模型进行训练。
52.在一种可能的实现方式中,所述训练单元,具体用于确定所述第二乘积与所述第一损失之间的第二比值;将所述第二比值,确定为所述第一权重。
53.在一种可能的实现方式中,所述处理单元,还用于对所述第一权重和所述第二初始权重进行反向梯度阻断处理,并根据所述第一损失和所述第二损失,修改所述待训练神经网络模型的参数。
54.第三方面,本技术实施例还提供了一种电子设备,该电子设备可以包括处理器和存储器;其中,
55.所述存储器,用于存储计算机程序。
56.所述处理器,用于读取所述存储器存储的计算机程序,并根据所述存储器中的计算机程序执行上述第一方面任一种可能的实现方式所述的神经网络模型的训练方法。
57.第四方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述第一方面任一种可能的实现方式所述的神经网络模型的训练方法。
58.第五方面,本技术实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现上述第一方面任一种可能的实现方式所述的神经网络模型的训练方法。
59.由此可见,本技术实施例提供的神经网络模型的训练方法、装置和电子设备,在训练神经网络模型时,可以先通过参数量较多的预设神经网络模型提取样本图像的第一特征图,并通过参数量较少的待训练神经网络模型提取样本图像的第二特征图;在第一特征图与第二特征图的数据结构不同时,根据目标特征图生成对应的第三特征图;其中,目标特征图为第一特征图或第二特征图,第四特征图为除目标特征图之外的另一个特征图,再根据数据结构相同的第三特征图和第四特征图之间的第一损失,对待训练神经网络模型进行训练,便于知识迁移,使得待训练神经网络模型可以更好地学习预设神经网络模型的知识,以提高其网络精度,从而训练得到网络精度较好的目标神经网络模型。
附图说明
60.图1为本技术实施例提供的一种现有技术中网络学习的框架示意图;
61.图2为本技术实施例提供的一种网络学习的框架示意图;
62.图3为本技术实施例提供的一种神经网络模型的训练方法的流程示意图;
63.图4为本技术实施例提供的一种第一特征图的示意图;
64.图5为本技术实施例提供的另一种网络学习的框架示意图;
65.图6为本技术实施例提供的一种根据第一损失和第二损失,对待训练神经网络模型进行训练的方法的流程示意图;
66.图7为本技术实施例提供的一种预设神经网络模型的输出值的示意图;
67.图8为本技术实施例提供的一种预设神经网络模型的输出值的示意图;
68.图9为本技术实施例提供的一种降噪处理后的图像示意图;
69.图10为本技术实施例提供的一种神经网络模型的训练装置的结构示意图;
70.图11为本技术实施例提供的一种电子设备的结构示意图。
71.通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
72.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
73.在本发明的实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,其中a,b可以是单数或者复数。在本发明的文字描述中,字符“/”一般表示前后关联对象是一种“或”的关系。
74.本技术实施例提供的技术方案可以应用于图像处理的场景中,例如图像去噪处理、或者图像分类处理等场景。若神经网络模型应用于图像去噪处理场景,则该神经网络模型可以理解为去噪处理网络模型;若神经网络模型应用于图像分类处理场景,则该神经网络模型可以理解为图像分类网络模型,具体可以根据实际需要进行设置。
75.随着神经网络模型性能的增加,其网络结构越来越深,模型参数越来越多,导致神经网络模型需要消耗大量的计算资源和存储空间。因此,为了简化神经网络模型的网络结构和模型参数,可以考虑对现有的神经网络模型进行压缩,但是,压缩后的小型化神经网络模型的网络精度,与压缩处理前的深度神经网络的网络精度相比,网络精度下降较多。因此,如何获取网络精度较好的小型化深度神经网络模型,是本领域技术人员亟待解决的问题。
76.现有技术中,为了获取到网络精度较好的小型化深度神经网络模型,可以考虑采用知识蒸馏的方法,可以控制待训练的小型化深度神经网络模型,学习大型化神经网络模型的知识,这样通过学习大型化神经网络模型的知识,使得训练得到的小型化深度神经网络模型也具有与大型化神经网络模型的接近的网络精度。示例的,请参见图1所示,图1为本技术实施例提供的一种现有技术中网络学习的框架示意图,具体过程为:先通过大型化神经网络模型从样本图像提取的特征图,并通过待训练的小型化深度神经网络模型从样本图像提取的特征图,只有在两个特征图的数据结构相同时,才可以根据这两个特征图之间的损失,对待训练的小型化深度神经网络模型进行训练;若这两个特征图的数据结构不同,例如,大型化神经网络模型从样本图像提取的特征图的数据结构为四维特征图,通过待训练的小型化深度神经网络模型从样本图像提取的特征图的数据结构为二维特征图,则无法根据这两个特征图之间的损失,对待训练的小型化深度神经网络模型进行训练。
77.为了学习大型化神经网络模型的知识,从而获取到网络精度较高的小型化深度神经网络模型,考虑到通过大型化神经网络模型提取的特征图,与通过待训练的小型化深度
神经网络模型提取的特征图之间的数据结构差异,在本技术中,设置一个知识缓冲模型,该知识缓冲模型中包括多个卷积层和激活层,可用于匹配特征图的数据结构,为方便描述,后续可记为特征图匹配模型。可参见图2所示,图2为本技术实施例提供的一种网络学习的框架示意图,在分别获取到通过大型化神经网络模型提取的特征图u,以及通过待训练的小型化深度神经网络模型提取的特征图f后,可以通过知识缓冲模型,获取到特征图u对应的特征图,使得获取到的特征图u对应的特征图与特征图f的数据结构一致,这样就可以根据特征图u对应的特征图与特征图f之间的损失,对待训练的小型化深度神经网络模型进行训练;或者,可以通过知识缓冲模型,获取到通过小型化神经网络模型提取的特征图f对应的特征图,使得获取到的特征图f对应的特征图与特征图u的数据结构一致,这样就可以根据特征图f对应的特征图与特征图u之间的损失,对待训练的小型化深度神经网络模型进行训练;这样基于数据结构相同的两个特征图之间的损失,对待训练的小型化深度神经网络模型进行训练时,使得待训练的小型化神经网络模型就可以更好地学习大型化神经网络模型的知识,以提高其网络精度,从而可以训练得到网络精度较好的小型化神经网络模型。
78.基于上述技术构思,本技术实施例提供了一种神经网络模型的训练方法,下面,将通过具体的实施例对本技术提供的神经网络模型的训练方法进行详细地说明。可以理解的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
79.图3为本技术实施例提供的一种神经网络模型的训练方法的流程示意图,该神经网络模型的训练方法可以由软件和/或硬件装置执行,例如,该硬件装置可以为神经网络模型的训练装置,该神经网络模型的训练装置可以终端或者服务器。示例的,请参见图3所示,该神经网络模型的训练方法可以包括:
80.s301、通过预设神经网络模型提取样本图像的第一特征图,并通过待训练神经网络模型提取样本图像的第二特征图;其中,预设神经网络模型的参数量大于待训练神经网络模型的参数量。
81.可以理解的是,在本技术实施例中,预设神经网络模型为大型化神经网络模型,待训练神经网络模型为小型化神经网络模型,且该预设神经网络模型可以理解为网络精度较好的大型化神经网络模型,其可作为待训练神经网络模型学习的对象,用于辅助对待训练神经网络模型的训练。
82.示例的,在本技术实施例中,预设神经网络模型可以为根据大量的样本图像预先训练好的,网络精度较好的大型化神经网络模型;也可以为图像相关领域的开源的网络精度较好的大型化神经网络模型,具体可以根据实际需要进行设置,在此,本技术实施例只是以这两种大型化神经网络模型为例进行说明,但并不代表本技术实施例仅局限于此。
83.在分别确定出预设神经网络模型和待训练神经网络模型后,就可以通过预设神经网络模型提取样本图像的第一特征图,并通过待训练神经网络模型提取样本图像的第二特征图。可以理解的是,为了保证学习的准确度,在本技术实施例中,预设神经网络模型提取的第一特征图,为该预设神经网络模型的中后层输出的特征图,待训练神经网模型提取的第二特征图,为该待训练神经网模型的中后层输出的特征图。示例的,请参见图4所示,图4为本技术实施例提供的一种第一特征图的示意图,需要说明的是,本技术实施例中,之所以将预设神经网络模型的中后层输出的特征图作为第一特征图,其原因在于:预设神经网络
模型的中后层的网络知识学习相对比较完善,将其作输出作为第一特征图,更便于网络知识的传递,从而使得待训练神经网络模型可以学习到更好的网络知识。此外,可以理解的是,在将预设神经网络模型的中后层输出的特征图作为第一特征图的同时,可以将待训练神经网模型的中后层输出的特征图作为第二特征图。
84.在分别提取到第一特征图和第二特征图后,若第一特征图的数据结构与第二特征图的数据结构相同,则可以直接根据第一特征图与第二特征图之间的损失,对待训练神经网络模型进行训练,以使待训练神经网络可以学习到预设神经神经网络模型的网络知识,从而获取到网络精度较好的神经网络模型。相反的,若第一特征图的数据结构与第二特征图的数据结构不同,针对这种情况,可以对最终确定损失的两个特征图的数据结构进行统一,并在消除两个特征图的数据结构之间的差值,这样后续在根据两个特征图之间的损失对待训练神经网络模型进行训练时,可以使得待训练的小型化神经网络模型就可以更好地学习大型化神经网络模型的知识,以提高其网络精度,从而可以训练得到网络精度较好的小型化神经网络模型,即执行下述s302和s303:
85.s302、在第一特征图的数据结构与第二特征图的数据结构不同时,根据目标特征图生成对应的第三特征图;其中,目标特征图为第一特征图或第二特征图,第三特征图的数据结构与第四特征图的数据结构相同,第四特征图为第一特征图和第二特征图中除目标特征图之外的另一个特征图。
86.在分别提取到第一特征图和第二特征图后,为了使得最终用于确定损失的两个特征图的数据结构统一,在本技术实施例中,可以根据第一特征图或者第二特征图中的任意一个特征图,生成其对应的第三特征图,为了便于描述,可将此处的任意一个特征图,记为目标特征图,则目标特征图为第一特征图或者第二特征图,生成的第三特征图的数据结构与第一特征图和第二特征图中,除目标特征图之外的另一个特征图的数据结构相同,可记为第四特征图,这样可以得到最终用于确定损失的两个数据结构相同的第三特征图和第四特征图。其中,第三特征图,可以理解为以第四特征图的数据结构为依据,并基于目标特征图生成的特征图。可以理解的是,当目标特征图为第一特征图时,第三特征图则为根据第一特征图生成的特征图,第四特征图即为第二特征图;当目标特征图为第二特征图时,第三特征图则为根据第二特征图生成的特征图,第四特征图即为第一特征图。
87.示例的,在根据目标特征图生成对应的第三特征图时,可以根据第四特征图的数据结构,调整特征图匹配模型的参数,得到新的特征图匹配模型;将目标特征图输入至新的特征图匹配模型,得到第三特征图,这样得到的第三特征图的数据结构与第四特征图的数据结构相同,从而获取到最终用于确定损失的两个数据结构相同的第三特征图和第四特征图。
88.需要说明的是,在本技术实施例中,为了便于学习预设神经网络模型的知识,除了使得最终用于确定损失的两个特征图的数据结构统一之外,还可以对预设神经网络模型的网络参数进行调整,使得待训练神经网络模型更易接收和学习该预设神经网络模型的知识。
89.在获取到两个数据结构相同的第三特征图和第四特征图后,就可以根据第三特征图和第四特征图之间的第一损失,对待训练神经网络模型进行训练,得到目标神经网络模型,即执行下述s303:
90.s303、根据第三特征图和第四特征图之间的第一损失,对待训练神经网络模型进行训练,得到目标神经网络模型。
91.可以理解的是,在本技术实施例中,在根据第三特征图和第四特征图之间的第一损失,对待训练神经网络模型进行训练之前,需要先确定第三特征图和第四特征图之间的第一损失。示例的,在确定第三特征图和第四特征图之间的第一损失时,可以获取第三特征图中各像素点的第一特征值、通过预设神经网络模型获取第三特征图中各像素点的输出值、以及获取第二特征图中各像素点的第二特征值;其中,第三特征图中各像素点与第四特征图中各像素点一一对应;针对各像素点,根据像素点的第一特征值、输出值以及第二特征值,确定像素点对应的数值;根据各像素点对应的数值,确定第三特征图和第四特征图之间的第一损失。
92.需要说明的是,在本技术实施例中,针对各像素点,在根据像素点的第一特征值、输出值以及第二特征值,确定像素点对应的数值时,虽然第一特征值和输出值为第三特征图中像素点对应的,第二特征值是第四特征图中像素点对应的,但由于第三特征图和第四特征图中的像素点一一对应,因此,在确定各像素点对应的数值时,若获取的第一特征值和输出值为第三特征图中坐标位置为(i,j,k)的像素点对应的第一特征值和输出值,对应的,则获取的第二特征值为第四特征图中坐标位置为(i,j,k)的像素点对应的第二特征值。
93.在根据各像素点的第一特征值、输出值以及第二特征值,确定各像素点对应的数值时,鉴于每一个像素点对应的数值的确定方法类似,为了避免赘述,下面,将以任意一个像素点为例,对如何确定该像素点对应的数值进行描述。示例的,在根据像素点的第一特征值、输出值以及第二特征值,确定像素点对应的数值时,可以先确定第一特征值和第二特征值之间的差值绝对值;并确定差值绝对值与输出值之间的第一比值;再根据输出值的对数值与第一比值的和,确定像素点对应的数值,从而通过该方式获取到各像素点对应的数值。
94.在获取到各像素点对应的数值后,就可以对各像素点对应的数值进行加权平均,得到处理结果,并将处理结果,确定为第三特征图和第四特征图之间的第一损失,具体可参见下述公式1:
[0095][0096]
其中,loss
distill
表示第三特征图和第四特征图之间的第一损失,c表示第三特征图的长度、h表示第三特征图的高度,w表示第三特征图的宽度、i表示第i个长度,j表示第j个高度、h表示第k个宽度、logb
ijk
表示第三特征图中坐标位置为(i,j,k)的像素点对应的数值,u
ijk
表示第三特征图中坐标位置为(i,j,k)的像素点的第一特征值,b
ijk
表示第三特征图中坐标位置为(i,j,k)的像素点的输出值,f
ijk
表示第四特征图中坐标位置为(i,j,k)的像素点的第二数值。
[0097]
可以看出,本技术实施例中,在训练神经网络模型时,可以先通过参数量较多的预设神经网络模型提取样本图像的第一特征图,并通过参数量较少的待训练神经网络模型提取样本图像的第二特征图;在第一特征图与第二特征图的数据结构不同时,根据目标特征图生成对应的第三特征图;其中,目标特征图为第一特征图或第二特征图,第四特征图为除目标特征图之外的另一个特征图,再根据数据结构相同的第三特征图和第四特征图之间的第一损失,对待训练神经网络模型进行训练,便于知识迁移,使得待训练神经网络模型可以
更好地学习预设神经网络模型的知识,以提高其网络精度,从而训练得到网络精度较好的目标神经网络模型。
[0098]
基于上述图2所示的实施例,为了使得最终得到的神经网络模型的准确度较高,且更适应于真实的应用场景,示例的,可参见图5所示,图5为本技术实施例提供的另一种网络学习的框架示意图,在根据第三特征图和第四特征图之间的第一损失,对待训练神经网络模型进行训练的基础上,可以结合通过待训练神经网络模型获取样本图像的输出结果、与样本图像的预设结果之间的第二损失,共同对待训练神经网络模型进行训练。其中,预设结果可以理解为样本图像在真实环境中的一个相对真实的结果。下面,将通过下述图6所示的实施例,对如何根据第一损失和第二损失,对待训练神经网络模型进行训练进行详细地描述。
[0099]
图6为本技术实施例提供的一种根据第一损失和第二损失,对待训练神经网络模型进行训练的方法的流程示意图,该方方法同样可以由软件和/或硬件装置执行,例如,该硬件装置可以为神经网络模型的训练装置。示例的,请参见图6所示,该方法可以包括:
[0100]
s601、通过待训练神经网络模型获取样本图像的输出结果、以及样本图像的预设结果。
[0101]
其中,预设结果可以理解为样本图像在真实环境中的一个相对真实的结果。
[0102]
示例的,在通过待训练神经网络模型获取样本图像的输出结果时,可以将该样本图像作为训练神经网络模型的输入,待训练神经网络模型的输出即为样本图像的输出结果,从而通过待训练神经网络模型获取到样本图像的输出结果。
[0103]
在分别获取到样本图像的输出结果,以及样本图像的预设结果后,就可以确定样本图像的输出结果与样本图像的预设结果之间的第二损失,即执行下述s602:
[0104]
s602、确定输出结果与预设结果之间的第二损失。
[0105]
示例的,第二损失可以通过下述公式2计算得到:
[0106]
loss
recon
=loss
raw
ꢀꢀꢀ
公式2
[0107]
其中,loss
recon
表示输出结果与预设结果之间的第二损失,loss
raw
表示待训练神经网络模型的原有损失。
[0108]
可以理解的是,本技术实施例中,通过确定输出结果与预设结果之间的第二损失,其目的在于:在根据第三特征图和第四特征图之间的第一损失,对待训练神经网络模型进行训练的基础上,结合输出结果与预设结果之间的第二损失,共同对待训练神经网络模型进行训练,不仅使得训练得到的目标神经网络模型的准确度较高,而且由于考虑到了样本图像的输出结果与样本图像的预设结果之间的损失,使得训练得到的目标神经网络模型更适应于真实的应用场景。
[0109]
s603、根据第一损失和第二损失,对待训练神经网络模型进行训练。
[0110]
示例的,在根据第一损失和第二损失,对待训练神经网络模型进行训练时,可以先分别确定第一损失对应的第一初始权重、以及第二损失对应的第二初始权重;并分别确定第一初始权重与第一损失的第一乘积、以及第二初始权重与第二损失的第二乘积;再根据第一乘积与第二乘积的和,对待训练神经网络模型进行训练,可参见下述公式3:
[0111]
loss
total
=λ1loss
distill
+λ2loss
recon
ꢀꢀꢀ
公式3
[0112]
其中,loss
total
表示总损失,即第一乘积与第二乘积的和,loss
distill
表示第一损
失,λ1表示第一损失对应的第一初始权重,loss
recon
表示第二损失,λ2表示第二损失对应的第二初始权重。
[0113]
在根据第一乘积与第二乘积的和,对待训练神经网络模型进行训练的前期,假设通过预设神经网络模型学习知识和真实环境中学习的知识各占一半,即待训练神经网络模型一半知识通过预设神经网络模型学习,一半知识通过预设结果,即真实环境学习,可通过下述公式4表示:
[0114]
λ1loss
distill
=λ2loss
recon
ꢀꢀꢀ
公式4
[0115]
在训练过程中,第一损失对应的第一初始权重和第二损失对应的第二初始权重,并不是固定的,而是在训练过程中,根据训练结果进行均衡调节,从而使待训练神经网络模型固定的从预设神经网络模型和真实环境中公平的学习,更利于神经网络的梯度传播和知识的学习。
[0116]
假设第一损失的变化量小于预设阈值,即第一损失的取值不再下降,且保持稳定,说明待训练神经网络模型已经学习到了预设神经网络模型的知识,在该种情况下,可以减小第一初始权重的取值,得到第一权重;第二损失的权重可保持不变,并确定第一权重与第一损失的第三乘积;根据第三乘积与第二乘积的和,对待训练神经网络模型进行训练。
[0117]
示例的,在减小第一初始权重的取值,得到第一权重时,可以先确定第二乘积与第一损失之间的第二比值;并将第二比值,确定为第一权重,可参见下述公式5:
[0118][0119]
此外,在减小第一初始权重的取值,即减小待训练神经网络从预设神经网络模型学习知识的强度后,可以通过下述公式6增加正则项,这样可以避免学习过拟合,而陷入平凡解的寻优过程。
[0120]
softplus(x)=log(1+e
x
)
ꢀꢀꢀ
公式6
[0121]
其中,x表示激活函数的输出。
[0122]
在通过公式6增加正则项避免过拟合时,可参见图7所示,图7为本技术实施例提供的一种预设神经网络模型的输出值的示意图,可以通过softplus代替预设神经网络模型的最后一个激活层,输出作为缩放参数调整知识传递。预设神经网络模型中原本的激活层relu的输出为一条直线,而通过softplus的输出为一条比较平滑的曲线,可参见下述图8所示,图8为本技术实施例提供的一种预设神经网络模型的输出值的示意图,通过softplus代替预设神经网络模型的最后一个激活层,可以调整学习的程度,对学习程度做平滑处理,避免学习过拟合,而陷入平凡解的寻优过程。
[0123]
进一步地,防止总损失中反向梯度传播影响结果,在本技术实施例中,可以通过平衡系数进行反向梯度阻断处理,具体为:可以对第一权重和第二初始权重进行反向梯度阻断处理,控制第一权重和第二初始权重的值不改变,并根据第一损失和第二损失,修改待训练神经网络模型的参数,从而实现对待训练神经网络模型的优化,可参见下述公式6:
[0124][0125]
其中,stop_gradient()表示反向梯度阻断处理函数。
[0126]
可以看出,本技术实施例中,在对待训练神经网络模型进行训练时,可以先通过待
训练神经网络模型获取样本图像的输出结果、以及样本图像的预设结果;并确定输出结果与预设结果之间的第二损失;再根据第一损失和第二损失,对待训练神经网络模型进行训练,这样结合第一损失和第二损失,共同对待训练神经网络模型进行训练,不仅使得训练得到的目标神经网络模型的准确度较高,而且由于考虑到了样本图像的输出结果与样本图像的预设结果之间的损失,使得训练得到的目标神经网络模型更适应于真实的应用场景。
[0127]
假设训练得到的目标神经网络模型应用于图像降噪的场景,则目标神经网络模型可以为图像降噪模型,结合图9所示,图9为本技术实施例提供的一种降噪处理后的图像示意图,其中,图9所示的左侧图为采用现有的方法训练得到的图像降噪模型降噪后的图像,图9所示的右侧图为采用本技术的技术方案训练得到的图像降噪模型降噪后的图像,可以看出,采用本技术的技术方案训练得到的图像降噪模型,可以较大幅度地提高降噪效果,解决了降噪问题中图像边缘噪声,其降噪效果较好。
[0128]
图10为本技术实施例提供的一种神经网络模型的训练装置100的结构示意图,示例的,请参见图10所示,该神经网络模型的训练装置100可以包括:
[0129]
提取单元1101,用于通过预设神经网络模型提取样本图像的第一特征图,并通过待训练神经网络模型提取样本图像的第二特征图;其中,预设神经网络模型的参数量大于待训练神经网络模型的参数量。
[0130]
处理单元1002,用于在第一特征图的数据结构与第二特征图的数据结构不同时,根据目标特征图生成对应的第三特征图;其中,目标特征图为第一特征图或第二特征图,第三特征图的数据结构与第四特征图的数据结构相同,第四特征图为第一特征图和第二特征图中除目标特征图之外的另一个特征图。
[0131]
训练单元1003,用于根据第三特征图和第四特征图之间的第一损失,对待训练神经网络模型进行训练,得到目标神经网络模型。
[0132]
可选的,处理单元1002,具体用于根据第四特征图的数据结构,调整特征图匹配模型的参数,得到新的特征图匹配模型;将目标特征图输入至新的特征图匹配模型,得到第三特征图。
[0133]
可选的,处理单元1002,还用于获取第三特征图中各像素点的第一特征值、通过预设神经网络模型获取第三特征图中各像素点的输出值、以及获取第二特征图中各像素点的第二特征值;其中,第三特征图中各像素点与第四特征图中各像素点一一对应;针对各像素点,根据像素点的第一特征值、输出值以及第二特征值,确定像素点对应的数值;根据各像素点对应的数值,确定第三特征图和第四特征图之间的第一损失。
[0134]
可选的,处理单元1002,具体用于确定第一特征值和第二特征值之间的差值绝对值;确定差值绝对值与输出值之间的第一比值;根据输出值的对数值与第一比值的和,确定像素点对应的数值。
[0135]
可选的,处理单元1002,具体用于对各像素点对应的数值进行加权平均,得到处理结果;将处理结果,确定为第三特征图和第四特征图之间的第一损失。
[0136]
可选的,训练单元1003,具体用于通过待训练神经网络模型获取样本图像的输出结果、以及样本图像的预设结果;确定输出结果与预设结果之间的第二损失;根据第一损失和第二损失,对待训练神经网络模型进行训练。
[0137]
可选的,训练单元1003,具体用于分别确定第一损失对应的第一初始权重、以及第
二损失对应的第二初始权重;确定第一初始权重与第一损失的第一乘积、以及第二初始权重与第二损失的第二乘积;根据第一乘积与第二乘积的和,对待训练神经网络模型进行训练。
[0138]
可选的,训练单元1003,具体用于若训练过程中,第一损失的变化量小于预设阈值,则减小第一初始权重的取值,得到第一权重;确定第一权重与第一损失的第三乘积;根据第三乘积与第二乘积的和,对待训练神经网络模型进行训练。
[0139]
可选的,训练单元1003,具体用于确定第二乘积与第一损失之间的第二比值;将第二比值,确定为第一权重。
[0140]
可选的,处理单元1002,还用于对第一权重和第二初始权重进行反向梯度阻断处理,并根据第一损失和第二损失,修改待训练神经网络模型的参数。
[0141]
本技术实施例提供的神经网络模型的训练装置100,可以执行上述任一实施例中神经网络模型的训练方法的技术方案,其实现原理以及有益效果与神经网络模型的训练方法的实现原理及有益效果类似,可参见神经网络模型的训练方法的实现原理及有益效果,此处不再进行赘述。
[0142]
图11为本技术实施例提供的一种电子设备110的结构示意图,示例的,请参见图11所示,该电子设备110可以包括处理器1101和存储器1102;其中,
[0143]
所述存储器1102,用于存储计算机程序。
[0144]
所述处理器1101,用于读取所述存储器1102存储的计算机程序,并根据所述存储器1102中的计算机程序执行上述任一实施例中的神经网络模型的训练方法的技术方案。
[0145]
可选地,存储器1102既可以是独立的,也可以跟处理器1101集成在一起。当存储器1102是独立于处理器1101之外的器件时,电子设备110还可以包括:总线,用于连接存储器1102和处理器1101。
[0146]
可选地,本实施例还包括:通信接口,该通信接口可以通过总线与处理器1101连接。处理器1101可以控制通信接口来实现上述电子设备110的获取和发送的功能。
[0147]
本技术实施例所示的电子设备110,可以执行上述任一实施例中神经网络模型的训练方法的技术方案,其实现原理以及有益效果与神经网络模型的训练方法的实现原理及有益效果类似,可参见神经网络模型的训练方法的实现原理及有益效果,此处不再进行赘述。
[0148]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述任一实施例中神经网络模型的训练方法的技术方案,其实现原理以及有益效果与神经网络模型的训练方法的实现原理及有益效果类似,可参见神经网络模型的训练方法的实现原理及有益效果,此处不再进行赘述。
[0149]
本技术实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现上述任一实施例中神经网络模型的训练方法的技术方案,其实现原理以及有益效果与神经网络模型的训练方法的实现原理及有益效果类似,可参见神经网络模型的训练方法的实现原理及有益效果,此处不再进行赘述。
[0150]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅
仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所展示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0151]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元展示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0152]
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本技术各个实施例方法的部分步骤。
[0153]
应理解的是,上述处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0154]
存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
[0155]
总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
[0156]
上述计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0157]
最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1