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

模型训练方法、装置、电子设备及存储介质与流程

2022-06-09 00:16:08 来源:中国专利 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.图1是根据本公开一示例性实施例示出的一种模型训练方法的流程图。
34.图2是根据本公开一示例性实施例示出的另一种模型训练方法的流程图。
35.图3是根据本公开一示例性实施例示出的一种模型训练装置的结构框图。
36.图4是根据本公开一示例性实施例示出的一种电子设备的框图。
具体实施方式
37.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
38.数据增强一般分为离线数据增强和在线数据增强,离线数据增强通过某些人工或者自动化工具手段将原有的数据进行一定增强扩增,接着再将扩增后的数据用于模型训练;在线数据增强则在数据集读取后在线生成增强数据。离线数据增强一般适用于增强过程耗时,或者无法通过自动化手段增强,而在线增强则适用于增强过程快速,对模型训练速度影响不大或者影响在能接受的程度内。
39.离线数据增强由于硬性扩增图像数量,因此无法灵活调控增强的参数,以及增强的比例,如果有新的数据到来,则需要重新生成增强数据,并且,离线数据增强处理完成之后,再串上后续的模型训练的过程,该过程需要经历离线数据增强的耗时以及模型训练的耗时,模型训练效率低。在线数据增强虽然可以灵活调控参数,组合多种增强算法,但是要求这些算法不能太耗时,这限制了增强算法的选择性,降低模型训练效果。
40.因此,通过相关技术中的数据增强方式得到的数据来进行模型训练,存在各种各样的问题,从而如何同时兼顾模型训练效率以及模型训练效果,是一个需要解决的问题。
41.在对本公开实施例进行详细说明之前,先对本公开实施例的应用场景进行举例说明。
42.在一些实施方式中,本公开实施例的模型训练方法可以应用于自动驾驶领域的图像处理模型训练中。自动驾驶领域面临着场景元素多样性的挑战,以视觉感知来说,对光照,阴影,雨水和彩噪等均比较敏感,通过本公开实施例的模型训练方法能在一定程度上解决训练模型在这些情况下的泛化性。其中,自动驾驶领域的图像处理模型例如可以是路况图像识别模型以及路况图像生成模型等。
43.在另一些实施方式中,本公开实施例的模型训练方法可以应用于对象识别领域的图像处理模型训练中。示例性地,在对动物进行识别时,对于某些动物可能样本图像较难获得,通过本公开实施例的模型训练方法同样可以解决训练模型在这些情况下的泛化性。
44.可以理解的是,本公开实施例的模型训练方法不限于上述场景,还可以应用于其他场景,例如游戏领域cg图像的图像处理模型等,此处不再一一例举。
45.下面结合具体实施例对本公开进行说明。
46.图1是根据一示例性实施例示出的一种模型训练方法的流程图,该方法包括:
47.s110,获取训练数据集,其中,在确定第二队列中存在数据的情况下,训练数据集为由第一队列的数据以及第二队列的数据构成的数据集合,第一队列中的数据为目标数据集中的目标数据,第二队列中的数据为应用第一增强策略对目标数据进行增强后的数据,第一增强策略对应的理论第一增强速率大于第一速率,速率表征每个数据进行增强的耗时。
48.可以理解的是,通常情况下,一个模型在经过多次迭代训练之后,可以成为训练完成的模型,并用于实际应用,例如用于前述的对路况进行识别的实际应用。而在每一次的迭代训练过程中,可以获取对应的训练数据集进行训练,例如,每次获取批处理数据(每个batch数据)进行训练。
49.其中,在每一次对待训练的模型进行训练之前,可以先获取用于对待训练的模型进行本次迭代训练的训练数据集。
50.本公开实施例中,每次在对本次迭代训练的训练数据集进行获取的时候,可以从第一队列中获取数据,并同时查询第二队列中是否存在数据,若第二队列中存在数据,则还可以从第二队列中获取数据,从而由第一队列以及第二队列中的数据来共同组成本次迭代训练的训练数据集。
51.在一些实施方式中,可以通过读取共享内存的方式来从第一队列中获取数据,以及查询第二队列中是否存在数据,并在存在数据的情况下从第二队列中获取数据。
52.其中,第一队列可以理解为存放应用第一增强策略进行数据增强前的数据的队列,即存放目标数据集中的数据的队列,也即,第一队列中的数据还未应用第一增强策略进行数据增强。第二队列可以理解为存放应用第一增强策略进行数据增强后的数据的队列,也即,第二队列中的数据均为应用第一增强策略进行数据增强后的数据。
53.也就是说,本公开实施例中,在第二队列中存在数据的情况下,可以同时获取应用第一增强策略进行数据增强前的数据以及应用第一增强策略进行数据增强后的数据来组成本次迭代训练的训练数据集。
54.在一些实施方式中,从第一队列中获取数据可以基于预设的第一数据获取概率进
行获取,例如针对第一队列中的每个数据,均有60%的概率被获取并添加到训练数据集,同理,从第二队列中获取数据同样可以预设的第二数据获取策略进行获取,例如,例如针对第二队列中的每个数据,均有40%的概率被获取并添加到训练数据集。在一些实施方式中,第一数据获取概率与第二数据获取概率可以相加为1。
55.可选地,第二数据获取概率的设置可以根据第二队列中的数据的数量来灵活设置。示例性地,当第二队列中的数据超过一定数量时,设置第二数据获取概率为一个较大值,而当第二队列中的数据小于或者等于一定数量时,设置第二数据获取概率为一个较小值,从而可以根据第二数据获取概率来设置第一数据获取概率。
56.本公开实施例中,第一速率可以是一个较大的速率,由于速率表征每个数据进行增强的耗时,那么当第一增强策略的增强速率大于该速率时,可以理解为对数据进行增强需要耗费较多的时间,对模型训练速度会产生影响。
57.s120,基于训练数据集对待训练的模型进行一次迭代训练,得到迭代训练后的模型,在迭代训练过程中,并行执行应用第一增强策略对目标数据集中除目标数据之外的剩余数据进行增强,并将增强后的数据加入第二队列的过程。
58.本公开实施例中,在得到训练数据集之后,便可以基于训练数据集对待训练的模型进行一次迭代训练,并且,在基于训练数据集对待训练的模型进行一次迭代训练的过程中,同时还会并行执行应用第一增强策略对目标数据集中除目标数据之外的剩余数据进行增强,并将增强后的数据加入第二队列的过程。如此,可以便于在进行后续的迭代训练之前,使得第二队列中持续存在数据。
59.其中,待训练的模型可以是初始神经网络模型,也可以是经过一定次迭代训练之后的中间模型。
60.采用上述方法,在获取训练数据集,并基于训练数据集对待训练的模型进行一次迭代训练的过程中,由于同时并行执行应用第一增强策略对目标数据集中除目标数据之外的剩余数据进行增强,并将增强后的数据加入第二队列的过程,从而使得耗时较长的第一增强策略可以在模型训练的过程中并行进行,如此,可以省略掉单独应用第一增强策略来对数据进行增强的时间消耗,从而提高了模型训练的效率,同时,由于可以基于第一队列中的数据以及应用第一增强策略对目标数据集中的目标数据进行增强后的数据共同完成对模型的一次迭代训练,使得可以同时兼顾第一增强策略更加优秀的增强效果,进而提高模型训练的效果,也即,本公开实施例的模型训练方法可以兼顾模型训练效率以及模型训练效果。并且,由于本公开实施例中,是在迭代训练的时候并行执行的数据增强过程,而不是一次性将所有的数据全部应用第一增强策略进行增强,因此,可以随着训练过程的进行灵活调整第一增强策略的增强参数,保持模型训练样本的灵活性。此外,进一步由于不是一次性将所有的数据全部应用第一增强策略进行增强,而是可以在生成部分应用第一增强策略进行增强后的数据之后,便通过队列存储并用于模型训练,因此,可以大大减少增强后的数据占用的存储空间。
61.结合前述内容可知,每次在对本次迭代训练的训练数据集进行获取的时候,可以从第一队列中获取数据,并同时查询第二队列中是否存在数据,那么在查询第二队列中是否存在数据的时候,还可能出现第二队列中不存在数据的情况,这种情况下,训练数据集为由第一队列的数据构成的数据集合,也即训练数据集中的数据可以全部由第一队列中的数
据构成。也就是说,即使第二队列中不存在数据,也可以由第一队列中的数据构成训练数据集,从而不必等待应用第一增强策略生成数据来加入到第二队列中,也即即使第二队列中不存在数据,也可以正常使用第一队列中的数据来进行模型训练。采用该方法,可以避免第二队列中不存在数据时导致模型迭代训练的额外等待时间,降低模型训练耗时,提高模型训练效率。
62.可以理解的是,这种情况可以对应于模型训练的初期的,例如,第一次迭代训练的时候,此时,第二队列中是不存在数据的。或者存在于降低对剩余数据进行增强的过程的增强速率之后。
63.可以理解的是,为了进一步提高数据增强效果,除了应用第一增强策略对数据进行增强之外,还可以应用其他的数据增强策略对数据进行增强处理,例如对数据应用第二增强策略进行增强处理。
64.在一些实施方式中,第二增强策略对应的理论第二增强速率小于第二速率,第二速率小于或者等于第一速率,也就是说第二速率可以是一个较小的速率,由于速率表征每个数据进行增强的耗时,那么当第二增强策略的增强速率小于该第二增强速率时,可以理解为对数据进行增强需要耗费较少的时间,不会对模型训练速度会产生影响,或者影响在能接受的程度内。
65.可选地,在一些情况下,应用第二增强策略对数据进行处理的过程可以在应用第二增强策略对数据进行处理的过程之前。在另一些情况下,应用第二增强策略对数据进行处理的过程也可以在应用第二增强策略对数据进行处理的过程之后。从而针对不同的情况,本公开实施例的模型训练方法可以有不同的过程。
66.在一些实施方式中,当对应应用第二增强策略对数据进行处理的过程在应用第二增强策略对数据进行处理的过程之后的情况下,本公开实施例中,基于训练数据集对待训练的模型进行一次迭代训练,得到迭代训练后的模型的步骤可以包括以下步骤:
67.应用第二增强策略对训练数据集进行增强处理,得到增强后的训练数据集,第二增强策略对应的理论第二增强速率小于第二速率,第二速率小于或者等于第一速率;基于增强后的训练数据集,对待训练的模型进行一次迭代训练,得到迭代训练后的模型。
68.本公开实施例中,在获取到训练数据集之后,可以应用第二增强策略对训练数据集进行增强处理,进一步得到增强后的训练数据集,然后,再基于增强后的训练数据集,对待训练的模型进行一次迭代训练,得到迭代训练后的模型。
69.这种情况下,第一队列中的数据可以是未经过任何增强处理的原始数据。从而目标数据集可以由收集到的原始数据构成。也就是说,本公开实施例中,可以获取未经过任何增强处理的原始数据以及对原始数据应用第一增强策略进行增强后的数据构成训练数据集,并进一步对训练数据集中的数据应用第二增强策略进行增强处理,从而再将应用第二增强策略进行增强处理的数据用于对对待训练的模型进行一次迭代训练,得到迭代训练后的模型。
70.在另一些实施方式中,当对应应用第二增强策略对数据进行处理的过程在应用第二增强策略对数据进行处理的过程之前的情况下,本公开实施例的方法还可以包括以下步骤:
71.应用第二增强策略对原始数据集中的原始数据进行处理,得到目标数据集,第二
增强策略对应的理论第二增强速率小于第二速率,第二速率小于或者等于第一速率。
72.本公开实施例中,原始数据集中的原始数据可以理解为前述提到的未经过任何增强处理的原始数据。在得到原始数据之后,可以进一步应用第二增强策略对原始数据集中的原始数据进行处理,得到目标数据集。由于第二增强策略对应的理论第二增强速率小于第二速率,因此,即使增加了第二增强策略进行处理的过程,也不会增加模型训练的耗时。
73.也就是说,本公开实施例中,可以先获取未经过任何增强处理的原始数据,接着将对原始数据应用第二增强策略进行增强后的数据构成目标数据集,然后再将目标数据集中的数据以及对目标数据集中的数据应用第一增强策略进行增强后的数据构成训练数据集,从而再将训练数据集中的数据用于对对待训练的模型进行一次迭代训练,得到迭代训练后的模型。
74.在一些实施方式中,为了实现第一增强策略对目标数据集中数据进行增强的过程,可以通过数据索引器获取本轮所有训练数据的索引,例如pytorch训练框架的sampler类,第一增强策略可以获取该索引,并通过选择索引号对应的数据来进行数据增强。
75.需要说明的是,本公开实施例中,应用第一增强策略对数据进行增强的过程以及应用第二增强策略对数据进行增强的过程可以是基于概率进行增强,该概率可以是50%,也就是说,在应用第一增强策略对某个数据进行增强的时候,可以有50%的可能是对该数据进行增强,也有50%的可能不会对该数据进行增强,而加入第二队列中的数据是对数据进行增强后生成的数据。同样地,在应用第二增强策略对某个数据进行增强的时候,同样可以有50%的可能是对该数据进行增强,也有50%的可能不会对该数据进行增强。
76.在一些实施方式中,第一增强策略使用的策略可以是相关技术中的传统离线数据增强中使用的增强策略,从而使得第一增强策略对应的理论增强速率大于第一速率。第二增强策略使用的策略可以是相关技术中的传统在线数据增强中使用的增强策略,从而使得第二增强策略对应的理论增强速率小于第二速率。
77.以数据为图像数据为例,第一增强策略可以包括基于深度学习的图像增强模型的策略和/或基于人工图像增强处理的策略,第二增强策略包括尺寸缩放算法、随机剪裁算法、对比度变换算法、光照变换算法、图像旋转算法以及色度变换算法中的一种或者多种的组合。
78.其中,人工图像增强处理的策略例如可以是人工对图像进行增强处理的策略,例如,人工进行对比度变换操作生成新图像,或者人工进行噪声添加操作生成新图像的策略等。
79.此外,考虑到队列容量有限,若第二队列中的数据产生速度大于消耗速度,队列会充满数据,从而再产生的增强后的数据就会浪费掉,由于浪费掉的数据的生成过程会占用处理资源,因此带来了处理资源浪费,而第二队列中的数据产生速度小于消耗速度,会使得用于模型训练的增强数据太少,模型泛化性改善有限,因此,为了均衡各方面利弊性,在一些实施方式中,可以通过控制策略来对并行执行的对剩余数据进行增强的过程进行控制,该控制策略可以理解为控制增强速率的快慢的策略。因此,在一些实施方式中,本公开实施的方法还可以包括以下步骤:
80.确定当前迭代训练对应的预测训练速率,以及当前的预测第一增强速率;至少基于预测训练速率以及预测第一增强速率,确定在当前迭代训练过程中,并行执行的对剩余
数据进行增强的过程的控制策略。
81.本公开实施例中,考虑到每次迭代训练的时间长短会受到计算机内部环境的影响,例如受到当前训练任务占用的cpu或者gpu的性能大小的影响,因此,当前迭代训练对应的实际训练速率与理论训练速率存在差异,而实际训练速率又无法事先得到,因此本公开实施例中,在确定控制策略的时候,可以使用预测训练速率,同理,第一增强策略也可以使用预测第一增强策略,从而在确定当前迭代训练对应的预测训练速率,以及当前的预测第一增强速率之后,便可以至少基于预测训练速率以及预测第一增强速率,确定在当前迭代训练过程中,并行执行的对剩余数据进行增强的过程的控制策略,以控制应用第一增强策略进行数据增强的速率的快慢,从而均衡各方面利弊性,达到在兼顾模型训练效率以及模型训练效果的同时,还节约处理资源的效果。
82.在一些实施方式中,预测训练速率可以根据当前时刻之前的预设时间段内的历史训练速率进行推断,此外,考虑到训练速率通常不会人为调整限制,因此,根据历史训练速率可以推断模型训练对应的处理资源的变化,从而根据该变化以及前一时刻的对剩余数据进行增强的过程的增强速率,可以进一步推断得到预测第一增强速率。
83.其中,可以理解的是,预测训练速率以及预测第一增强速率的大小有两种可能的情况,一种是预测第一增强速率小于或者等于预测训练速率的情况,另一种是预测第一增强速率大于预测训练速率的情况,那么在不同的情况下,控制策略的具体确定方法不同。
84.在一些实施方式中,当预测第一增强速率小于或者等于预测训练速率时,至少基于预测训练速率以及预测第一增强速率,确定在当前迭代训练过程中,并行执行的对剩余数据进行增强的过程的控制策略,可以包括以下步骤:
85.在预测第一增强速率小于或者等于预测训练速率的情况下,确定保持对剩余数据进行增强的过程的增强速率。
86.其中,保持对剩余数据进行增强的过程的增强速率也可以理解为不对剩余数据进行增强的过程的增强速率进行调整限制。
87.本公开实施例中,由于预测第一增强速率小于或者等于预测训练速率,说明第二队列中的数据的生成速率较慢,因此,可以不对剩余数据进行增强的过程的增强速率进行调整限制。
88.在另一些实施方式中,当预测第一增强速率大于预测训练速率时,至少基于预测训练速率以及预测第一增强速率,确定在当前迭代训练过程中,并行执行的对剩余数据进行增强的过程的控制策略,可以包括以下步骤:
89.在预测第一增强速率大于预测训练速率的情况下,基于第二队列中的数据的空置率,确定控制策略。
90.本公开实施例中,由于预测第一增强速率大于预测训练速率,说明第二队列中的数据的生成速率较快,若同时第二队列中的数据的数量太多的话,就容易造成队列满的情况,从而导致处理资源浪费。因此,可以进一步结合第二队列中的数据的空置率,确定控制策略。
91.其中,空置率可以理解为队列中除去存放的数据之外,剩余的容量占队列总容量的比例。示例性的,假设第二队列中容量为存放100个数据,当前已经存放了40个数据,则第二队列当前的空置率为0.6。其中,空置率大,说明队列剩余容量大,空置率小,说明队列剩
余容量小。
92.在一些实施方式中,基于第二队列中的数据的空置率,确定控制策略,具体可以包括以下步骤:
93.在空置率大于第一数值的情况下,确定保持对剩余数据进行增强的过程的增强速率;在空置率小于或者等于第一数值的情况下,确定降低对剩余数据进行增强的过程的增强速率。
94.本公开实施例中,空置率大于第一数值,说明第二队列中的数据量较少,虽然预测第一增强速率大于预测训练速率,但是不易产生队列满的情况,此时,依然可以保持对剩余数据进行增强的过程的增强速率,而若预测第一增强速率大于预测训练速率,且空置率小于或者等于第一数值,则说明容易产生队列满的情况,此时,可以降低对剩余数据进行增强的过程的增强速率。
95.其中,降低对剩余数据进行增强的过程的增强速率可以有多种方式,例如,降低分配给第一增强策略的处理资源的大小,或者,控制第一增强策略以间断的方式运行,例如运行第一控制策略2分钟,然后再停止运行第一控制策略30秒。
96.在一些实施方式中,控制第一增强策略以间断的方式运行时,可以根据第二队列的空置率来决定,例如,当第二队列的空置率调节到大于第一数值之后,则可以保持对剩余数据进行增强的过程的增强速率,即不再对剩余数据进行增强的过程的增强速率进行调整限制。
97.下面结合图2所示的模型训练方法的流程示意图,对初始神经网络模型进行第一次迭代训练开始,以一个示例来对本公开实施例的模型训练方法的过程进行说明。该初始神经网络模型例如可以是自动驾驶领域用到的图像识别模型对应的初始神经网络模型。
98.如图2所示,首先获取训练数据集,由于在第一次迭代的时候,只有采集到的原始数据,这个时候,数据索引器可以通过共享内存的方式仅从第一队列中获取一个batch的原始数据构成第一次的训练数据集,接着再对第一次的训练数据集应用第二增强策略进行增强,得到第一次增强后的训练数据集,并将第一次增强后的训练数据集给到数据加载器,以便于用于初始神经网络模型的第一次迭代训练。
99.在将第一次增强后的训练数据集给到数据加载器,并用于对初始神经网络模型进行第一次迭代训练的时候,可以同时开始应用第一增强策略对第一队列中的原始数据进行数据增强的过程。
100.这个时候,可以有两种情况,第一种情况,第一增强策略对应的增强速率较大,从而数据索引器在通过共享内存的方式获取第二次迭代训练的第二次训练数据集的时候,第二队列中依然没有数据,此时,依然只能从第一队列中再次获取一个batch的原始数据构成第二次的训练数据集,接着再对第二次的训练数据集应用第二增强策略进行增强,得到第二次增强后的训练数据集,并将第二次增强后的训练数据集给到数据加载器,以便于用于初始神经网络模型的第二次迭代训练,在第二次迭代训练的过程中,继续进行前一次的应用第一增强策略对第一队列中的原始数据进行数据增强的过程,若该过程在第二次迭代训练的过程中完成,则可以将增强后的数据加入到第二队列中,如此,在数据索引器获取第三次迭代训练的第三次训练数据集的时候,便可以从第一队列以及第二队列中获取数据来构成一个batch的数据,接着再对第三次的训练数据集应用第二增强策略进行增强,得到第三
次增强后的训练数据集,并将第三次增强后的训练数据集给到数据加载器,以便于用于初始神经网络模型的第三次迭代训练。后续的多次迭代训练过程,则可以以此类推。
101.第二种情况,第一增强策略对应的增强速率较小,使得在对初始神经网络模型进行第一次迭代训练的过程中,便已经生成了增强后的数据并加入到了第二队列中,从而数据索引器在获取第二次迭代训练的第二次训练数据集的时候,便可以通过共享内存的方式从第一队列以及第二队列中获取数据来构成一个batch的训练数据集,接着再对第二次的训练数据集应用第二增强策略进行增强,得到第二次增强后的训练数据集,并将第二次增强后的训练数据集给到数据加载器,以便于用于初始神经网络模型的第二次迭代训练。同样地,后续的多次迭代训练过程,则可以以此类推。
102.图3是根据一示例性实施例示出的一种模型训练装置300的结构框图,参照图3,该装置包括:
103.训练数据集获取模块310,被配置为获取训练数据集,其中,在确定第二队列中存在数据的情况下,所述训练数据集为由第一队列的数据以及第二队列的数据构成的数据集合,所述第一队列中的数据为目标数据集中的数据,所述第二队列中的数据为应用第一增强策略对所述目标数据集中的目标数据进行增强后的数据,所述第一增强策略对应的理论第一增强速率大于第一速率,所述速率表征每个数据进行增强的耗时;
104.迭代训练模块320,被配置为基于所述训练数据集对待训练的模型进行一次迭代训练,得到迭代训练后的模型,在所述迭代训练过程中,并行执行应用所述第一增强策略对所述目标数据集中除所述目标数据之外的剩余数据进行增强,并将增强后的数据加入所述第二队列的过程。
105.在一些实施例中,迭代训练模块320,包括:
106.增强后的训练数据集获取子模块,被配置为应用第二增强策略对所述训练数据集进行增强处理,得到增强后的训练数据集,所述第二增强策略对应的理论第二增强速率小于第二速率,所述第二速率小于或者等于所述第一速率;
107.迭代训练子模块,被配置为基于所述增强后的训练数据集,对待训练的模型进行一次迭代训练,得到迭代训练后的模型。
108.在一些实施例中,装置300还包括:
109.目标数据集获取模块,被配置为应用第二增强策略对原始数据集中的原始数据进行处理,得到所述目标数据集,所述第二增强策略对应的理论第二增强速率小于第二速率,所述第二速率小于或者等于所述第一速率。
110.在一些实施例中,装置300还包括:
111.预测模块,被配置为确定当前迭代训练对应的预测训练速率,以及当前的预测第一增强速率;
112.控制策略确定模块,被配置为至少基于所述预测训练速率以及所述预测第一增强速率,确定在当前迭代训练过程中,并行执行的对所述剩余数据进行增强的过程的控制策略。
113.在一些实施例中,控制策略确定模块,包括:
114.第一策略确定子模块,被配置为在所述预测第一增强速率小于或者等于所述预测训练速率的情况下,确定保持对所述剩余数据进行增强的过程的增强速率。
115.在一些实施例中,控制策略确定模块,包括:
116.第二策略确定子模块,被配置为在所述预测第一增强速率大于所述预测训练速率的情况下,基于所述第二队列中的数据的空置率,确定所述控制策略。
117.在一些实施例中,第二策略确定子模块,包括:
118.第一确定单元,被配置为在所述空置率大于第一数值的情况下,确定保持对所述剩余数据进行增强的过程的增强速率;
119.第二确定单元,被配置为在所述空置率小于或者等于所述第一数值的情况下,确定降低对所述剩余数据进行增强的过程的增强速率。
120.在一些实施例中,在确定所述第二队列中不存在数据的情况下,所述训练数据集为由所述第一队列的数据构成的数据集合。
121.在一些实施例中,所述数据为图像数据,所述第一增强策略包括基于深度学习的图像增强模型的策略和/或基于人工图像增强处理的策略,第二增强策略包括尺寸缩放算法、随机剪裁算法、对比度变换算法、光照变换算法、图像旋转算法以及色度变换算法中的一种或者多种的组合。
122.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
123.本公开还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开提供的模型训练方法的步骤。
124.图4是根据一示例性实施例示出的一种电子设备400的框图。例如,电子设备400可以是手机、平板电脑以及笔记本等。
125.参照图4,电子设备400可以包括以下一个或多个组件:处理组件402,存储器404,电力组件406,多媒体组件408,音频组件410,输入/输出(i/o)的接口412,传感器组件414,以及通信组件416。
126.处理组件402通常控制电子设备400的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件402可以包括一个或多个处理器410来执行指令,以完成上述的模型训练方法的全部或部分步骤。此外,处理组件402可以包括一个或多个模块,便于处理组件402和其他组件之间的交互。例如,处理组件402可以包括多媒体模块,以方便多媒体组件408和处理组件402之间的交互。
127.存储器404被配置为存储各种类型的数据以支持在电子设备400的操作。这些数据的示例包括用于在电子设备400上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器404可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
128.电力组件406为电子设备400的各种组件提供电力。电力组件406可以包括电源管理系统,一个或多个电源,及其他与为电子设备400生成、管理和分配电力相关联的组件。
129.多媒体组件408包括在电子设备400和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感
器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件408包括一个前置摄像头和/或后置摄像头。当电子设备400处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
130.音频组件410被配置为输出和/或输入音频信号。例如,音频组件410包括一个麦克风(mic),当电子设备400处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器404或经由通信组件416发送。在一些实施例中,音频组件410还包括一个扬声器,用于输出音频信号。
131.i/o接口412为处理组件402和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
132.传感器组件414包括一个或多个传感器,用于为电子设备400提供各个方面的状态评估。例如,传感器组件414可以检测到电子设备400的打开/关闭状态,组件的相对定位,例如组件为电子设备400的显示器和小键盘,传感器组件414还可以检测电子设备400或电子设备400一个组件的位置改变,用户与电子设备400接触的存在或不存在,电子设备400方位或加速/减速和电子设备400的温度变化。传感器组件414可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件414还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件414还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
133.通信组件416被配置为便于电子设备400和其他设备之间有线或无线方式的通信。电子设备400可以接入基于通信标准的无线网络,如wifi,2g、3g、4g、5g等,或它们的组合。在一个示例性实施例中,通信组件416经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件416还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
134.在示例性实施例中,电子设备400可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述模型训练方法。
135.在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器404,上述指令可由电子设备400的处理器410执行以完成上述模型训练方法。例如,非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
136.在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的模型训练方法的代码部分。
137.本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技
术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
138.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

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

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

相关文献