一种模型训练方法、系统及存储介质和终端设备与流程

文档序号:29616116发布日期:2022-04-13 11:39阅读:71来源:国知局
一种模型训练方法、系统及存储介质和终端设备与流程

1.本发明涉及信息处理技术领域,特别涉及一种模型训练方法、系统及存储介质和终端设备。


背景技术:

2.随着机器学习模型的发展,借助计算机视觉技术在各个场景落地,例如无人驾驶、智慧零售和视觉内容理解等,都依赖机器学习模型来完成特定任务。目前产业结合深度学习已是大势所趋,一方面能够提升识别效果,另一方面也能够降低人工成本,其中,基于深度学习的计算机视觉相关任务的基础是机器学习模型,一个好的机器学习模型,可以直接迁移到其它相关任务中,从而实现一系列任务的升级。一般来说,一个优秀的机器学习模型,不仅仅依赖于优秀的基础网络架构,能够稳定提升模型性能的训练方法和数据采样方法同样也是目前的研究热点之一。而且优秀的数据采样方法和模型训练策略同样可以迁移至众多下游任务中,如图像分类、视频分类、视频内容理解等任务中。
3.具体来说,针对新闻阅读应用程序中,每天内容生产者会产生出大量的各种类别的新闻内容,而这样就会存在一个长尾分布的问题,即有些常见类别下的内容数量会远远多于罕见类别下的内容数量,使得数量不平衡,比如,在一个新闻应用中,视频内容方面关于电视剧片花的内容占据了全部数量的7%,而科学相关的内容仅仅占据了全部数据的1%。由于这种现象的出现,基于深度学习的机器学习模型的性能会随着数据量的增加会有显著的提升,因此某些类别如果数据量较多,机器学习模型在训练过程中也会在这些类别上的效果会更好,但是在其它类别上的效果比较差。


技术实现要素:

