1.本发明涉及计算机技术领域,尤其涉及一种基于多个样本集的模型训练的方法、装置、设备及介质。
背景技术:
2.随着人工智能算法在各种生产系统中应用越来越广泛,对人工智能的精度要求也越来越高。其中,神经网络训练作为人工智能概念中最具代表性的算法,被广泛应用于人脸识别、分拣等相关的神经网络分类模型中,以人脸识别为例,人脸识别中,随着人脸数据集的不断增加,模型精度也在不断提升。但是足够泛化的人脸识别模型很难实现,因此在特定场景下的精度经常表现出不足识别的准确性不足,同时随着隐私保护意识的普及,人脸数据的收集也越加困难,而现有迁移学习(fintune)很难得到较为精准的模型。而采用少量样本集进行训练,指定场景下的高精度难以保证。因此,如何利用少量样本集对神经网络分类模型进行训练,得到一个精度较高的神经网络分类模型是亟需解决的。
技术实现要素:
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.图1是本发明实施例的模型训练的方法的流程示意图;
52.图2是本发明实施例的模型训练的方法的神经网络的演进示意图;
53.图3是本发明的实施例模型训练的方法步骤s300的流程示意图;
54.图4是本发明的实施例模型训练的方法步骤s400的流程示意图;
55.图5是本发明实施例的模型训练的装置的模块结构图;
56.图6是本发明实施例的电子设备的结构图。
具体实施方式
57.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
58.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
59.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
60.随着人工智能算法在各种生产系统中应用越来越广泛,对人工智能的精度要求也越来越高。其中,神经网络训练作为人工智能概念中最具代表性的算法,被广泛应用于人脸识别、分拣等相关的神经网络分类模型中,以人脸识别为例,人脸识别中,随着人脸数据集的不断增加,模型精度也在不断提升。但是足够泛化的人脸识别模型很难实现,因此在特定场景下的精度经常表现出不足识别的准确性不足,同时随着隐私保护意识的普及,人脸数据的收集也越加困难,而现有迁移学习(fintune)很难得到较为精准的模型。而采用少量样本集进行训练,指定场景下的高精度难以保证。因此,如何利用少量样本集对神经网络分类模型进行训练,得到一个精度较高的神经网络分类模型是亟需解决的。基于此,本发明的实施例提出的基于多个样本集的模型训练的方法、装置、设备及介质,能在样本集较少时,提升神经网络分类模型的精度。
61.第一方面,本发明实施例提出一种基于多个样本集的模型训练的方法,如图1和图2所示,方法包括:
62.步骤s100、获取通用样本集以及特定样本集。
63.需说明的是,特定样本集表示特定场景的样本数据的集合,通用样本集表示包括多种场景的样本数据的集合,通用样本集中的通用数据大部分是通过公共渠道获取的样本数据,通用样本集中可以包含特定样本集中对应场景的样本数据。通用样本集、特定样本集可以是人脸数据、食品等待分类的样本。
64.步骤s200、将通用样本集中的通用数据、特定样本集中的特定数据按预设的第一样本比例组合,得到第一训练样本集。
65.需说明的是,第一样本比例表示通用数据与特定数据的相对占比,优选的第一样本比例的初始值为通用数据相对于特定数据占比100%,即第一训练样本集中初始全部为通用数据。在另一些实施例中,第一样本比例也可以设置为通用数据相对于特定数据占比为a%,a为用户预设的值,且初始状态下,通用数据占比相对较高,如占比80%。
66.示例性的,取通用样本集中的部分通用数据(如60%)作为第一训练样本集,又如,示例性的,取通用样本集中的部分通用数据,特定样本集中的部分特定数据,得到第一训练样本集。又如,去通用样本集中全部的通用数据作为第一训练样本集。
67.步骤s300、获取第一神经网络,基于第一训练样本集对第一神经网络进行多轮通用训练,直至满足第一训练结束条件,得到第二神经网络;其中,在至少一轮通用训练中,调整第一训练样本集中通用数据、特定数据的相对占比。
68.需说明的是,对于每一相对占比对应的第一训练样本集均会有至少一轮的训练。存在多轮的相对占比调整时,每一轮的调整均会提高特定数据的相对占比,示例性的,第一次相对占比调整时,通用数据占比为70%,特定数据占比30%,则在下一次相对占比调整时,通用数据占比调整为60%,特定数据占比30%。通过逐步增加特定数据的占比提升第一神经网络的分类精度。
69.需说明的是,在通用训练过程中,每一轮的训练完后,第一神经网络均会有一个损失值的计算,可以根据损失值的变化趋势判断是否调整相对占比,如损失值下降则调整相对占比直至满足第一训练结束条件,或者在损失值下降到预设的一个值后,连续多轮进行一定比例的相对占比的调整直至满足第一训练结束条件。
70.需说明的是,在通用训练过程中,可以获取步骤s100以外的通用数据以及特定数据,从而扩充训练过程中第一训练样本集的样本数。
71.步骤s400、基于特定样本集对第二神经网络进行至少一轮特定场景训练,直至满足第二训练结束条件,得到第三神经网络。
72.需说明的是,第二训练结束条件可以是特定的轮数,第二训练结束条件也可以是在损失值呈现上升后,当前轮的损失值小于或等于第二神经网络最初的损失值。特定场景训练的轮数是可以动态变化的,例如,在进行训练时,在当前轮的特定场景训练中,第二神经网络的损失值(loss)没有上升,则表示该第二神经网络中已经包含足够的指定场景信息,则可以将特定场景训练的轮数n2调整为n2=n1
×
(ca/cs),其中,n1为通用训练的轮数,ca表示步骤s100中特定样本集的样本数量;cs表示步骤s100中通用样本集的样本数量。
73.步骤s500、将通用样本集中的通用数据、特定样本集中的特定数据按预设的第二样本比例组合,得到第二训练样本集。
74.需说明的是,第二样本比例是固定的比例,在进行第三神经网络训练过程中,第二训练样本集中通用数据和特定数据的相对占比是不变的。
75.需说明的是,在一些实施例中,优选的,将第二样本比例设置为ca/cs。
76.步骤s600、基于第二训练样本集对第三神经网络进行至少一轮的收敛训练,直至满足第三训练结束条件,得到第四神经网络。
77.需说明的是,在一些实施例中,可以在训练过程中对通用数据和特定数据进行扩
充,但是保持扩充后的通用数据和特定数据的相对占比不变(即扩充后的第二训练样本集中特定数据与通用数据的比值仍为ca/cs),从而提升第三神经网络模型的识别精度。
78.需说明的是,第三训练结束条件可以是预设的训练轮数或者是损失值小于等于预设值,训练轮数在训练过程中会根据对应的训练模型的损失值的变化进行动态增减。
79.步骤s700、基于特定样本集对第四神经网络进行至少一轮的收敛训练,直至满足收敛条件,得到目标神经网络分类模型。
80.因此,通过将通用样本集、特定样本集进行不同方式的组合得到对应的训练集,并基于不同的训练集分别进行第一神经网络的通用训练、第二神经网络的特定训练、第三神经网络以及第四神经网络的收敛训练,从而实现在特定样本集较少的情况下,通过多次反复调整样本数据类型比例从而增强目标神经网络分类模型的识别精度,解决在样本集较少时,提升神经网络分类模型的精度的问题。
81.示例性的,参照图2所示,获取到通用样本集和特定样本集后,通过调整用于训练样本集的不同类型的样本数据的相对占比分别进行训练,得到目标神经网络分类模型。
82.可理解的是,参照图3所示,步骤s300、基于第一训练样本集对第一神经网络进行多轮通用训练,直至满足第一训练结束条件,得到第二神经网络;其中,在至少一轮通用训练中,调整第一训练样本集中通用数据、特定数据的相对占比,包括:
83.步骤s310、基于第一训练样本集对第一神经网络进行当前轮的通用训练。
84.步骤s320、在当前轮的通用训练结束时,获取第一神经网络的收敛数据。
85.需说明的是,收敛数据表征的第一神经网络的收敛状态,基于第一神经网络的损失值计算得到。示例性的,设定初始状态下,通用场景损失值为loss0,当其中一轮的通用训练结束时,将该轮的通用场景损失值lossn对应的下降幅度1-lossn/loss0定义为收敛数据。
86.步骤s330、将第一神经网络的收敛数据与预设的收敛数据进行匹配。
87.步骤s340、当第一神经网络的收敛数据与预设的收敛数据匹配时,确定当前轮的通用训练满足第一训练结束条件,将当前的第一神经网络作为第二神经网络。
88.示例性的,通用场景损失值lossn对应的下降幅度1-lossn/loss0与预设值(如ca/cs)匹配,则结束通用训练。
89.步骤s350、当第一神经网络的收敛数据与预设的收敛数据不匹配时,根据第一神经网络的通用场景损失值判断是否满足样本调整条件;其中,通用场景损失值为根据当前轮的第一神经网络的输出数据与预期输出数据计算得到。
90.步骤s360、当满足样本调整条件,调整第一训练样本集中通用数据、特定数据的相对占比,并基于调整后的第一训练样本集进行下一轮的通用训练。
91.步骤s370、当不满足样本调整条件,基于当前轮的第一训练样本集进行下一轮的通用训练。
92.可理解的是,步骤s350中,根据第一神经网络的通用场景损失值判断是否满足样本调整条件,包括:获取特定样本集的样本量、以及特定样本集与通用样本集的差异程度;当特定样本集的样本量少于预设数量阈值且差异程度小于预设差异阈值,在通用场景损失值满足预设损失阈值时,确定为满足样本调整条件。
93.需说明的是,假设目标神经网络分类模型的损失值设定为lossd,则损失阈值lossm=lossd±
δloss,即lossd在loss
d-δloss以及lossd+δloss范围内表示满足预设损失阈
值,此时,满足样本调整条件,进行相对占比的调整。其中,δloss为设定的一个较小的值。通过这种方式可以进一步提升特定数据的样本较少时,目标神经网络分类模型的识别精度。
94.需说明的是,调整相对占比表示增加特定数据的相对占比。
95.可理解的是,步骤s350中,根据第一神经网络的通用场景损失值判断是否满足样本调整条件,还包括:
96.在确定任意一项预设前提条件被满足时,判断通用场景损失值的变化趋势是否呈下降趋势,其中,预设前提条件包括以下任意一项:特定样本集的样本量大于或等于预设数量阈值;或者,差异程度大于或等于预设差异阈值;
97.当通用场景损失值的变化趋势呈下降趋势,确定为满足样本调整条件。
98.需说明的是,在特定样本集的样本量大于或等于预设的数量时,可以在变化趋势下降时,即引入特定数据。需说明的是,预设值为一个较大的值。在差异程度较大时,也可以直接在变化趋势呈下降趋势时,即引入特定数据进行训练,以减少训练次数的同时提升特定场景下的识别精度。
99.可理解的是,步骤s320、在当前轮的通用训练结束时,获取第一神经网络的收敛数据,包括:在当前轮的通用训练结束时,计算当前轮的通用场景损失值对应的下降幅度;将下降幅度作为第一神经网络的收敛数据;将通用样本集与特定样本集的样本比值作为预设的收敛数据。
100.需说明的是,该步骤中的通用样本集与特定样本集分别对应步骤s100中的通用样本集与特定样本集。示例性的,设定初始状态下,通用场景损失值为loss0,当其中一轮的通用训练结束时,其将对应的通用场景损失值lossn对应的下降幅度1-lossn/loss0作为收敛数据,当收敛数据1-lossn/loss0等于或小于满足通用样本集与特定样本集的样本比值(ca/cs),则结束通用训练。此时,预设数量阈值、预设差异阈值依据样本比值进行设置。
101.可理解的是,参照图4所示,步骤s400、基于特定样本集对第二神经网络进行至少一轮特定场景训练,直至满足第二训练结束条件,得到第三神经网络,包括:
102.步骤s410、将特定样本集输入到第二神经网络中进行第一轮特定场景训练。
103.步骤s420、判断特定场景训练的特定场景损失值是否呈上升趋势。
104.步骤s430、当特定场景训练的特定场景损失值呈上升趋势,将特定样本集多次输入到第二神经网络中进行多次训练,直至满足第二训练结束条件,第二训练结束条件为特定场景损失值小于等于通用训练结束时的通用场景损失值。
105.需说明的是,上升趋势是相对于通用场景结束时的通用场景的损失值而言的。
106.步骤s440、当特定场景损失值呈非上升趋势,根据通用样本集与特定样本集的样本比值以及通用训练的通用训练轮数,调整特定场景训练的特定训练轮数;并通过特定样本集对特定场景训练进行特定训练轮数的训练。
107.需说明的是,当特定场景损失值,即loss没有上升,则说明第二神经网络已经包含足够的指定场景信息。
108.示例性的,可以将训练轮数设置为n2=n1
×
(ca/cs),其中,n1为通用训练的轮数,ca表示步骤s100中特定样本集的样本数量;cs表示步骤s100中通用样本集的样本数量。
109.步骤s450、将训练完成的第二神经网络作为第三神经网络。
110.可理解的是,步骤s600、基于第二训练样本集对第三神经网络进行至少一轮的收敛训练,直至满足第三训练结束条件,得到第四神经网络,包括:将第二训练样本集输入神经网络分类模型中重复进行多次收敛训练直至满足第三训练结束条件,得到第四神经网络,其中,第三训练结束条件为收敛训练的收敛损失值呈下降趋势。
111.需说明的是,当收敛损失值呈下降趋势,则表示第三神经网络模型还有训练的空间,此时可以进行特定样本集进行最后的收敛,进而提升目标神经网络分类模型的识别精度。
112.需说明的是,对于步骤s700而言,当其进行多轮训练后,其损失值收敛于预设的门限值(收敛条件)时,则可以停止训练;其中,多轮训练可参照步骤s410~步骤s450进行训练,并将满足第二训练结束条件时的神经网络作为目标神经网络分类模型。
113.可理解的是,在步骤s300和/或步骤s400之前,所述方法还包括:
114.获取通用增量数据以及特定增量数据。
115.对应的,步骤s300中基于原始的的通用样本集、特定样本集以及通用增量数据、特定增量数据调整第一训练样本集中所述通用数据、所述特定数据的相对占比。
116.对应的,步骤s400基于原始的特定样本集、以及特定增量数据进行特定场景训练。
117.需说明的是,通用增量数据以及特定增量数据是用于增加用于模型训练的样本的多变性,从而可以提升目标神经网络分类模型的识别精度。增量数据、特定增量数据可以视实际的情况在不同的阶段增加不同数量的样本数据。如在步骤s300执行时,增加a个通用增量数据,在步骤s400执行时,增加b个通用数据量。
118.需说明的是,当其他条件相同时,神经网络训练时,一般迭代次数越多得到的模型精度越高,但迭代次数更多也会使模型更拟合于数据集,在数据集外的应用场景中表现不够好,因此,基于本发明上述实施例的方法,训练时在不同batch中使用不同场景的数据集可以使模型相当于得到不同数据集进行多次训练,同时拟合多个数据集,降低了数据集混合训练时较少量的样本类型被淹没的概率,从而降低了导致模型在特定场景精度不足,或者单纯对特定场景数据集进行增广训练而使模型过拟合的情况的概率,进而可以在指定场景的数据量比较少时尽快训练模型,不同类型的样本数据集能在不同batch中的分布得到预训练和fintune的效果,并保持了目标神经分类模型预训练的泛化性,使目标神经分类模型在指定场景中具有高精度。
119.本发明的方法可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
120.第二方面,如图5所示,本发明实施例还提供一种基于多个样本集的模型训练的装置,包括:
121.获取模块100,用于获取通用样本集以及特定样本集;
122.第一训练样本集处理模块200,用于将通用样本集中的通用数据、特定样本集中的特定数据按预设的第一样本比例组合,得到第一训练样本集;
123.通用训练模块300,用于获取第一神经网络,基于第一训练样本集对第一神经网络进行多轮通用训练,直至满足第一训练结束条件,得到第二神经网络;其中,在至少一轮通用训练中,调整第一训练样本集中通用数据、特定数据的相对占比;
124.特定场景训练模块400,用于基于特定样本集对第二神经网络进行至少一轮特定场景训练,直至满足第二训练结束条件,得到第三神经网络;
125.第二训练样本集处理模块500,用于将通用样本集中的通用数据、特定样本集中的特定数据按预设的第二样本比例组合,得到第二训练样本集;
126.第一收敛训练模块600,用于基于第二训练样本集对第三神经网络进行至少一轮的收敛训练,直至满足第三训练结束条件,得到第四神经网络;
127.第二收敛训练模块700,用于基于特定样本集对第四神经网络进行至少一轮的收敛训练,直至满足收敛条件,得到目标神经网络分类模型。
128.需说明的是在一些实施例中,装置还包括样本集处理模块800,样本集处理模块用于对扩充通用样本集以及特定样本集,从而使得在通用训练模块、特定场景训练模块、第一收敛训练模块以及第二收敛训练模块中使用的样本数据具有多样化,进而进一步提升目标神经网络分类模型的识别精度。
129.第三方面,本发明实施例还提供了一种电子设备,包括:
130.至少一个处理器,以及,
131.与至少一个处理器通信连接的存储器;其中,
132.存储器存储有指令,指令被至少一个处理器执行,以使至少一个处理器执行指令时实现如本发明实施例上述实施例的基于多个样本集的模型训练的管理方法。
133.下面结合图6对计算机设备的硬件结构进行详细说明。该计算机设备包括:处理器910、存储器920、输入/输出接口930、通信接口940和总线950。
134.处理器910,可以采用通用的cpu(central processin unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本发明实施例所提供的技术方案;
135.存储器920,可以采用rom(read only memory,只读存储器)、静态存储设备、动态存储设备或者ram(random access memory,随机存取存储器)等形式实现。存储器920可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器920中,并由处理器910来调用执行本发明实施例的模型的训练方法或者执行本发明实施例的基于多个样本集的模型训练的管理方法;
136.输入/输出接口930,用于实现信息输入及输出;
137.通信接口940,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信;和总线950,在设备的各个组件(例如处理器910、存储器920、输入/输出接口930和通信接口940)之间传输信息;
138.其中,处理器910、存储器920、输入/输出接口930和通信接口940通过总线950实现彼此之间在设备内部的通信连接。
139.第四方面,本发明实施例还提供一种存储介质,该存储介质是计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使计算机执行本发明实施例的基于多个样本集的模型训练的方法。
140.存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
141.可理解为,本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令用于执行上述基于多个样本集的模型训练的管理方法。
142.示例性的,计算机执行如图1所示的步骤s100~步骤s700;又例如,计算机执行如图1所示的步骤s100~步骤s700、如图4所示的,步骤s410~步骤s450。又例如,计算机执行如图1所示的步骤s100~步骤s700、如图3所示的步骤s310~步骤s370。
143.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
144.以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
145.本发明实施例描述的实施例是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
146.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
147.本发明的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清
楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
148.应当理解,在本发明中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
149.以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。
技术特征:
1.一种基于多个样本集的模型训练的方法,其特征在于,包括:获取通用样本集以及特定样本集;将所述通用样本集中的通用数据、所述特定样本集中的特定数据按预设的第一样本比例组合,得到第一训练样本集;获取第一神经网络,基于第一训练样本集对第一神经网络进行多轮通用训练,直至满足第一训练结束条件,得到第二神经网络;其中,在至少一轮所述通用训练中,调整所述第一训练样本集中所述通用数据、所述特定数据的相对占比;基于所述特定样本集对所述第二神经网络进行至少一轮特定场景训练,直至满足第二训练结束条件,得到第三神经网络;将所述通用样本集中的通用数据、所述特定样本集中的特定数据按预设的第二样本比例组合,得到第二训练样本集;基于所述第二训练样本集对所述第三神经网络进行至少一轮的收敛训练,直至满足第三训练结束条件,得到第四神经网络;基于所述特定样本集对所述第四神经网络进行至少一轮的收敛训练,直至满足收敛条件,得到目标神经网络分类模型。2.根据权利要求1所述的模型训练的方法,其特征在于,所述基于所述第一训练样本集对第一神经网络进行多轮通用训练,直至满足第一训练结束条件,得到第二神经网络;其中,在至少一轮所述通用训练中,调整所述第一训练样本集中所述通用数据、所述特定数据的相对占比,包括:基于所述第一训练样本集对所述第一神经网络进行当前轮的所述通用训练;在当前轮的所述通用训练结束时,获取所述第一神经网络的收敛数据;将所述第一神经网络的收敛数据与预设的收敛数据进行匹配;当所述第一神经网络的收敛数据与预设的收敛数据匹配时,确定当前轮的所述通用训练满足第一训练结束条件,将当前的所述第一神经网络作为第二神经网络;当所述第一神经网络的收敛数据与预设的收敛数据不匹配时,根据所述第一神经网络的通用场景损失值判断是否满足样本调整条件;其中,所述通用场景损失值为根据当前轮的所述第一神经网络的输出数据与预期输出数据计算得到;当满足样本调整条件,调整所述第一训练样本集中所述通用数据、所述特定数据的相对占比,并基于调整后的所述第一训练样本集进行下一轮的所述通用训练;当不满足样本调整条件,基于当前轮的所述第一训练样本集进行下一轮的所述通用训练。3.根据权利要求2所述的模型训练的方法,其特征在于,所述根据通用场景损失值判断是否满足样本调整条件,包括:获取所述特定样本集的样本量、以及所述特定样本集与所述通用样本集的差异程度;当所述特定样本集的样本量少于预设数量阈值且所述差异程度小于预设差异阈值,在所述通用场景损失值满足预设损失阈值时,确定为满足样本调整条件。4.根据权利要求3所述的模型训练的方法,其特征在于,所述根据通用场景损失值判断是否满足样本调整条件,还包括:在确定任意一项预设前提条件被满足时,判断所述通用场景损失值的变化趋势是否呈
下降趋势,其中,所述预设前提条件包括以下任意一项:所述特定样本集的样本量大于或等于预设数量阈值;或者,所述差异程度大于或等于预设差异阈值;当所述通用场景损失值的变化趋势呈下降趋势,确定为满足样本调整条件。5.根据权利要求2所述的模型训练的方法,其特征在于,所述在当前轮的所述通用训练结束时,获取所述第一神经网络的收敛数据,包括:在当前轮的所述通用训练结束时,计算当前轮的所述通用场景损失值对应的下降幅度;将所述下降幅度作为所述第一神经网络的收敛数据;将所述通用样本集与所述特定样本集的样本比值作为预设的收敛数据。6.根据权利要求1所述的模型训练的方法,其特征在于,所述基于所述特定样本集对所述第二神经网络进行至少一轮特定场景训练,直至满足第二训练结束条件,得到第三神经网络,包括:将所述特定样本集输入到所述第二神经网络中进行第一轮特定场景训练;判断所述特定场景训练的特定场景损失值是否呈上升趋势;当所述特定场景训练的特定场景损失值呈上升趋势,将所述特定样本集多次输入到所述第二神经网络中进行多次训练,直至满足第二训练结束条件,所述第二训练结束条件为所述特定场景损失值小于等于所述通用训练结束时的通用场景损失值;当所述特定场景损失值呈非上升趋势,根据所述通用样本集与所述特定样本集的样本比值以及所述通用训练的通用训练轮数,调整所述特定场景训练的特定训练轮数;并通过所述特定样本集对所述特定场景训练进行所述特定训练轮数的训练;将训练完成的所述第二神经网络作为第三神经网络。7.根据权利要求1所述的模型训练的方法,其特征在于,所述基于所述第二训练样本集对所述第三神经网络进行至少一轮的收敛训练,直至满足第三训练结束条件,得到第四神经网络,包括:将所述第二训练样本集输入所述神经网络分类模型中重复进行多次收敛训练直至满足第三训练结束条件,得到所述第四神经网络,其中,所述第三训练结束条件为所述收敛训练的收敛损失值呈下降趋势。8.一种基于多个样本集的模型训练的装置,其特征在于,包括:获取模块,用于获取通用样本集以及特定样本集;第一训练样本集处理模块,用于将所述通用样本集中的通用数据、所述特定样本集中的特定数据按预设的第一样本比例组合,得到第一训练样本集;通用训练模块,用于获取第一神经网络,基于第一训练样本集对第一神经网络进行多轮通用训练,直至满足第一训练结束条件,得到第二神经网络;其中,在至少一轮所述通用训练中,调整所述第一训练样本集中所述通用数据、所述特定数据的相对占比;特定场景训练模块,用于基于所述特定样本集对所述第二神经网络进行至少一轮特定场景训练,直至满足第二训练结束条件,得到第三神经网络;第二训练样本集处理模块,用于将所述通用样本集中的通用数据、所述特定样本集中的特定数据按预设的第二样本比例组合,得到第二训练样本集;第一收敛训练模块,用于基于所述第二训练样本集对所述第三神经网络进行至少一轮
的收敛训练,直至满足第三训练结束条件,得到第四神经网络;第二收敛训练模块,用于基于所述特定样本集对所述第四神经网络进行至少一轮的收敛训练,直至满足收敛条件,得到目标神经网络分类模型。9.一种电子设备,其特征在于,包括:至少一个处理器,以及,与至少一个处理器通信连接的存储器;其中,存储器存储有指令,指令被至少一个处理器执行,以使至少一个处理器执行指令时实现如权利要求1至7中任意一项所述基于多个样本集的模型训练的方法。10.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令用于执行至少如权利要求1至7中任意一项所述基于多个样本集的模型训练的方法。
技术总结
本发明实施例提供了基于多个样本集的模型训练的方法、装置、设备及介质,涉及计算机技术领域;方法包括:将通用样本集中的通用数据、特定样本集中的特定数据分别按预设的第一样本比例、第二样本比例组合,得到第一训练样本集、第二训练样本集;基于第一训练样本集对第一神经网络进行多轮通用训练,得到第二神经网络;在至少一轮通用训练中,调整第一训练样本集中通用数据、特定数据的相对占比;基于特定样本集对第二神经网络进行至少一轮特定场景训练,得到第三神经网络;分别基于第二训练样本集、特定样本集对第三神经网络进行至少一轮的收敛训练,得到目标神经网络分类模型。装置、设备及存储介质应用上述方法,能提升神经网络分类模型的精度。分类模型的精度。分类模型的精度。
技术研发人员:姜禹 戴磊 刘玉宇 肖京
受保护的技术使用者:平安科技(深圳)有限公司
技术研发日:2022.03.15
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-15730.html