一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

增加训练数据的方法、相关设备及可读存储介质与流程

2022-07-16 14:40:20 来源:中国专利 TAG:


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.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
65.接下来,通过下述实施例对本技术提供的一种增加训练数据的方法进行介绍。
66.参照图1,图1为本技术实施例公开的一种增加训练数据的方法的流程示意图,该方法可以包括:
67.步骤s101:获取训练数据集、第一模型和候选数据集。
68.需要说明的是,所述训练数据集中包括多条训练数据;所述候选数据集中包括多条候选数据;所述第一模型为任意深度学习模型。
69.步骤s102:利用所述训练数据集对所述第一模型进行训练,得到第二模型。
70.在本技术中,需要对训练数据集中的各个训练数据进行标注生成训练样本集,再利用训练样本集对所述第一模型进行训练,得到第二模型。所述第二模型的效果未达到预期效果,需要增加训练数据进行迭代训练。
71.需要说明的是,第二模型是基于标注过的训练数据集对第一模型进行训练直至迭代收敛,得到的训练好模型,其与第一模型具有相同的结构,具有不同的参数。
72.步骤s103:将所述训练数据集中的各训练数据输入所述第二模型,得到所述第二模型对所述训练数据集中各训练数据的预测结果。
73.在本技术中,所述第二模型对所述训练数据集中各训练数据的预测结果包括两种,一种是正确,另一种是错误。
74.步骤s104:基于所述第二模型对所述训练数据集中各训练数据的预测结果,从所述候选数据集中确定要增加的训练数据;所述要增加的训练数据与预测结果为错误的训练数据相似。
75.步骤s105:将所述要增加的训练数据添加至所述训练数据集中,生成新的训练数据集。
76.得到新的训练数据集之后,即可利用新的训练数据集对第二模型进行迭代训练,
在训练之前,只需要对增加的训练数据进行标注即可。
77.需要说明的是,在利用新的训练数据集对第二模型进行迭代训练得到新的模型之后,可以对新模型的效果进行检测,如果效果依然未达到预期效果,可以利用本技术提供的增加训练数据的方法,对训练数据集继续扩充,直至训练的模型的效果达到预期效果。
78.本实施例公开了一种增加训练数据的方法。本方法中,先利用训练数据集对第一模型进行训练,得到第二模型,再确定第二模型对训练数据集中各训练数据的预测结果;最后,确定训练数据集中与预测结果为错误的训练数据相似的训练数据作为要增加的训练数据,将其添加至训练数据集中,生成新的训练数据集。由于模型对预测结果为正确的训练数据对应情形的特征学习的较好,对预测结果为失败的训练数据对应情形的特征学习不够,因此,在本技术中从候选数据集中确定与预测结果为错误的数据相似的候选数据作为要增加的训练数据,能够准确覆盖模型学习较差的情形,使得模型能够快速达到较好的效果。
79.在本技术的另一个实施例中,对步骤s104基于所述第二模型对所述训练数据集中各训练数据的预测结果,从所述候选数据集中确定要增加的训练数据的实现方式进行说明。
80.参照图2,图2为本技术实施例公开的一种从候选数据集中确定要增加的训练数据的方法的流程示意图,该方法可以包括:
81.步骤s201:对所述训练数据集进行聚类,得到多个类以及每个类的聚类中心和聚类半径;每个类对应至少一个训练数据。
82.在本步骤中,可以采用各种聚类算法对所述训练数据集进行聚类,如dbscan(density-based clustering,基于密度的聚类)等,对此,本技术不进行任何限定。
83.作为一种可实施方式,所述对所述训练数据集进行聚类,得到多个类以及每个类的聚类中心和聚类半径,包括:确定所述训练数据集中各训练数据的特征表示;基于所述训练数据集中各训练数据的特征表示,对所述训练数据集进行聚类,得到多个类以及每个类的聚类中心和聚类半径。
84.其中,所述确定所述训练数据集中各训练数据的特征表示,包括:将所述训练数据集中各训练数据输入所述第二模型,所述第二模型输出所述训练数据集中各训练数据的特征表示。
85.需要说明的是,针对不同的场景,训练数据不同,模型结构也不同,训练数据的特征表示也有所不同,对此本技术不进行任何限定。
86.比如,以分类网络为例,网络通过卷积分神经网络提取特征后,通过一个全连接层,最终输出一个神经元数量为分类数量的全连接层,那么可以将最后一层全连接输出的一维特征向量用来作为数据的特征表示。例如:目标检测网络可以在特征提取网络的最后一层输出特征图b*c*h*w(图片数量*通道数*高*宽)使用globalaverage pool或者globalmax pool对每个样本得到长度为c的一维特征表述向量作为数据的特征表示。
87.再比如,图像识别网络一般为输入一张图片最终输出一个结果,例如图像分类最终输出分类结果,而对于目标检测模型,模型输入是数量不固定的目标框,而目标检测网络不论是一阶段的还是两阶段的网络,最终输出的格式都是多层特征图对应的分类信息与位置信息,如yolo输出的是最大的一层特征为:每个候选框类别信息:[80*80*3*80] 每个候选框置信度信息:[80*80*3*1] 每个候选框位置信息:[80*80*3*4],可以采用每张图片置
信度排名前50候选框的类型信息拼接为50*80=4000的图像表征特征作为数据的特征表示。
[0088]
步骤s202:从各个类中确定正类,所述正类对应的训练数据中,预测结果为正确的训练数据所占比例满足预设条件。
[0089]
作为一种可实施方式,预设条件可以为预测结果为正确的训练数据所占比例达到预设数值(比如,70%)。
[0090]
步骤s203:针对所述候选数据集中的每个候选数据,计算所述候选数据与每个正类的聚类中心的距离;基于所述候选数据与各个正类的聚类中心的距离,和,各个正类的聚类半径,确定所述候选数据是否与预测结果为错误的训练数据相似;如果所述候选数据与预测结果为错误的训练数据相似,则将所述候选数据确定为要增加的训练数据。
[0091]
作为一种可实施方式,计算所述候选数据与每个正类的聚类中心的距离,包括:确定所述候选数据集中各个候选数据的特征表示;计算所述候选数据的特征表示与每个正类的聚类中心的距离,作为所述候选数据与每个正类的聚类中心的距离。
[0092]
其中,所述确定所述候选数据集中各个候选数据的特征表示,包括:
[0093]
将所述候选数据集中各个候选数据输入所述第二模型,所述第二模型输出所述候选数据集中各个候选数据的特征表示。针对不同的场景,候选数据不同,模型结构也不同,候选数据的特征表示也有所不同,对此本技术不进行任何限定。候选数据的特征表示的示例可以参照步骤s202的相关内容,此处不再赘述。
[0094]
作为一种可实施方式,所述基于所述候选数据与各个正类的聚类中心的距离,和,各个正类的聚类半径,确定所述候选数据是否与预测结果为错误的训练数据相似,包括:
[0095]
针对每个正类,判断所述候选数据与所述正类的聚类中心的距离是否小于预设倍数的所述正类的聚类半径;如果不存在候选数据与正类的聚类中心的距离小于预设倍数的聚类半径的正类,则确定所述候选数据与预测结果为错误的训练数据相似。
[0096]
需要说明的是,预设倍数可以基于场景需求确定,本技术不进行任何限定。作为一种可实施方式,预设倍数可以为2倍。
[0097]
为便于理解,假设只存在一个正类,如果该候选数据与该正类的距离中心的距离小于2倍该正类的聚类半径,则确定该候选数据与预测结果为错误的训练数据不相似,如果该候选数据与该正类的距离中心的距离大于等于2倍该正类的聚类半径,则确定所述候选数据与预测结果为错误的训练数据相似。
[0098]
假设存在两个正类分别为第一正类和第二正类,如果该候选数据与第一正类的距离中心的距离大于等于2倍第一正类的聚类半径,且该候选数据与第二正类的距离中心的距离大于等于2倍第二正类的聚类半径,才能确定所述候选数据与预测结果为错误的训练数据相似,其他情况下,均确定该候选数据与预测结果为错误的训练数据不相似。
[0099]
下面对本技术实施例公开的增加训练数据的装置进行描述,下文描述的增加训练数据的装置与上文描述的增加训练数据的方法可相互对应参照。
[0100]
参照图3,图3为本技术实施例公开的一种增加训练数据的装置结构示意图。如图3所示,该增加训练数据的装置可以包括:
[0101]
获取单元11,用于获取训练数据集、第一模型和候选数据集;
[0102]
训练单元12,用于利用所述训练数据集对所述第一模型进行训练,得到第二模型;
[0103]
预测结果确定单元13,用于将所述训练数据集中的各训练数据输入所述第二模型,得到所述第二模型对所述训练数据集中各训练数据的预测结果;
[0104]
要增加的训练数据确定单元14,用于基于所述第二模型对所述训练数据集中各训练数据的预测结果,从所述候选数据集中确定要增加的训练数据;所述要增加的训练数据与预测结果为错误的训练数据相似;
[0105]
训练数据增加单元15,用于将所述要增加的训练数据添加至所述训练数据集中,生成新的训练数据集。
[0106]
作为一种可实施方式,所述要增加的训练数据确定单元,包括:
[0107]
聚类单元,用于对所述训练数据集进行聚类,得到多个类以及每个类的聚类中心和聚类半径;每个类对应至少一个训练数据;
[0108]
正类确定单元,用于从各个类中确定正类,所述正类对应的训练数据中,预测结果为正确的训练数据所占比例满足预设条件;
[0109]
候选数据判定单元,用于针对所述候选数据集中的每个候选数据,计算所述候选数据与每个正类的聚类中心的距离;基于所述候选数据与各个正类的聚类中心的距离,和,各个正类的聚类半径,确定所述候选数据是否与预测结果为错误的训练数据相似;如果所述候选数据与预测结果为错误的训练数据相似,则将所述候选数据确定为要增加的训练数据。
[0110]
作为一种可实施方式,所述聚类单元,包括:
[0111]
第一特征表示确定单元,用于确定所述训练数据集中各训练数据的特征表示;
[0112]
聚类子单元,用于基于所述训练数据集中各训练数据的特征表示,对所述训练数据集进行聚类,得到多个类以及每个类的聚类中心和聚类半径。
[0113]
作为一种可实施方式,所述第一特征表示确定单元,具体用于:
[0114]
将所述训练数据集中各训练数据输入所述第二模型,所述第二模型输出所述训练数据集中各训练数据的特征表示。
[0115]
作为一种可实施方式,所述候选数据判定单元,包括,距离计算单元;
[0116]
所述距离计算单元,包括:
[0117]
第二特征表示确定单元,用于确定所述候选数据集中各个候选数据的特征表示;
[0118]
距离计算子单元,用于计算所述候选数据的特征表示与每个正类的聚类中心的距离,作为所述候选数据与每个正类的聚类中心的距离。
[0119]
作为一种可实施方式,所述第二特征表示确定单元,具体用于:
[0120]
将所述候选数据集中各个候选数据输入所述第二模型,所述第二模型输出所述候选数据集中各个候选数据的特征表示。
[0121]
作为一种可实施方式,所述候选数据判定单元,包括,判断单元;
[0122]
所述判断单元,包括:
[0123]
距离判断单元,用于针对每个正类,判断所述候选数据与所述正类的聚类中心的距离是否小于预设倍数的所述正类的聚类半径;
[0124]
判断结果确定单元,用于如果不存在候选数据与正类的聚类中心的距离小于预设倍数的聚类半径的正类,则确定所述候选数据与预测结果为错误的训练数据相似。
[0125]
参照图4,图4为本技术实施例提供的增加训练数据的设备的硬件结构框图,参照
图4,增加训练数据的设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;
[0126]
在本技术实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
[0127]
处理器1可能是一个中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
[0128]
存储器3可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
[0129]
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
[0130]
获取训练数据集、第一模型和候选数据集;
[0131]
利用所述训练数据集对所述第一模型进行训练,得到第二模型;
[0132]
将所述训练数据集中的各训练数据输入所述第二模型,得到所述第二模型对所述训练数据集中各训练数据的预测结果;
[0133]
基于所述第二模型对所述训练数据集中各训练数据的预测结果,从所述候选数据集中确定要增加的训练数据;所述要增加的训练数据与预测结果为错误的训练数据相似;
[0134]
将所述要增加的训练数据添加至所述训练数据集中,生成新的训练数据集。
[0135]
可选的,所述程序的细化功能和扩展功能可参照上文描述。
[0136]
本技术实施例还提供一种可读存储介质,该可读存储介质可存储有适于处理器执行的程序,所述程序用于:
[0137]
获取训练数据集、第一模型和候选数据集;
[0138]
利用所述训练数据集对所述第一模型进行训练,得到第二模型;
[0139]
将所述训练数据集中的各训练数据输入所述第二模型,得到所述第二模型对所述训练数据集中各训练数据的预测结果;
[0140]
基于所述第二模型对所述训练数据集中各训练数据的预测结果,从所述候选数据集中确定要增加的训练数据;所述要增加的训练数据与预测结果为错误的训练数据相似;
[0141]
将所述要增加的训练数据添加至所述训练数据集中,生成新的训练数据集。
[0142]
可选的,所述程序的细化功能和扩展功能可参照上文描述。
[0143]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0144]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0145]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的
一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献