神经网络训练、目标检测的方法及装置、设备及存储介质与流程

文档序号:30495283发布日期:2022-06-22 04:03阅读:90来源:国知局
神经网络训练、目标检测的方法及装置、设备及存储介质与流程

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.第五方面,本公开实施例还提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面及其各种实施方式任一所述的神经网络训练的方法的步骤或者如第二方面所述的目标检测的方法的步骤。
61.第六方面,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面及其各种实施方式任一所述的神经网络训练的方法的步骤或者如第二方面所述的目标检测的方法的步骤。
62.关于上述装置、电子设备、及计算机可读存储介质的效果描述参见上述方法的说明,这里不再赘述。
63.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
64.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
65.图1示出了本公开实施例所提供的一种神经网络训练的方法的流程图;
66.图2示出了本公开实施例所提供的一种目标检测的方法的流程图;
67.图3示出了本公开实施例所提供的一种神经网络训练的装置的示意图;
68.图4示出了本公开实施例所提供的一种目标检测的装置的示意图;
69.图5示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
70.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
71.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
72.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
73.经研究发现,在将预训练模型迁移到下游特定任务的过程中,相关技术中通常会通过模型微调提升在下游任务中的性能。
74.现有的微调方式主要有以下两类:第一类可以是筛选映射主干网络提取的特征。在具体应用中,可以通过在主干网络后添加额外的网络层来实现上述筛选过程,也即,通过额外的网络层可以对主干网络提取的通用特征进行筛选、映射,保留并强化下游任务需要的特征,这里,额外的网络层可以是卷积层、归一化层等。第二类可以是操作主干网络权重参数。在具体应用中,不直接利用反向传播进行下游任务迁移,而是针对下游任务在指定权重参数空间内预测权重增量和偏移值,帮助主干网络适应下游任务。
75.然而,上述两类方法都存在缺点:第一类方法在下游任务中的数据量较小的情况下可能引起特征映射层过拟合;第二类方法的权重更新范围受限于指定的权重参数空间,无法保证权重优化到最佳状态,可见,它们对模型迁移性能的提升均有待提高。
76.除此之外,相关预训练模型往往具有特定的网络结构,在实际所迁徙的下游场景中,也许需要迁移到不同的网络结构,这更是对模型迁移性能提出了更高的要求。
77.基于上述研究,本公开提供了一种基于训练好的教师网络指导待训练的学生网络的带教训练方式实现网络迁移的方案,以提升预训练模型在下游任务中的表现性能。
78.为便于对本实施例进行理解,首先对本公开实施例所公开的一种神经网络训练的方法进行详细介绍,本公开实施例所提供的神经网络训练的方法的执行主体一般为具有一定计算能力的电子设备,该电子设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(user equipment,ue)、移动设备、用户终端、终端等。在一些可能的实现方式中,该神经网络训练的方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
79.参见图1所示,为本公开实施例提供的神经网络训练的方法的流程图,方法包括步骤s101~s103,其中:
80.s101:获取上游任务中采集的第一图像样本、下游任务中待训练的第一神经网络、以及基于第一图像样本训练得到的第二神经网络和图像生成网络;第二神经网络用于进行
特征提取,图像生成网络用于生成新图像,且新图像符合第一图像样本的整体分布;
81.s102:分别根据训练得到的第二神经网络和待训练的第一神经网络对基于图像生成网络生成的新图像进行特征提取,得到第一图像特征和第二图像特征;
82.s103:基于第一图像特征和第二图像特征对待训练的第一神经网络进行训练,得到训练好的第一神经网络。
83.为了便于理解本公开实施例提供的神经网络训练的方法,接下来首先对该方法的应用场景进行简单说明。本公开实施例中的神经网络训练的方法主要可以应用于视觉场景迁移下有关下游任务中的网络训练,这里的下游任务可以是基于当前所迁移到的场景下的相关任务,例如,可以是自然场景下的目标检测任务,还可以是采集场景下的语义分割任务。
84.其中,在下游任务中可采集的训练样本数量相对较少。与下游任务对应的是上游任务,可以是具有较多训练样本的相关任务。以目标分类任务为例,目前已经具备包括由各目标对象组成的训练数据库训练得到的目标分类神经网络,然而对于下游具体的应用场景自动驾驶而言,由于对应这一场景下的训练数据相对较少,因而往往需要借助上游得到的预训练模型来支持下游的训练,例如,可以在对预训练模型进行微调后再进行迁移。
85.然而,由于相关技术中的微调方案存在一系列的问题,导致预训练模型在下游任务中的表现性能并不佳。与此同时,在进行迁移过程中,相关技术中还存在使用上游预训练模型迁移到下游数据集上必须使用相同模型结构的限制,这导致无法将预训练模型很好地迁移到存在不同模型结构的下游任务中。
86.正是为了解决上述问题,本公开实施例才提供了一种基于训练好的教师网络指导待训练的学生网络的带教训练方式实现网络迁移的方案,以提升预训练模型在下游任务中的表现性能。
87.本公开实施例中,这里的预训练模型可以是在上游任务中,利用上游任务中采集的第一图像样本训练得到的第二神经网络。另外,这里的图像生成网络可以是生成符合第一图像样本的整体分布的新图像的相关网络。
88.在具体应用中,可以预先准备有针对上游任务的上游数据集以及针对下游任务的下游数据集,上游数据集作为大规模预训练数据集,具有大量的第一图像样本,下游数据集作为待迁移到的数据集,具有少量的第二图像样本。
89.其中,第一图像样本可以是在多个应用场景下的多个任务中采集的图像,这里的应用场景可以是自然场景、监控场景、采集场景等场景,这里的任务可以是图像分类、目标检测、语义分割等任务。第二图像样本可以是待迁移的特定场景、特定任务中采集的图像,比如检测任务中有关街道行人图像。
90.基于上述第一图像样本可以对包括有特征提取层的原始神经网络进行训练,这里,可以基于特征提取层对第一图像样本进行特征提取,而后通过特征提取层输出的图像特征信息对特征提取层的网络参数值进行调整,这样训练得到的原始神经网络可以确定为上述训练好的第二神经网络。
91.其中,上述原始神经网络是任一具有特征提供功能的网络结构,通过使用大规模上游数据(对应第一图像样本)对原始神经网络进行训练所得到的第二神经网络,对于任一张图像,其骨干网络部分(对应特征提取层)可以输出一个通用的特征表征。
92.需要说明的是,上述原始神经网络还可以在特征提取层之后,包含用于进行任务处理的任务层,这时可以利用任务层的任务输出结果与针对大规模上游数据的任务标注结果之间的匹配度来进行整个原始神经网络的训练,这里不再赘述。
93.为了更好的训练下游任务中的第二神经网路,这里,可以将上述训练好的第二神经网络当作知识蒸馏中的教师模型,下游待迁移的第一神经网络当作知识蒸馏中的学生模型,以固定教师模型,训练学生模型的方式对第一神经网络进行训练。
94.在训练的过程中,可以分别利用第二神经网络和第一神经网络进行特征提取,而后基于第二神经网络这一教师模型所输出的第一图像特征以及第一神经网络这一学生模型所输出的第二图像特征之间的相似度来指导第一神经网络的训练,使得学生模型输出的表征与教师模型尽可能相近,进而可以更好的适配下游任务,在两者表征相近的情况下,即使下游任务和上游任务使用的不是相同的网络结构,也可以很好地完成任务指标。
95.考虑到在实际应用中,第一图像样本是来源于大规模预训练数据集中的图像,这使得不同的第一图像样本可能是基于不同的应用场景采集的。不同应用场景下所采集的第一图像样本的特性可能存在一定的差异,这一定程度上可能会对网络训练带来干扰,这里,为了在充分挖掘上游数据集中所蕴含的特征信息的前提下,降低无关信息的干扰,这里可以利用图像生成网络生成符合第一图像样本的整体分布的新图像,而后基于生成的新图像进行上述有关教师学生模型的训练,从而可以高效且准确的将第二神经网络所属预训练模型迁移到下游特定的任务领域,即使是在下游数据量较少的情况,也可以具有很好的迁移效果。
96.考虑到图像生成网络的训练过程对于模型迁移的关键作用,接下来将重点说明有关训练图像生成网络的方案。其中,本公开实施例中的图像生成网络可以是在码本生成网络的前提下训练得到的,也可以是与码本生成网络同步训练得到的。具体可以通过如下两个方面进行展开。
97.第一方面:本公开实施例可以按照如下步骤训练图像生成网络:
98.步骤一、获取基于码本生成网络输出的第一图像;码本生成网络用于生成将第一图像样本分解为包含多个基元的码本;
99.步骤二、将第一图像输入至待训练的图像生成网络,得到图像生成网络输出的第二图像;
100.步骤三、基于第二图像与第一图像之间的图像相似度,确定待训练的图像生成网络的损失函数值;
101.步骤四、基于损失函数值对待训练的图像生成网络进行训练,得到训练好的图像生成网络。
102.这里,可以将码本生成网络输出的第一图像作为待训练的图像生成网络的输入图像,而后基于图像生成网络输出的第二图像与第一图像之间的图像相似度来确定图像生成网络的损失函数值。损失函数值越大,一定程度上说明输出的第二图像与输入的第一图像之间的差距比较大,此时需要再次进行网络训练,损失函数值越小,一定程度上说明输出的第二图像与输入的第一图像之间的差距比较小,在差距小到一定程度时,可以确定输出的图像与输入的图像基本一致,此时可以结束训练。
103.为了更好的训练图像生成网络,在将第一图像输入至待训练的图像生成网络之
前,可以对第一图像中的部分图像区域进行遮盖处理,得到遮盖处理后的第一图像,在将遮盖处理后的第一图像输入到待训练的图像生成网络的情况下,未遮盖部分图像区域可以指导遮盖部分图像区域的生成,进而可以基于生成的图像与原始的第一图像之间的接近程度实现网络训练。
104.本公开实施例中,上述码本生成网络也可以是基于第一图像样本训练得到的。这里的码本生成网络主要是为了训练一个可以编码上游数据中视觉特征的码本,而后可以通过码本生成网络中生成的码本包含的多个基元进行图像复原,继而得到码本生成网络输出的第一图像。
105.接下来可以详细的介绍有关码本生成网络的训练过程以及应用过程。
106.在本公开实施例中,可以利用配对的编码器和解码器所构成的对抗网络进行码本生成网络的训练。这里,可以将第一图像样本输入到待训练的编码器,得到编码器输出的码本;将编码器输出的码本输入到待训练的解码器,得到解码器输出的图像,然后验证解码器输出的图像与输入编码器的第一图像样本之间的相似度是否大于预设阈值,如果不大于预设阈值,则循环上述将第一图像样本输入到待训练的编码器的过程,直至两个图像的相似度大于预设阈值。
107.这里,利用训练好的码本生成网络可以使得一张图像通过编码器将图片分解为由若干个基元组成的码本,再通过解码器能将这些基元还原为该图像。
108.这里,可以将第一图像样本输入到码本生成网络包括的编码器,得到编码器输出的码本,在将编码器输出的码本输入到码本生成网络包括的解码器的情况下,可以利用码本所包含的各个基元进行图像还原,进而得到重表征后的第一图像。
109.需要说明的是,在实际应用中,有关第一图像的确定过程,可以是联合码本生成网络的训练过程确定的,也即,可以重复执行将第一图像样本输入到待训练的编码器,得到编码器输出的码本,并将编码器输出的码本输入到待训练的解码器,得到解码器输出的图像的步骤,直至解码器输出的图像与输入到编码器中的第一图像样本之间的相似度大于预设阈值的情况下,将解码器输出的图像确定为第一图像。
110.第二方面:在图像生成网络包括用于生成将第一图像样本分解为多个基元的码本的第一生成子网络、以及基于第一生成子网络输出的图像,生成新图像的第二生成子网络的情况下,本公开实施例可以按照如下步骤训练图像生成网络:
111.步骤一、将第一图像样本输入至训练好的第一生成子网络,得到第一生成子网络输出的第一图像;
112.步骤二、将第一图像输入至待训练的第二生成子网络,得到第二生成子网络输出的第二图像;
113.步骤三、基于第一图像与输入的第一图像样本之间的第一图像相似度、以及第二图像与第一图像之间的第二图像相似度,确定待训练的图像生成网络的损失函数值;
114.步骤四、基于损失函数值对待训练的图像生成网络进行训练,得到训练好的图像生成网络。
115.这里,可以联合第一图像与输入的第一图像样本之间的第一图像相似度、以及第二图像与第一图像之间的第二图像相似度确定待训练的图像生成网络的损失函数值,不管是第一图像相似度还是第二图像相似度均会影响相关网络参数值的调整,也即,这里实现
了对第一生成子网络和第二生成子网络的同步训练,训练效率更高。
116.在训练得到包含第一生成子网络和第二生成子网络的情况下,对于任一输入的第一图像样本均可以生成对应的新图像,且该新图像中蕴含了上游任务丰富的数据信息,从而更适应于网络的训练需求。
117.在将基于图像生成网络生成的大量新图像输入到上游任务中的练好的第二神经网络(即预训练模型)的情况下,可以得到通用表征,使用通用表征进行知识蒸馏,可以将通用表征的知识,蒸馏到下游待迁移的第一神经网络中。
118.本公开实施例中,可以基于训练好的第二神经网络和待训练的第一神经网络所提取出的两个图像特征(即第一图像特征和第二图像特征)之间的图像相似度来指导下游任务中有关第一神经网络的训练,具体可以通过如下步骤来实现:
119.步骤一、基于第一图像特征和第二图像特征之间的图像相似度,确定待训练的第一神经网络的损失函数值;
120.步骤二、在当前轮对应的损失函数值大于预设阈值的情况下,基于损失函数值对第一神经网络的网络参数值进行调整,并根据调整后的第一神经网络进行下一轮训练,直至损失函数值小于或等于预设阈值。
121.这里,在两个图像特征之间的图像相似度与第一神经网络的损失函数值呈负相关,也即,在图像相似度比较小的情况下,所确定的损失函数值较大,在图像相似度比较大的情况下,所确定的损失函数值比较小。本公开实施例训练第一神经网络的目的在于使得两个神经网络(第二神经网络和第一神经网络)输出的表征尽可能相近。
122.为了更进一步地扩展第一神经网络在下游任务领域的泛化性能,这里,可以使用下游任务中采集的第二图像样本对第一神经网络进行微调,具体可以通过如下步骤来实现:
123.步骤一、将第二图像样本输入至第一神经网络中,得到网络的任务输出结果;
124.步骤二、基于任务输出结果以及针对第二图像样本进行标注的任务标注结果之间的比对关系,确定第一神经网络的损失函数值;
125.步骤三、基于损失函数值对第一神经网络再次进行网络训练,得到最终训练好的第一神经网络。
126.这里,可以通过第一神经网络包括的特征提取层进行特征提取,在将特征提取层输出的特征信息输入到第一神经网络包括的任务层的情况下,可以基于任务输出结果以及针对第二图像样本的任务标注结果的匹配结果进行第一神经网络的多轮训练。
127.本公开实施例中,在任务输出结果以及任务标注结果不匹配的情况下,说明当前的网络性能不佳,需要进行网络参数值的调整以进行下一轮训练,直到两个结果相匹配或者直到满足其它网络收敛条件,例如,迭代轮次达到预设次数,再如,损失函数值小于预设阈值等。
128.针对不同的下游任务,这里的任务标注结果也不同。例如,有的图像样本可以是针对目标检测任务标记的有关目标对象的位置、大小等信息,有的图像样本可以是针对目标语义分割任务标记的对象语义信息。这里可以针对不同的下游任务进行标注,对此不做具体的限制。
129.本公开实施例在基于第二图像样本进行网络微调的过程中,可以针对网络包括的
各个网络层的整体调整过程,这里,可以放开各个网络层的所有参数,使用较小的学习率,进行网络的最终调整,从而可以显著提升网络在下游任务领域的泛化性能。
130.基于本公开实施例提供的上述神经网络训练的方法,本公开实施例还提供了一种目标检测的方法,如图2所示,具体包括如下步骤:
131.s201:获取下游任务中采集的目标图像;
132.s202:将目标图像输入至利用神经网络训练的方法训练好的第一神经网络,得到目标对象在目标图像中的检测结果。
133.这里,在获取到下游任务中采集的目标图像的情况下,可以基于训练得到的用于进行目标检测的第一神经网络对目标图像中的目标对象进行检测,得到目标对象在目标图像中的检测结果。
134.其中,目标对象在目标图像中的检测结果可以是目标对象在目标图像中的位置、大小等信息。
135.本公开实施例中,不同的下游任务所采集的目标图像也不同,具体可以参见有关第二图像样本的采集过程,这里不再赘述。有关第一神经网络的训练过程参见上述实施例中的相关描述,在此也不再赘述。
136.需要说明的是,本公开实施例提供的神经网络训练的方法不仅可以应用于目标检测领域,还可以应用于图像分类、语义分割等领域,在此不再赘述。
137.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
138.基于同一发明构思,本公开实施例中还提供了与方法对应的装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
139.参照图3所示,为本公开实施例提供的一种神经网络训练的装置的示意图,装置包括:获取模块301、提取模块302、训练模块303;其中,
140.获取模块301,用于获取上游任务中采集的第一图像样本、下游任务中待训练的第一神经网络、以及基于第一图像样本训练得到的第二神经网络和图像生成网络;第二神经网络用于进行特征提取,图像生成网络用于生成新图像,且新图像符合第一图像样本的整体分布;
141.提取模块302,用于分别根据训练得到的第二神经网络和待训练的第一神经网络对基于图像生成网络生成的新图像进行特征提取,得到第一图像特征和第二图像特征;
142.训练模块303,用于基于第一图像特征和第二图像特征对待训练的第一神经网络进行训练,得到训练好的第一神经网络。
143.采用上述神经网络训练的装置,可以分别根据下游任务中待训练的第一神经网络和基于上游任务中采集的第一图像样本训练得到的第二神经网络对基于图像生成网络生成的新图像进行特征提取,而后可以根据得到的第一图像特征和第二图像特征对第一神经网络进行训练。由于基于图像生成网络生成的新图像是更为符合第一图像样本的整体分布的图像样本,这样的图像样本会更有利于适应于第二神经网络的网络环境,与此同时,通过训练好的第二神经网络输出的第一图像特征以及待训练的第一神经网络输出的第二图像
特征可以更好地指导第一神经网络的训练,从而进一步提升在下游任务的表现性能。
144.在一种可能的实施方式中,获取模块301,用于按照如下步骤训练图像生成网络:
145.获取基于码本生成网络输出的第一图像;码本生成网络用于生成将第一图像样本分解为包含多个基元的码本;
146.将第一图像输入至待训练的图像生成网络,得到图像生成网络输出的第二图像;
147.基于第二图像与第一图像之间的图像相似度,确定待训练的图像生成网络的损失函数值;
148.基于损失函数值对待训练的图像生成网络进行训练,得到训练好的图像生成网络。
149.在一种可能的实施方式中,获取模块301,用于将第一图像输入至待训练的图像生成网络:
150.对第一图像中的部分图像区域进行遮盖处理,得到遮盖处理后的第一图像;
151.将遮盖处理后的第一图像输入至待训练的图像生成网络。
152.在一种可能的实施方式中,码本生成网络包括编码器和解码器,获取模块301,用于按照如下步骤训练码本生成网络:
153.重复执行以下步骤,直至解码器输出的图像与输入到编码器中的第一图像样本之间的相似度大于预设阈值:
154.将第一图像样本输入到待训练的编码器,得到编码器输出的码本;将编码器输出的码本输入到待训练的解码器,得到解码器输出的图像。
155.在一种可能的实施方式中,获取模块301,用于按照如下步骤获取基于码本生成网络输出的第一图像:
156.将第一图像样本输入到码本生成网络包括的编码器,得到编码器输出的码本;
157.将编码器输出的码本输入到码本生成网络包括的解码器,得到解码器输出的第一图像。
158.在一种可能的实施方式中,图像生成网络包括用于生成将第一图像样本分解为多个基元的码本的第一生成子网络、以及基于第一生成子网络输出的图像,生成新图像的第二生成子网络;获取模块301,用于按照如下步骤训练图像生成网络:
159.将第一图像样本输入至训练好的第一生成子网络,得到第一生成子网络输出的第一图像;
160.将第一图像输入至待训练的第二生成子网络,得到第二生成子网络输出的第二图像;
161.基于第一图像与输入的第一图像样本之间的第一图像相似度、以及第二图像与第一图像之间的第二图像相似度,确定待训练的图像生成网络的损失函数值;
162.基于损失函数值对待训练的图像生成网络进行训练,得到训练好的图像生成网络。
163.在一种可能的实施方式中,训练模块303,用于按照以下步骤基于第一图像特征和第二图像特征对待训练的第一神经网络进行训练,得到训练好的第一神经网络:
164.基于第一图像特征和第二图像特征之间的图像相似度,确定待训练的第一神经网络的损失函数值;
165.在当前轮对应的损失函数值大于预设阈值的情况下,基于损失函数值对第一神经网络的网络参数值进行调整,并根据调整后的第一神经网络进行下一轮训练,直至损失函数值小于或等于预设阈值。
166.在一种可能的实施方式中,训练模块303,还用于:
167.在得到训练好的第一神经网络之后,获取下游任务中采集的第二图像样本;基于第二图像样本对训练好的第一神经网络再次进行网络训练,得到最终训练好的第一神经网络。
168.在一种可能的实施方式中,训练模块303,用于按照以下步骤基于第二图像样本对训练好的第一神经网络再次进行网络训练,得到最终训练好的第一神经网络:
169.将第二图像样本输入至第一神经网络中,得到网络的任务输出结果;
170.基于任务输出结果以及针对第二图像样本进行标注的任务标注结果之间的比对关系,确定第一神经网络的损失函数值;
171.基于损失函数值对第一神经网络再次进行网络训练,得到最终训练好的第一神经网络。
172.在一种可能的实施方式中,获取模块301,用于按照如下步骤训练第二神经网络:
173.获取原始神经网络;原始神经网络至少包括特征提取层;
174.基于原始神经网络包括的特征提取层对第一图像样本进行特征提取,得到特征提取层输出的图像特征信息;
175.基于图像特征信息对特征提取层的网络参数值进行调整,得到调整好的特征提取层;
176.将包含有调整好的特征提取层的原始神经网络,确定为训练得到的第二神经网络。
177.参照图4所示,为本公开实施例提供的一种目标检测的装置的示意图,装置包括:获取模块401、检测模块402;其中,
178.获取模块401,用于获取下游任务中采集的目标图像;
179.检测模块402,用于将目标图像输入至利用神经网络训练的方法训练好的第一神经网络,得到目标对象在目标图像中的检测结果。
180.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
181.对应于图1和图2中的方法,本公开实施例还提供了一种电子设备,如图5所示,为本公开实施例提供的电子设备的结构示意图,包括:
182.处理器501、存储器502、和总线503;存储器502用于存储执行指令,包括内存5021和外部存储器5022;这里的内存5021也称内存储器,用于暂时存放处理器501中的运算数据,以及与硬盘等外部存储器5022交换的数据,处理器501通过内存5021与外部存储器5022进行数据交换,当电子设备运行时,处理器501与存储器502之间通过总线503通信,使得处理器501执行图1所示的神经网络训练的方法的步骤或者执行图2所示的目标检测的方法的步骤。
183.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的方法的步骤。其
中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
184.本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的方法的步骤,具体可参见上述方法实施例,在此不再赘述。
185.其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(softw第一神经网络re development kit,sdk)等等。
186.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
187.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
188.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
189.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(re第一神经网络d-only memory,rom)、随机存取存储器(r第一神经网络ndom第一神经网络ccess memory,r第一神经网络m)、磁碟或者光盘等各种可以存储程序代码的介质。
190.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1