4.本发明实施例提供一种模型训练方法、系统及存储介质和终端设备,实现了更准确地训练对象识别模型。
5.本发明实施例一方面提供一种模型训练方法,包括:
6.获取训练样本集,所述训练样本集中包括多个类型的样本子集;
7.分别确定每个类型的样本子集中的各个训练样本的样本权重值;
8.根据所述每个类型的样本子集中训练样本的样本权重值,从相应类型的样本子集中分别选择至少一个训练样本,并将从所述多个类型的样本子集中分别选择的至少一个训练样本组成当前批次的训练子集;
9.根据所述当前批次的训练子集训练对象识别模型,所述对象识别模型用于对目标对象的类型进行识别。
10.本发明实施例另一方面提供一种模型训练系统,包括:
11.样本获取单元,用于获取训练样本集,所述训练样本集中包括多个类型的样本子集;
12.样本权重单元,用于分别确定每个类型的样本子集中的各个训练样本的样本权重
值;
13.样本选择单元,用于根据所述每个类型的样本子集中训练样本的样本权重值,从相应类型的样本子集中分别选择至少一个训练样本,并将从所述多个类型的样本子集中分别选择的至少一个训练样本组成当前批次的训练子集;
14.训练单元,用于根据所述当前批次的训练子集训练对象识别模型,所述对象识别模型用于对目标对象的类型进行识别。
15.本发明实施例另一方面还提供一种计算机可读存储介质,所述计算机可读存储介质储存多个计算机程序,所述计算机程序适于由处理器加载并执行如本发明实施例一方面所述的模型训练方法。
16.本发明实施例另一方面还提供一种终端设备,包括处理器和存储器;
17.所述存储器用于储存多个计算机程序,所述计算机程序用于由处理器加载并执行如本发明实施例一方面所述的模型训练方法;所述处理器,用于实现所述多个计算机程序中的各个计算机程序。
18.可见,在本实施例的方法中,模型训练系统会分别确定训练样本集的每个类型的样本子集中各个训练样本的样本权重值,并根据样本权重值从各个样本子集中分别选择至少一个训练样本,并将从多个样本子集中分别选择的至少一个训练样本组成当前批次的训练子集来训练对象识别模型。这样可以将训练样本集分为多个类型的样本子集,并通过样本权重值来衡量各个样本子集中训练样本被选择的概率,来组成当前批次的训练子集,使得可以通过调整样本权重值来平衡训练样本被选择的概率,进而提高训练得到的对象识别模型对各种类型的训练样本进行识别的准确性。
附图说明
19.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
20.图1是本发明实施例提供的一种模型训练方法的示意图;
21.图2是本发明一个实施例提供的模型训练方法的流程图;
22.图3是本发明一个实施例中训练对象识别模型的方法流程图;
23.图4是本发明一个应用实施例提供的模型训练方法的流程图;
24.图5是本发明一个应用实施例中从一个类型的样本子集选择训练样本的示意图;
25.图6是本发明一个应用实施例中组成各个批次的训练子集的示意图;
26.图7是本发明另一应用实施例中模型训练方法所应用于的分布式系统的示意图;
27.图8是本发明另一应用实施例中区块结构的示意图;
28.图9是本发明实施例提供的一种模型训练系统的逻辑结构示意图;
29.图10是本发明实施例提供的一种终端设备的逻辑结构示意图。
具体实施方式
30.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
31.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
32.本发明实施例提供一种模型训练方法,主要是通过对训练样本集进行一定的处理后,根据处理后的训练样本集来训练对象识别模型,具体地,如图1所示,模型训练系统可以按照如下步骤来训练对象识别模型:
33.获取训练样本集,所述训练样本集中包括多个类型(图中以n个类型为例说明)的样本子集;分别确定每个类型的样本子集中的各个训练样本的样本权重值;根据所述每个类型的样本子集中训练样本的样本权重值,从相应类型的样本子集中分别选择至少一个训练样本,并将从所述多个类型的样本子集中分别选择的至少一个训练样本组成当前批次的训练子集;根据所述当前批次的训练子集训练对象识别模型,所述对象识别模型用于对目标对象的类型进行识别。
34.这样可以将训练样本集分为多个类型的样本子集,并通过样本权重值来衡量各个样本子集中训练样本被选择的概率,来组成当前批次的训练子集,使得可以通过调整样本权重值来平衡训练样本被选择的概率,进而提高训练得到的对象识别模型对各种类型的训练样本进行识别的准确性。
35.在实际应用中,本实施例的方法不仅仅能应用于视频/图文分类识别产品中,还适用于视频/文本标签识别,优质内容识别,低质内容识别等一系列模型的训练中。
36.上述对象识别模型是一种基于人工智能的机器学习模型,具体可以为多任务卷积神经网络(multi-task convolutional neural network,mtcnn),比如mtcnn的输出网络(output network,onet)等。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
37.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
38.而机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的
学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
39.本发明一个实施例提供一种模型训练方法,主要是由模型训练系统所执行的方法,流程图如图2所示,包括:
40.步骤101,获取训练样本集,训练样本集中包括多个类型的样本子集。
41.可以理解,在训练任一机器学习模型时,需要根据大量的训练样本对任一结构的机器学习模型中的参数值进行学习,这些训练样本组成训练样本集,每个训练样本都包括了样本对象及样本对象的标注信息,其中,样本对象的标注信息具体是哪种信息,需要根据待训练的机器学习模型的功能来决定,例如,机器学习模型主要用于对图像中某一类型的物体进行识别,则样本对象的标注信息主要是样本对象中相应类型的物体的位置信息等。
42.本实施例中,待训练的机器学习模型主要是对象识别模型,用于识别目标对象的属性信息,比如识别任一图像是否为人脸图像,或者识别任一段语音数据所表示的用户情绪等,其实质是识别目标对象属于哪种类型,这里目标对象可以是图像、视频或文本等多媒体信息。相应地,训练样本集中的训练样本也需要包括多个类型的样本子集,具体包括哪些类型的样本子集,需要与对象识别模型能识别出的类型一致,比如对象识别模型可以识别出n个类型的目标对象,则训练样本集中需要包括相应n个类型的样本子集。
43.为了提高训练得到的对象识别模型将目标对象识别为任一类型的对象的准确率,需要保证每个类型的样本子集中训练样本的数量要足够多,且任意两个类型的样本子集之间训练样本的数量的差距不是很大,即各个类型的样本子集之间需要达到平衡。但是实际应用中,现有可以作为训练样本的数据集中有些类型的数据会比较少,比如在新闻视频的数据集中,关于电视剧片花的新闻视频的数量比较多,而与科学相关的新闻视频的数量比较少,从而使得获取到的各个类型的样本子集不平衡,为了减少样本子集不平衡对训练对象识别模型所带来的影响,本发明实施例中,当获取到训练样本集后,需要执行如下步骤102到104。
44.步骤102,分别确定每个类型的样本子集中的各个训练样本的样本权重值,该样本权重值是任一训练样本对应的一个权重值。
45.具体地,模型训练系统在确定一个类型的样本子集中训练样本的样本权重值时,可以只考虑该样本子集中所有的训练样本,而不考虑其它类型的样本子集中的训练样本。
46.在一个具体情况下,模型训练系统可以先确定一个类型的样本子集的所有训练样本中难样本和简单样本,并确定难样本的样本权重值大于一阈值,而确定简单样本的样本权重值小于另一阈值,使得难样本被选择以组成训练子集的概率得到提高,提高对象识别模型对难样本学习的准确性。这里一阈值可以大于另一阈值。
47.其中,难样本是指容易被对象识别模型预测错误类型的训练样本,或预测的置信度低的训练样本,简单样本是指容易被对象识别模型学习的训练样本。具体在确定难样本时,可以在训练样本间计算余弦聚类、或欧式聚类等距离方式来筛选出难样本。
48.步骤103,根据每个类型的样本子集中训练样本的样本权重值,从相应类型的样本子集中分别选择至少一个训练样本,并将从多个类型的样本子集中分别选择的至少一个训
练样本组成当前批次的训练子集。
49.具体地,模型训练系统需要从每个样本子集都中分别选取出至少一个训练样本,并将这些训练样本组成一个批次的训练子集。其中,从每个样本子集中选择的训练样本的数量可以相同也可以不相同,比如从一个样本子集中选择3个训练样本,从另一样本子集中选择4个训练样本等。
50.其中,在从一个样本子集中选择至少一个训练样本时,可以从该样本子集中选择样本权重值最大的至少一个训练样本,或者,选择样本权重值大于一预置值的至少一个训练样本。具体可以通过如下几种方式来选择任一样本子集中的至少一个训练样本:
51.(1)基于二分查找的方法来选择至少一个训练样本。
52.具体地,先将一个类型的样本子集中所有训练样本的样本权重值作为向量,通过二分查找,获取到样本权重值最大的至少一个训练样本。
53.其中,二分查找的基本思想是:假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。采用这种方法选择训练样本时,查找速度快,平均性能好。
54.(2)基于轮盘转动的方法来选择至少一个训练样本。
55.具体地,可以将一个类型的样本子集中各个训练样本的样本权重值对应预置轮盘的一个单位组成部分,之后转动预置轮盘,并选择预置轮盘中指针所指向的样本权重值对应的训练样本。
56.其中,预置轮盘主要包括多个单位组成部分及指针,在转动轮盘的过程中,指针会循环地按照顺序指向每个单位组成部分,这里单位组成部分可以是任意形状,比如扇形或方形等。
57.在将一个类型的样本子集中各个训练样本的样本权重值对应预置轮盘的一个单位组成部分时,需要考虑到样本子集中训练样本的数量a与轮盘的单位组成部分的数量b之间的关系,若a与b相同,则可以将样本权重值分别与单位组成部分一一对应;若a小于b,则可以先从b个单位组成部分中选择a个单位组成部分,并将样本权重值分别与选择的单位组成部分一一对应。
58.若a大于b,则先将x*b个样本权重值分别与b个单位组成部分一一对应,然后从b个单位组成部分中选择a-x*b个单位组成部分,并将a-x*b个样本权重值分别与选择的a-x*b个单位组成部分一一对应,在这种情况下,一个单位组成部分可能会对应一个或多个样本权重值。其中,x为大于或等于1的自然数。
59.(3)基于预设被采样次数的方法来选择至少一个训练样本。
60.具体地,根据一个样本子集中各个训练样本的样本权重值,为各个训练样本分配相应的被采样次数;根据各个训练样本的被采样次数,从一个样本子集中选择样本权重值最大的训练样本,且更新选择的训练样本的被采样次数;这样,循环执行选择训练样本及更新被采样次数的步骤,从而可以得到一个样本子集对应的至少一个训练样本。
61.其中,在为各个训练样本分配相应的被采样次数时,样本权重值较大的训练样本对应的被采样次数较多,样本权重值较小的训练样本对应的被采样次数较少。在更新选择
的训练样本的被采样次数时,主要是将当前的被采样次数减1,当某一训练样本的被采样次数为0时,则不会选择该训练样本。
62.且循环执行选择训练样本及更新被采样次数的步骤的循环次数,可以由事先预置在模型训练系统中的循环次数来决定,也可以由当前批次的训练子集中训练样本的数量来决定,比如,当前批次的训练子集中训练样本的数量为a1,而当前有a2个类型的样本子集,则可以从每个样本子集中选择a1/a2个训练样本,而针对一个样本子集,每次循环过程中可以选择a3个训练样本,因此,可以得到循环执行选择训练样本及更新被采样次数的步骤的循环次数为(a1/a2)/a3。
63.步骤104,根据当前批次的训练子集训练对象识别模型,该对象识别模型用于对目标对象的类型进行识别。
64.具体地,上述任一训练样本都会包括一个样本对象及其标注信息,则一个训练样本的样本权重值即为样本对象的样本权重值,如图3所示,模型训练系统可以根据如下步骤来根据当前批次的训练子集训练对象识别模型:
65.步骤201,确定对象识别初始模型。
66.可以理解,模型训练系统在确定对象识别初始模型时,主要是确定对象识别初始模型所包括的多层结构和各层机构中参数的初始值。
67.其中,对象识别初始模型可以包括:特征提取模块和识别模块,其中,特征提取模块用于提取训练样本中样本对象的特征信息,识别模块用于根据特征提取模块提取到的特征信息确定样本对象的类型,具体地,识别模块会输出样本对象属于某一类型的概率信息。
68.对象识别初始模型的参数是指对象识别初始模型中各层结构在计算过程中所用到的固定的,不需要随时赋值的参数,比如参数规模、网络层数、用户向量长度等参数。
69.步骤202,通过对象识别初始模型分别识别当前批次的训练子集中各个样本对象的类型。
70.具体地,对象识别初始模型中的特征提取模块先提取各个样本对象的特征信息,然后识别模块根据特征提取模块提取的特征信息确定各个样本对象的类型。
71.步骤203,根据对象识别初始模型得到的各个样本对象的类型,及当前批次的训练子集中相应样本对象的标注信息及其样本权重值,调整对象识别初始模型,以得到最终的对象识别模型。
72.具体地,模型训练系统装置会先根据上述步骤202中对象识别初始模型得到的各个样本对象的类型,及当前批次的训练子集中相应样本对象的标注信息及其样本权重值,计算与对象识别初始模型相关的损失函数,具体地,损失函数可以包括:对象识别初始模型识别的各个样本对象的类型,与相应样本对象实际的类型(根据样本对象的标注信息得到)的误差,再与相应样本对象的样本权重值的乘积,比如交叉熵损失函数等;然后再根据计算的损失函数调整对象识别初始模型中的参数值。
73.需要说明的是,训练对象识别模型的过程就是需要尽量减少上述误差的值,该训练过程是通过反向传播求导以及梯度下降等一系列数学优化手段不断的优化上述步骤201中确定的对象识别初始模型中参数的参数值,并使得上述损失函数的计算值降至最低。具体地,当计算的损失函数的函数值较大时,比如大于预置的值,则需要改变参数值,比如将某个神经元连接的权重值减小等,使得按照调整后的参数值计算的损失函数的函数值减
小。
74.在一个具体的实施例中,模型训练系统会先计算损失函数的过程中,还会考虑各个样本对象的类型权重值。具体地:
75.模型训练系统会分别确定每个类型的样本子集的类型权重值,该类型权重值是任一类型的样本子集对应的一个权重值,一个样本子集中所有的训练样本都对应一个类型权重值。这样,模型训练系统在计算损失函数时,具体可以根据对象识别初始模型得到的各个样本对象的类型,及当前批次的训练子集中相应样本对象的标注信息及其样本权重值和类型权重值,计算与对象识别初始模型相关的损失函数。比如,损失函数可以包括:对象识别初始模型识别的各个样本对象的类型,与相应样本对象实际的类型(根据样本对象的标注信息得到)的误差,再与相应样本对象的样本权重值及类型权重值的乘积。
76.其中,在分别确定每个类型的样本子集的类型权重值时,可以通过但不限于如下几种方式来实现:
77.(1)通过一个类型的样本子集中包括的训练样本的数量确定对应的类型权重值。
78.具体地,可以直接对一个类型的样本子集中包括的训练样本的数量求倒数,得到一倒数值,将该倒数值作为一个类型的样本子集的类型权重值,这样可以实现训练样本的数量少的样本子集具有较高的类型权重值,而训练样本的数量多的样本子集具有较低的类型权重值。从而提高数量较少的样本子集的重要性,缓解了训练样本的长尾分布现象。
79.(2)通过平滑策略确定类型权重值。
80.具体地,计算一个类型的样本子集包括的训练样本的数量的倒数,与每个的样本子集中训练样本的数量的倒数之和的比值,将比值的函数计算值作为一个类型的样本子集的类型权重值。其中,一个类型的样本子集包括的训练样本的数量counti的倒数ratioi可以通过如下公式1来表示,而一个类型的样本子集的类型权重值weighti可以通过如下公式2来表示:
[0081][0082][0083]
其中,m为样本子集的数量,j表示每个类型的样本子集,i表示其中一个类型的样本子集。
[0084]
通过这种平滑策略确定的类型权重值,使得训练样本的数量多的样本子集的类型权重值不会太低。
[0085]
另外,需要说明的是,上述步骤202到203是通过对象识别初始模型确定的各个样本对象的类型,对对象识别初始模型中的参数值的一次调整,而在实际应用中,需要通过不断地循环执行上述步骤202到203,直到对参数值的调整满足一定的停止条件为止。
[0086]
因此,模型训练系统在执行了上述实施例步骤201到203之后,还需要判断当前对参数值的调整是否满足预置的停止条件,当满足时,则将上述步骤203中调整得到的参数值作为最终训练得到的对象识别模型的参数值,并结束流程;当不满足时,则针对调整参数值后的对象识别初始模型,返回执行上述步骤202到203。其中,预置的停止条件包括但不限于
如下条件中的任何一个:当前调整的参数值与上一次调整的参数值的差值小于一阈值,即调整的参数值达到收敛;及对参数值的调整次数等于预置的次数等。
[0087]
进一步需要说明的是,由于上述步骤101中获取的训练样本集中所有训练样本的数量比较多,在实际训练过程中,需要先将这些训练样本划分为多个批次(batch)的训练子集,任意两个批次的训练子集之间可以有重叠的训练样本,然后依次针对每个批次的训练子集,可以分别按照上述步骤202到203的方法进行对象识别模型的训练,当针对所有批次的训练子集都进行了对象识别模型的训练,即完成对对象识别模型的一轮训练。进一步地,模型训练系统可以对对象识别模型进行多轮训练,使得训练得到的对象识别模型更准确。其中,针对一个批次的训练子集训练对象识别模型时,也可以循环多次执行上述步骤202和203。
[0088]
在这个过程中,可以不断地更新各个样本对象的样本权重值,而训练样本与样本对象一一对应,即样本对象的样本权重值即为训练样本的样本权重值,从而实现了不断地更新各个训练样本的样本权重值,具体可以包括但不限于如下两种方式:
[0089]
(1)在针对当前批次的训练子集进行了对象识别模型的训练后,可以根据对象识别初始模型得到的各个样本对象的类型,及当前批次的训练子集中相应样本对象的标注信息,更新相应样本对象的样本权重值,得到当前批次的训练子集中各个样本对象的更新后样本权重值;然后针对更新后样本权重值,返回执行上述步骤103和104,即执行组成当前另一批次的训练子集和训练对象识别模型的步骤,这样,可以循环执行上述步骤103和104及更新样本权重值的步骤,直到针对所有批次的训练子集都进行处理。
[0090]
其中,在更新一个样本对象的样本权重值时,可以根据对象识别初始模型得到的该样本对象的类型,与当前批次的训练子集中相应样本对象的标注信息之间的差值进行更新,若差值大于一阈值,可以提高该样本对象的样本权重值,若差值小于另一阈值,可以降低该样本对象的样本权重值。这样,在对象训练初始模型对某一样本对象的类型预测不准确时,需要提高该样本对象的样本权重值,使得在调整对象训练初始模型中的参数值时,提高该样本对象的考虑比重,进而使得对对象训练模型的训练更准确。
[0091]
(2)在针对训练样本集对应的所有批次的训练子集进行了对象识别模型的一轮训练后,更新训练样本集中所有训练样本的样本权重值,得到所有训练样本的更新后样本权重值;然后再针对更新后样本权重值,开启对对象识别模型的下一轮训练,即返回执行上述步骤103和104中组成当前批次的训练子集和训练对象识别模型的步骤。
[0092]
这种情况下,更新一个训练样本的样本权重值具体是更新该训练样本中样本对象的样本权重值,具体地,可以先统计在一轮训练中,基于至少一个批次的训练子集中该样本对象分别训练对象识别模型时,得到的对象识别初始模型得到的该样本对象的类型,与一个批次的训练子集中相应样本对象的标注信息之间的差值,然后计算针对一个批次的训练子集得到的差值的平均值,若平均值大于一阈值,可以提高该样本对象的样本权重值,若平均值小于另一阈值,可以降低该样本对象的样本权重值。
[0093]
可见,在本实施例的方法中,模型训练系统会分别确定训练样本集的每个类型的样本子集中各个训练样本的样本权重值,并根据样本权重值从各个样本子集中分别选择至少一个训练样本,并将从多个样本子集中分别选择的至少一个训练样本组成当前批次的训练子集来训练对象识别模型。这样可以将训练样本集分为多个类型的样本子集,并通过样
本权重值来衡量各个样本子集中训练样本被选择的概率,来组成当前批次的训练子集,使得可以通过调整样本权重值来平衡训练样本被选择的概率,进而提高训练得到的对象识别模型对各种类型的训练样本进行识别的准确性。
[0094]
以下以一个具体的应用实例来说明本发明的模型训练方法,如图4所示,本实施例的模型训练方法可以包括如下步骤:
[0095]
步骤301,获取训练样本集,包括多个类型的样本子集,每个类型的样本子集包括多个训练样本,而每个训练样本包括一个样本对象及其标注信息,一个样本对象的标注信息具体为样本对象的类型信息。
[0096]
任一个类型的样本子集可以记为d={(xi,yi)},i∈(1,2,...,n),其中n为样本子集中训练样本的数量,其中,xi为样本对象,yi为样本对象的标注信息。
[0097]
步骤302,确定各个类型的样本子集的类型权重值。
[0098]
具体地,先统计各个类型的样本子集中包括的训练样本的数量,并根据统计的数量确定相应类型的样本子集的类型权重值,具体确定类型权重值的方法见上述实施例中所述,在此不进行赘述。
[0099]
步骤303,确定每个类型的样本子集中各个训练样本的样本权重值,这样,训练样本集中的每个训练样本都对应一个样本权重值和一个类型权重值,即各个样本对象都对应一个样本权重值和一个类型权重值。
[0100]
需要说明的是,对象识别模型对不同类型的训练样本进行预测时,会有不同的表现,有些训练样本能快地学习到相应特点,这些训练样本对对象识别模型来说是容易学习的简单样本;而有些训练样本经过对象识别模型的预测时,要么被预测为错误的类型,要么预测的置信度很低,这些训练样本对对象识别模型来说就是欠拟合的,因此需要在后续的学习阶段重点进行学习,这些训练样本被认为是难样本。
[0101]
基于这种情况,模型训练系统可以在确定一个样本子集中各个训练样本的样本权重值时,先确定出该样本子集中包括的训练样本中的难样本,并为这些难样本分配较高的样本权重值,从而提高了这些难样本被选择到训练子集中的概率,也要保证简单样本被选择到的概率,即提高了对象识别模型对难样本和简单样本识别的准确率。
[0102]
步骤304,根据每个类型的样本子集中各个训练样本的样本权重值,从相应的样本子集中选择至少一个训练样本,具体如何选择见上述实施例中所述,在此不进行赘述。
[0103]
例如图5所示,从一个类型的样本子集所包括的所有训练样本item
0,i
,i=1,2,...,k,...,n中选择一个样本权重值最大的训练样本item
0,k
,放入一个批次的训练子集中。
[0104]
步骤305,根据上述步骤304从各个类型的样本子集中分别选择的至少一个训练样本,组成当前批次的训练子集。
[0105]
具体地,在对象识别模型的训练过程中,由于硬件条件的限制,需要将整个训练样本集中的所有训练样本划分为多个批次的训练子集,为了保证对象识别模型对所有类型的训练样本都有相同的重视程度,可以组成一个批次的训练子集时,可以将从各个类型的训练子集进行编号i∈(0,1,2,...,m),并按照编号依次在一个批次的训练子集中填充上述步骤304从各个训练子集中分别选择的至少一个训练样本,可以保证每个类型的训练样本都具有相同的概率被对象识别模型学习。
peer)网络,p2p协议是一个运行在传输控制协议(tcp,transmission control protocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
[0117]
参见图7示出的区块链系统中各节点的功能,涉及的功能包括:
[0118]
1)路由,节点具有的基本功能,用于支持节点之间的通信。
[0119]
节点除具有路由功能外,还可以具有以下功能:
[0120]
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其它节点,供其它节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
[0121]
例如,应用实现的业务包括:实现模型训练功能的代码,该模型训练功能主要包括:
[0122]
获取训练样本集,所述训练样本集中包括多个类型的样本子集;分别确定每个类型的样本子集中的各个训练样本的样本权重值;根据所述每个类型的样本子集中训练样本的样本权重值,从相应类型的样本子集中分别选择至少一个训练样本,并将从所述多个类型的样本子集中分别选择的至少一个训练样本组成当前批次的训练子集;根据所述当前批次的训练子集训练对象识别模型,所述对象识别模型用于对目标对象的类型进行识别。
[0123]
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
[0124]
参见图8为本发明实施例提供的区块结构(block structure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
[0125]
本发明实施例还提供一种模型训练系统,其结构示意图如图9所示,具体可以包括:
[0126]
样本获取单元10,用于获取训练样本集,所述训练样本集中包括多个类型的样本子集。
[0127]
样本权重单元11,用于分别确定所述样本获取单元10获取的每个类型的样本子集中的各个训练样本的样本权重值。
[0128]
该样本权重单元11,具体用于确定一个类型的样本子集的所有训练样本中的难样本和简单样本;确定所述难样本的样本权重值大于一阈值,确定所述简单样本的样本权重值小于另一阈值。
[0129]
该样本权重单元11,具体用于将一个样本子集中各个训练样本的样本权重值分别对应预置轮盘的一个单位组成部分,转动所述预置轮盘;选择所述预置轮盘中指针所指向的样本权重值对应的训练样本;或者,将一个样本子集中所有训练样本的样本权重值作为向量,通过二分查找方法,获取到所述样本权重值最大的至少一个训练样本。
[0130]
或者,样本权重单元11,具体用于根据一个样本子集中各个训练样本的样本权重
值,为所述各个训练样本分配相应的被采样次数;根据所述各个训练样本的被采样次数,从所述一个样本子集中选择样本权重值最大的训练样本;更新所述选择的训练样本的被采样次数;循环执行所述选择训练样本及更新被采样次数的步骤,得到所述一个样本子集对应的至少一个训练样本。
[0131]
样本选择单元12,用于根据所述样本权重单元11确定的每个类型的样本子集中训练样本的样本权重值,从相应类型的样本子集中分别选择至少一个训练样本,并将从所述多个类型的样本子集中分别选择的至少一个训练样本组成当前批次的训练子集。
[0132]
训练单元13,用于根据所述样本选择单元12得到的当前批次的训练子集训练对象识别模型,所述对象识别模型用于对目标对象的类型进行识别。
[0133]
该训练单元13,具体用于确定对象识别初始模型;通过所述对象识别初始模型分别识别所述当前批次的训练子集中各个样本对象的类型;根据所述对象识别初始模型得到的各个样本对象的类型,及所述当前批次的训练子集中相应样本对象的标注信息及其样本权重值,调整所述对象识别初始模型,以得到最终的对象识别模型。
[0134]
其中,训练单元13在根据所述对象识别初始模型得到的各个样本对象的类型,及所述当前批次的训练子集中相应样本对象的标注信息及其样本权重值,调整所述对象识别初始模型时,具体用于根据所述对象识别初始模型得到的各个样本对象的类型,及所述当前批次的训练子集中相应样本对象的标注信息及其样本权重值,计算与所述对象识别初始模型相关的损失函数;根据所述损失函数调整所述对象识别初始模型中的参数值。
[0135]
进一步地,本实施例的模型训练系统还会包括:类型权重单元14和权重调整单元15,其中:
[0136]
类型权重单元14,用于分别确定每个类型的样本子集的类型权重值;则训练单元13,具体用于根据所述对象识别初始模型得到的各个样本对象的类型,及所述当前批次的训练子集中相应样本对象的标注信息及其样本权重值和类型权重单元14确定的类型权重值,计算与所述对象识别初始模型相关的损失函数。
[0137]
其中,类型权重单元14,具体用于对一个类型的样本子集包括的训练样本的数量求倒数,得到一倒数值,将所述一倒数值作为所述一个类型的样本子集的类型权重值;或者,计算一个类型的样本子集包括的训练样本的数量的倒数,与所述每个类型的样本子集中训练样本的数量的倒数之和的比值,将所述比值的函数计算值作为所述一个类型的样本子集的类型权重值。
[0138]
权重调整单元15,用于根据所述对象识别初始模型得到的各个样本对象的类型,及所述当前批次的训练子集中相应样本对象的标注信息,更新相应样本对象的样本权重值,得到所述各个样本对象的更新后样本权重值;针对所述更新后样本权重值,通知所述样本选择单元12执行所述组成当前批次的训练子集和训练单元13执行训练对象识别模型的步骤。
[0139]
或者,权重调整单元15,用于针对所述训练样本集对应的所有批次的训练子集进行所述对象识别模型的一轮训练后,更新所述训练样本集中所有训练样本的样本权重值,得到所述所有训练样本的更新后样本权重值;针对所述更新后样本权重值,通知所述样本选择单元12执行所述组成当前批次的训练子集和训练单元13执行训练对象识别模型的步骤。
[0140]
可见,在本实施例的模型训练系统中,样本权重单元11会分别确定训练样本集的每个类型的样本子集中各个训练样本的样本权重值,由样本选择单元12根据样本权重值从各个样本子集中分别选择至少一个训练样本,训练单元13将从多个样本子集中分别选择的至少一个训练样本组成当前批次的训练子集来训练对象识别模型。这样可以将训练样本集分为多个类型的样本子集,并通过样本权重值来衡量各个样本子集中训练样本被选择的概率,来组成当前批次的训练子集,使得可以通过调整样本权重值来平衡训练样本被选择的概率,进而提高训练得到的对象识别模型对各种类型的训练样本进行识别的准确性。
[0141]
本发明实施例还提供一种终端设备,其结构示意图如图10所示,该终端设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)20(例如,一个或一个以上处理器)和存储器21,一个或一个以上存储应用程序221或数据222的存储介质22(例如一个或一个以上海量存储设备)。其中,存储器21和存储介质22可以是短暂存储或持久存储。存储在存储介质22的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对终端设备中的一系列指令操作。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中的一系列指令操作。
[0142]
具体地,在存储介质22中储存的应用程序221包括模型训练的应用程序,且该程序可以包括上述模型训练系统中的样本获取单元10,样本权重单元11,样本选择单元12,训练单元13,类型权重单元14和权重调整单元15,在此不进行赘述。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中储存的模型训练的应用程序对应的一系列操作。
[0143]
终端设备还可以包括一个或一个以上电源23,一个或一个以上有线或无线网络接口24,一个或一个以上输入输出接口25,和/或,一个或一个以上操作系统223,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等等。
[0144]
上述方法实施例中所述的由模型训练系统所执行的步骤可以基于该图10所示的终端设备的结构。
[0145]
本发明实施例另一方面还提供一种计算机可读存储介质,所述计算机可读存储介质储存多个计算机程序,所述计算机程序适于由处理器加载并执行如上述模型训练系统所执行的模型训练方法。
[0146]
本发明实施例另一方面还提供一种终端设备,包括处理器和存储器;
[0147]
所述存储器用于储存多个计算机程序,所述计算机程序用于由处理器加载并执行如上述模型训练系统所执行的模型训练方法;所述处理器,用于实现所述多个计算机程序中的各个计算机程序。
[0148]
另外,根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的模型训练方法。
[0149]
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom)、随机存取存储器(ram)、磁盘或光盘等。
[0150]
以上对本发明实施例所提供的一种模型训练方法、系统及存储介质和终端设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1