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.图1为本说明书中一种分类模型的训练方法的流程示意图;
58.图2为本说明书提供的一种分类模型的训练流程示意图;
59.图3为本说明书提供的一种分类模型的训练装置示意图;
60.图4为本说明书提供的对应于图1的电子设备示意图。
具体实施方式
61.为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
62.在本说明书中,数据的模态包括数据的格式,例如,字符、图片、视频等数据属于不同模态的数据,而由于模态为数据处理领域的专业名词,因此在本说明书中称呼文字、图片、视频等数据为不同模态的数据。
63.目前,现有的分类模型通常支持对一种模态的数据进行分类,在对分类模型进行训练时,也只会将相应模态的数据作为训练样本以训练分类模型。但是,由于服务提供方(网站、应用软件等)提供的数据大多源自用户,例如,用户发表的评论、用户撰写的文章等,而这类数据为了表达自身诉求、吸引他人眼球往往是由多种模态组成的,例如,用户发表的评论包含字符、图片以及视频,以表明自身的消费体验。在这种场景下,现有的分类模型对这类数据进行分类准确率低。因此,本说明书提供了一种分类模型的训练方法,以训练一种专门针对多种模态的数据的分类模型。
64.以下结合附图,详细说明本说明书各实施例提供的技术方案。
65.图1为本说明书中一种分类模型的训练方法的流程示意图,具体包括以下步骤:
66.s100:从样本集中选取第一数量的训练样本进行人工标注,确定训练集,其中,各训练样本至少由两种模态的数据组成。
67.由于对模型的训练通常需要大量的算力,因此可由服务器来执行。于是,在本说明书中,该分类模型的训练方法,可由服务器执行。当然,该服务器具体是单独的一台设备,或是由多台设备组成的分布式服务器系统,本说明书不做限制,可根据需要设置。
68.具体的,首先,由于本说明书提供的分类模型的训练方法,是用于训练对多模态数据进行分类的分类模型,因此,服务器可从用户生成内容、社区生成内容等海量的数据中选取大量至少包括两种模态的数据,构成样本集,并确定该样本集中的各数据均为原始样本。
69.其中,若样本包括字符、图片、视频等多种数据模态中的两种或两种以上,即为多模态数据。
70.其次,服务器可根据预设的第一数量,从该样本集中随机选取该第一数量的原始样本。并对选取出的第一数量的原始样本进行人工标注,将人工标注后的原始样本作为训练样本。
71.根据标注得到的各训练样本确定训练集。采用上述方式,可从包含大量原始样本的样本集中选取一定数量的原始样本进行人工标注,作为训练样本,确定训练集,以根据训练集中的各训练样本训练分类模型,降低了标注成本。
72.s102:针对所述训练集中的每个训练样本,分别确定该训练样本中各模态的数据对应的特征向量。
73.由于确定出的各训练样本均包括多种数据模态,对于各训练样本,若某个训练样本中各数据模态的数据对应的特征向量的相似度较高,则表示该训练样本的分类难度较低。训练样本中各数据模态的数据对应的特征向量的相似度较低,则表示该训练样本的分类难度较高。
74.例如,一个训练样本是针对美食的评论,文字部分为对美食的味道、口感等描述,图片部分为对美食的拍照。显然,该训练样本的分类结果为“美食”。另一个训练样本是用户在电商平台发表的针对所购美食的评论,文字部分为对美食的味道、口感等描述,图片部分为美食的物流截图。那么该训练样本的分类结果是“美食”还是“快递物流”就不好确定了,即,该训练样本的分类难度较高。并且,若训练样本中不同数据模态的数据“指向”的分类结果相似,也易于对训练样本进行标注。
75.因此,在本说明书的一个或多个实施例中,为了提高对分类模型的训练效率,可确定表征各训练样本中各数据模态的数据的关联程度的分类难度。具体的,针对该训练集中的每个训练样本,服务器将该训练样本输入到预训练的特征提取模型中,根据该特征提取模型的输出结果,确定该训练样本中各数据模态的数据分别对应的特征向量。
76.其中,该特征提取模型可以是预训练完成的,也可以是与其他业务场景、任务场景的模型一同训练的,该特征提取模型具体如何训练,现有技术中存在多种成熟的方法,本说明书具体不再赘述。从模型结构上来说,该特征提取模型至少包括特征提取层、分类层以及注意力层,该特征提取模型可采用神经网络模型结构、编码器-解码器(encoder-decoder)结构等,该特征提取模型具体为何种结构,可根据需要设置,本说明书不做限制。该特征提取模型可以对多种模态的数据进行特征提取,并采用特征向量表征每种模态的数据特征的模型。
77.并且,在本说明书中的一个或多个实施例中,各数据模态对应的特征向量的维度可以相同,也可以不同,只要可以确定不同数据模态的特征向量对应的相似度即可。若各模态对应的特征向量的维度不同,可采用多种方式统一不同模态对应的特征向量的维度,例如,某数据包括模态a的子数据a,特征向量为(1,1,1,1,1,1),模态b的子数据b,特征向量为(2,2,2,2,2,2,2,2,2),那么在确定子数据a与子数据b对应特征向量的相似度时,可以维度较高的特征向量的维度为准,对维度较低的特征向量进行扩展。即以子数据b的特征向量的维度为准,将子数据a的特征向量的维度扩展,确定子数据a的特征向量为(1,1,1,1,1,1,0,0,0),再计算相似度。当然,也可确定特征提取模型输出的特征向量为同一维度的特征向
量。
78.需要说明的是,本技术中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者、使用者给予授权的情况下进行的。
79.s104:确定该训练样本的各特征向量之间的相似度,以根据确定出的各相似度,确定表征该训练样本中各模态数据的关联程度的分类难度。
80.在本说明书的一个或多个实施例中,确定出各训练样本对应的各特征向量后,便可根据各训练样本对应的各特征向量,确定各训练样本的分类难度。
81.具体的,服务器根据该训练样本中各数据模态分别对应的特征向量,针对该训练样本中每个数据模态对应的特征向量,分别确定该特征向量与其他各特征向量的相似度。根据由训练样本中各数据模态对应的特征向量确定出的各相似度,确定各相似度的平均值为相似度均值。并根据该相似度均值,确定该训练样本的分类难度,当然,还可根据确定出的各相似度,确定各相似度的中位数、众数为分类难度,具体如何确定该分类难度,可根据需要设置,本说明书不做限制。
82.其中,在确定不同特征向量的相似度时,可基于不同特征向量的距离确定不同特征向量的相似度。例如,根据特征不同向量间的欧式距离、曼哈顿距离等确定相似度。也可将不同特征向量的余弦相似度确定为不同特征向量的相似度。具体采用何种方式确定不同特征向量的相似度,可根据需要设置,本说明书不做限制。而在根据该相似度均值确定该训练样本的分类难度时,可直接将该相似度均值作为该分类难度,也可确定该相似度均值的倒数为该分类难度,或确定1与该相似度均值的差为该分类难度,具体如何根据该相似度均值确定该分类难度,可根据需要设置,本说明书不做限制。
83.采用上述方式,通过确定训练样本中各模态的数据对应的特征向量的关联程度(相似度),确定该训练样本中各模态的数据的关联程度,以确定各训练样本的分类难度。使得服务器可根据各训练样本的分类难度按照一定的顺序训练分类模型,提高了分类模型的训练效率。
84.s106:按照各训练样本的分类难度从小到大的顺序,对分类模型进行训练。
85.在本说明书的一个或多个实施例中,在确定出该训练集中各训练样本的分类难度后,便可按照各训练样本的分类难度从小到大的顺序,采用各训练样本对分类模型进行训练。实现了按照从易到难的顺序选取训练样本对该分类模型进行训练,提高了训练效率。
86.具体的,服务器按照该分类难度从小到大的顺序,从该训练集中转移第二数量的训练样本到更新集,根据该更新集中的各训练样本训练该分类模型。并将根据该更新集中的各训练样本训练该分类模型作为一轮训练,当在一轮训练中,该分类模型的准确率达到预设的准确率阈值时,确定该轮训练结束,例如,该分类模型的准确率达到98%时,该轮训练结束。其中,该更新集的初始状态为空,并且,该第二数量小于该第一数量。
87.其次,由于该训练集中的训练样本数量大于该更新集中训练样本的数量,因此,需要多次从该训练集中转移训练样本至该更新集,而每次更新该更新集后,都需要根据该更新集中的训练样本重新对该分类模型进行一轮训练。因此,在每一轮对该分类模型进行的训练完成后,该服务器可判断该训练集是否为空,若是,则无需再更新该更新集,可确定该分类模型训练完成。
88.若否,则可进行下一轮训练,即,按照分类难度从小到大的顺序,从该训练集中转移第二数量的训练样本到更新集中,以实现对该更新集的更新,并采用更新后的更新集中的各训练样本,继续训练该分类模型,直至完成本轮对该分类模型的训练,并重新判断该训练集是否为空。
89.另外,在本说明书的一个或多个实施例中,由于该第二数量小于该第一数量,因此会根据该训练集多次更新该更新集,若每轮根据该更新集中的训练样本对该分类模型进行训练时,都需要该分类模型的准确率达到该准确率阈值,可能会出现过拟合、局部最优等问题,因此,在每轮对该分类模型进行训练时设置一个准确率阈值,并随着训练轮数的增加,逐渐增加准确率阈值的数值,使其恰好在最后一轮训练时,达到理想的效果。
90.例如,训练集中训练样本的数量为10000,第二数量为1000,在最后一轮训练时需要该分类模型的准确率为98%,共需训练10轮,可在第一轮训练时设置准确率阈值为90.8%,第二轮91.6%,第三轮92.4%
……
第10轮98%。
91.采用上述方式,优先采用分类难度较小的训练样本训练该分类模型,可在训练样本的数量一定时,使得该分类模型的分类效果更好,提高了训练效率,降低的训练成本。
92.s108:若用于训练所述分类模型的训练样本数量未达到预设数量,则通过训练后的所述分类模型对所述样本集中未进行标注的各其他样本进行分类。
93.在本说明书的一个或多个实施例中,由于训练分类模型通常需要采用大量的样本,若用于训练分类模型的样本数量过少,可能会出现分类模型过拟合、分类模型准确率差等现象,因此,在本说明书中设置了预设数量,若用于训练该分类模型的训练样本数量未达到该预设数量,便可继续训练该分类模型。
94.并且,由于人工标注成本高,为了节约成本,提高训练效率,可采用训练难度较高的样本对模型进行训练。而由于该样本集中各原始样本的训练难度参差不齐,为了从该样本集中选取训练难度高的原始样本作为训练样本以训练该分类模型,在本说明书的一个或多个实施例中,可采用该分类模型确定该样本集中未选取为训练样本的各其他样本的分类结果的不确定性。其中,各其他样本的分类结果的不确定性可表征各其他样本的训练难度。
95.具体的,首先,服务器确定该样本集中的各原始样本,并确定从该样本集中选取至该训练集的各原始样本为训练样本,再确定该样本集中未选取为训练样本的各原始样本为其他样本。针对该样本集中的每个其他样本,将该其他样本输入到该分类模型中,根据该分类模型的输出结果,确定该其他样本属于各分类类型的概率。
96.其次,将该其他样本属于各分类类型的概率按照从大到小的顺序进行排序,确定位于该排序第一个位置的概率为第一概率,位于该排序第二个位置的概率为第二概率。
97.最后,根据该第一概率与预设的第一阈值的大小关系,确定第一参数,其中,当该第一概率大于该第一阈值时,该第一参数较小。根据该第一概率与该第二概率的差与预设的第二阈值的大小关系,确定第二参数,其中,当该第一概率与该第二概率的差大于该第二阈值时,该第二参数较小。根据该第一参数与该第二参数的和,确定该其他样本的分类结果的不确定性。
98.例如,原始样本a属于各分类类型的概率为,类型1:0.8、类型2:0.2。原始样本b属于各分类类型的概率为,类型1:0.5、类型2:0.5,第一阈值为0.6,第二阈值为0.4,较大的第一参数、第二参数均为1,较小的第一参数、第二参数均为0。那么对于原始样本a来说,第一
概率为0.8,大于该第一阈值,因此第一参数为0。第一概率为0.8,第二概率为0.2,第一概率与第二概率的差为0.6大于该第二阈值0.4,因此第二参数为0。那么原始样本a的不确定性为0+0=0,即该原始样本的分类结果很明确。对于原始样本b来说,第一概率为0.5,小于该第一阈值,因此第一参数为1。第一概率为0.5,第二概率为0.5,第一概率与第二概率的差为0小于该第二阈值0.4,因此第二参数为1。那么原始样本b的不确定性为1+1=1,即该原始样本的分类结果不明确。
99.采用上述方式,可通过已进行初步训练的分类模型,确定该样本集中各其他样本的分类结果的不确定性,以便从该样本集中选取分类结果的不确定性较高的其他样本对该分类模型进行训练,提高训练效率。
100.s110:根据各其他样本分类结果的不确定性从大到小的顺序,确定第一数量的其他样本作为训练样本进行人工标注,并加入到所述训练集中,重新确定各训练样本的分类难度继续训练所述分类模型,直至采用所述预设数量的训练样本训练所述分类模型为止。
101.在本说明书的一个或多个实施例中,在确定出该样本集中各其他样本的分类结果的不确定性后,即可按照各其他样本的分类结果的不确定性的顺序,从该样本集中选取其他样本训练该分类模型。
102.具体的,首先,将确定出的该样本集中各其他样本的分类结果的不确定性,按照从大到小的顺序确定各其他样本的排序,并将在该排序中第一数量位置的其他样本的不确定性确定为标准值。
103.其次,根据样本集中各其他样本的分类结果的不确定性,判断不确定性不小于该标准值的其他样本数量是否大于该第一数量,若是,则对不确定性大于该标准值的其他样本进行人工标注,将人工标注后的其他样本作为训练样本,加入到该训练集中,并确定该第一数量与不确定性大于该标准值的其他样本的数量的差值,在不确定性等于该标准值的各其他样本中,随机选择该差值数量的其他样本进行人工标注,将人工标注后的其他样本作为训练样本,加入到该训练集中。若否,则对该排序中前第一数量的其他样本进行人工标注,将人工标注后的其他样本作为训练样本,加入到该训练集中。根据该训练集中的各训练样本,继续训练该分类模型。
104.而由于在通常情况下,对样本进行人工标注需要成本,而为了节约成本,在本说明书中设置了预设数量,当训练样本的数量达到该预设数量时,也就是人工标注的原始样本数量达到该预设数量时,便完成对该分类模型的训练。因此,每次根据训练集中的各训练样本训练该分类模型后,可对该训练集中训练样本的数量进行判断,以确定是否继续对该分类模型进行训练。
105.具体来说,判断用于训练该分类模型的训练样本数量是否未达到预设的预设数量。
106.若是,则根据确定出的各其他样本的分类结果的不确定性,按照分类结果的不确定性从大到小的顺序,从该样本集的各其他样本中选取第一数量的其他样本,进行人工标注,并将人工标注后的其他样本作为训练样本,加入到训练集中,实现对训练集的更新。针对重新更新的训练集,重复步骤s102、s104以及s106,并重新判断用于训练该分类模型的训练样本数量是否未达到预设的预设数量。即,根据更新后训练集的各训练样本以及最新训练的该分类模型,重新确定各训练样本的分类难度,并按照分类难度从小到大的顺序,分批
训练该分类模型,并重新判断用于训练该分类模型的训练样本数量是否未达到预设的预设数量,直至判断结果为否为止。即,直至在最后一轮训练时,采用该预设数量的训练样本训练该分类模型为止。其中,该分类模型为根据最后一次更新后的训练集,训练完成的分类模型。
107.若否,则确定该分类模型训练完成。
108.在本说明书提供的分类模型的训练方法中,可从未标注的样本集中选取第一数量的训练样本进行标注,并将标注后的训练样本加入到训练集中,再分别确定各训练样本中各模态的数据对应的特征向量,确定表征各训练样本中各模态的数据关联程度的分类难度,再按照分类难度从小到大的顺序,分批训练分类模型,以根据该分类模型对未标注的其他样本进行分类,若用于训练该分类模型的训练样本数量未达到预设数量,则通过训练后的分类模型确定该样本集中未标注的其他样本分类结果的不确定性,以从中选择分类困难的其他样本继续进行标注,并将标注后的样本加入到该训练集中,再次采用训练集中的训练样本训练分类模型,通过重复上述过程,实现对分类模型的训练。
109.从上述方法中可以看出,本方法在选取样本时可以优先选取训练分类效果明显的样本,分批训练分类模型,在训练模型时可以优先采用包含的各模态的数据关联程度高的训练样本进行训练。一方面可以提高训练效率,另一方面减少训练样本的数量,减轻人工标注的成本。
110.另外,在本说明书的一个或多个实施例中,为了提高训练效率,在确定该第二数量时,可根据该训练集中训练样本的数量,以及预设的训练次数,确定该训练样本的数量与该训练次数的商为该第二数量。
111.另外,在本说明书的一个或多个实施例中,由于在通常情况下,需要采用一定数量的样本训练该分类模型,才能使该分类模型的效果达到预期。而在训练样本的数量满足一定条件时,该分类模型的效果就有可能达到预期,而为了节省标注成本,可在训练样本的数量达到检测阈值时,对该分类模型的准确率进行检测。
112.具体的,首先,判断该训练集中训练样本的数量是否大于预设的检测阈值。若是,则从该样本集中未选取为训练样本的其他样本中,选取第四数量的其他样本进行人工标注,作为测试样本。并将各测试样本输入到该分类模型中,根据该分类模型的输出结果以及该人工标注,确定该分类模型的分类准确率。当该分类准确率大于预设的准确率阈值时,确定该分类模型训练完成,当该分类准确率不大于该准确率阈值时,继续对该分类模型进行训练。若否,则继续对该分类模型进行训练。
113.其中,该检测阈值小于该预设数量。该分类模型为完成最新一次更新的分类模型,例如,该检测阈值为1000,该训练样本的数量为1100时,该分类模型为根据该1100个训练样本更新后的分类模型。该检测阈值为1000,该训练样本的数量为1500时,该分类模型为根据该1500个训练样本更新后的分类模型。
114.另外,在本说明书的一个或多个实施例中,为了更严格的确定该分类模型的效果是否达到预期,在选取测试样本时,可根据该分类模型,确定该样本集中未选取为训练样本的其他样本的分类结果的不确定性,并按照不确定性从大到小的顺序,选取第四数量的训练样本作为测试样本。
115.另外,在本说明书的一个或多个实施例中,为了更准确的确定该训练集中各原始
样本的不确定性,步骤s100中的第一数量可与步骤s110中的第一数量不同。
116.另外,在本说明书的一个或多个实施例中,为了降低标注成本,在对原始样本进行标注时,可根据各原始样本的不确定性对确定各原始样本的标注难度,并在进行人工标注时,确定分配给各用户的原始样本的标注难度总数一致,避免了某些用户标注的各原始样本太难,而某些用户标注的各原始样本太简单这类情况的出现。
117.另外,本说明书还提供了相应的分类模型的训练流程,如图2所示。
118.图2为本说明书提供的一种分类模型的训练流程示意图,开始训练后,可执行步骤s200,即从样本集中选取第一数量的原始样本,进行人工标注,并作为训练样本加入到训练集中。需要说明的是,初始状态的训练集为空。
119.该训练集不为空后,便可执行步骤s202,即根据该训练集中的各训练样本,训练分类模型,相当于对该分类模型进行预训练。若用于训练该分类模型的训练样本数量未达到预设数量,则可执行步骤s204,即根据预训练的该分类模型,确定该样本集中未选取的各其他样本的分类结果的不确定性,再执行步骤s206,即按照各其他样本的不确定性从大到小的顺序,选取第一数量的原始样本进行人工标注,并作为训练样本加入到训练集中,根据更新后的训练集的各训练样本训练该分类模型,再判断训练样本的数量是否达到该预设数量,若是,则执行步骤s208,即确定训练完成,若否,则重复执行步骤s204、步骤s206以及步骤s202,继续对该训练模型进行训练。
120.需要说明的是,本技术中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
121.以上为本说明书的一个或多个实施例提供的分类模型的训练方法,基于同样的思路,本说明书还提供了相应的分类模型的训练方法装置,如图3所示。
122.图3为本说明书提供的一种分类模型的训练装置示意图,具体包括:
123.选取模块300,从样本集中选取第一数量的训练样本进行人工标注,确定训练集,其中,各训练样本至少由两种模态的数据组成;
124.确定特征向量模块302,针对所述训练集中的每个训练样本,分别确定该训练样本中各模态的数据对应的特征向量;
125.确定分类难度模块304,确定该训练样本的各特征向量之间的相似度,以根据确定出的各相似度,确定表征该训练样本中各模态数据的关联程度的分类难度;
126.初始训练模块306,按照各训练样本的分类难度从小到大的顺序,对分类模型进行训练;
127.预分类模块308,若用于训练所述分类模型的训练样本数量未达到预设数量,则通过训练后的所述分类模型对所述样本集中未进行标注的各其他样本进行分类;
128.继续训练模块310,根据各其他样本分类结果的不确定性从大到小的顺序,确定第一数量的其他样本作为训练样本进行人工标注,并加入到所述训练集中,重新确定各训练样本的分类难度继续训练所述分类模型,直至采用所述预设数量的训练样本训练所述分类模型为止。
129.可选的,所述确定分类难度模块304,针对每个模态的数据对应的特征向量,确定该特征向量与其它模态的数据对应的特征向量的相似度,根据确定出的各相似度,确定相
似度均值,根据所述相似度均值,确定表征该训练样本中各模态数据的关联程度的分类难度。
130.可选的,所述初始训练模块306,按照各训练样本的分类难度从小到大的顺序,从所述训练集中转移第二数量的训练样本,加入到更新集中,根据所述更新集中的各训练样本,训练分类模型,并判断所述训练集是否为空,若是,则确定所述分类模型的训练完成,若否,则按照分类难度从小到大的顺序,从所述训练集转移所述第二数量的训练样本到所述更新集中,继续训练所述分类模型,直至所述训练集为空为止。
131.可选的,所述预分类模块308,确定所述样本集中未进行标注并选取为训练样本的其他样本,针对每个其他样本,将该其他样本输入到训练后的所述分类模型中,并根据所述分类模型的输出结果,确定该其他样本属于各分类类型的概率,按照该其他样本属于各分类类型的概率从大到小的顺序,确定第一概率以及第二概率,根据所述第一概率与预设的第一阈值的大小关系,确定第一参数,根据所述第一概率和所述第二概率的差值与预设的第二阈值的大小关系,确定第二参数,根据所述第一参数以及所述第二参数,确定该其他样本的不确定性。
132.可选的,所述预分类模块308,按照分类结果的不确定性从大到小的顺序,确定各其他样本的排序,确定在所述排序中第一数量位置的其他样本的不确定性,作为标准值,判断不确定性不小于所述标准值的其他样本数量是否大于所述第一数量,若是,则将不确定性大于所述标准值的其他样本,进行人工标注,并加入到所述训练集中,以及根据所述第一数量与不确定性大于所述标准值的其他样本的数量的差值,从不确定性等于所述标准值的其他样本中,选择所述差值数量的其他样本,进行人工标注,并加入到所述训练集中,若否,则确定所述排序中前第一数量的其他样本,进行人工标注,并加入到所述训练集中。
133.可选的,所述继续训练模块310,根据所述训练集,重新确定各训练样本的分类难度,继续训练所述分类模型,判断用于训练所述分类模型的训练样本数量是否未达到所述预设数量,若是,则根据继续训练得到的所述分类模型,重新对所述样本集中未加入到所述训练集的各其他样本进行分类,根据重新分类的分类结果的不确定性,更新所述训练集,继续训练所述分类模型,直至用于训练所述分类模型的训练样本数量达到所述预设数量为止,若否,则确定所述分类模型训练完成。
134.可选的,所述继续训练模块310,判断所述样本集中训练样本的数量是否大于预设的检测阈值,其中,所述检测阈值小于所述预设数量,若是,则从所述样本集未选取为训练样本的其他样本中,选取第四数量的其他样本进行人工标注,作为测试样本,根据所述分类模型确定所述测试样本的分类结果,并根据所述分类结果以及人工标注确定分类准确率,当所述分类准确率大于预设的准确率阈值时,确定所述分类模型训练完成,当所述分类准确率不大于预设的准确率阈值时,继续对所述分类模型进行训练,若否,则继续对所述分类模型进行训练。
135.本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的分类模型的训练方法。
136.本说明书还提供了图4所示的电子设备的示意结构图。如图4所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运
行,以实现上述图1所述的分类模型的训练方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
137.在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
138.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
139.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
140.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本
说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
141.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
142.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
143.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
144.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
145.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
146.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
147.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
148.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
149.本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产
品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
150.本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
151.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
152.以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。