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

文档序号:16432637发布日期:2018-12-28 20:15阅读:174来源:国知局
模型训练方法、装置、设备及存储介质与流程

本申请实施例涉及计算机技术领域,尤其涉及一种模型训练方法、装置、设备及存储介质。

背景技术

现有技术在训练模型时,往往需要大量数据经过多轮训练才能获得最终的模型,其中,每轮训练的样本数据完全相同,比如一个数据集中有10000个数据,那么在训练模型时,每轮训练采用的样本数据均为该10000个数据,每轮训练的数据量均较大,模型训练的效率较低。



技术实现要素:

本申请实施例提供一种模型训练方法、装置、设备及存储介质,用以提升模型训练的效率和模型的准确性。

本申请实施例第一方面提供一种模型训练方法,包括:获取样本数据集;基于所述样本数据集对模型进行多轮训练,在训练过程中,采用前一轮训练中得到的困难样本进行下一轮的训练,直至所述模型基于所述样本数据集中的所有样本均能输出正确结果为止,得到目标模型,其中,所述困难样本是指在训练过程中预先标定结果与模型输出结果不一致的样本。

本申请实施例第二方面提供一种模型训练装置,包括:获取模块,用于获取样本数据集;训练模块,用于基于所述样本数据集对模型进行多轮训练,在训练过程中,采用前一轮训练中得到的困难样本进行下一轮的训练,直至所述模型基于所述样本数据集中的所有样本均能输出正确结果为止,得到目标模型,其中,所述困难样本是指在训练过程中预先标定结果与模型输出结果不一致的样本。

本申请实施例第三方面提供一种计算机设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第一方面所述的方法。

本申请实施例第四方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的方法。

基于以上各方面,本申请实施例通过获取样本数据集,在基于样本数据集对模型进行多轮训练时,基于前一轮训练中预先标定结果与模型输出结果不一致的困难样本进行下一轮的训练,直至模型基于样本数据集中的所有样本均能输出正确结果为止,得到目标模型。由于本申请实施例在训练模型的过程中是基于前一轮训练中得到的困难样本进行下一轮训练的,而不是基于样本数据集中的全部样本进行每一轮的训练,随着模型训练轮数越来越多,困难样本会越来越少,也就是说本申请实施例随着训练轮数的增加每一轮中的训练数据会越来越少,从而降低了训练的总数量,提升了模型的训练效率。另外,由于本申请实施例中后一轮训练时基于的均是前一轮训练得到的困难样本,从而能够排除简单样本对后续训练的影响,避免简单样本带偏模型的学习路线,提高了模型的准确性。

应当理解,上述发明内容部分中所描述的内容并非旨在限定本申请的实施例的关键或重要特征,亦非用于限制本申请的范围。本公申请的其它特征将通过以下的描述变得容易理解。

附图说明

图1是现有技术提供的模型训练场景示意图;

图2是本申请实施例提供的一种模型训练场景的示意图;

图3是本申请实施例提供的一种模型训练方法的流程图;

图4是本申请实施例提供的一种模型训练方法的流程图;

图5是本申请实施例提供的一种模型训练装置的结构示意图;

图6是本申请实施例提供的一种模型训练装置的结构示意图。

具体实施方式

下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。

本申请实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为了便于描述首先对本申请实施例中的名词进行解释:

简单样本:若样本输入模型后,模型的输出结果与预先标定的结果一致,则称这个样本为简单样本。

困难样本:若样本输入模型后,模型的输出结果与预先标定的结果不一致,则称这个样本为困难样本。

图1是现有技术提供的模型训练场景示意图,图1所示场景包括样本数据集b1,和模型b0,在基于样本数据集b1训练模型b0时,通常需要经过多轮训练才能使得模型收敛(在图1中经过n轮训练模型收敛),其每轮训练均采用的是样本数据集中的全部样本。但是在一轮训练中,某些样本在输入模型后,模型输出的结果可能与样本预先标定的结果是一致的,这说明模型已经能够基于这些样本得到正确的结果,若是在下一轮训练中仍将这些样本作为训练样本参与训练,就会影响模型的训练效率,甚至可能带偏模型的学习方向,造成模型不准确。

针对现有技术存在的上述问题,本申请实施例提供了一种模型训练方法。图2是本申请实施例提供的一种模型训练场景的示意图。在图2中为了叙述简便仅示例性的给出了相邻两轮训练的方法,但是本领域技术人员应该清楚的是,该方法可以应用到模型训练的每一轮中。如图2所示,其中,在第i轮训练时,模型b0的输入数据为样本a和样本b,其中模型b0基于样本a输出的结果与样本a预先标定的输出结果不一致,模型b0基于样本b输出的结果与样本b预先标定的输出结果一致,则在第i+1轮训练中仅将样本a作为输入数据来训练样本,这样就能避免在样本b训练结果正确时仍采用样本b训练模型,所导致的模型训练效率低的问题,同时也能够避免模型训学习方向被带偏的问题,提高了模型的训练效率和准确性。当然图2仅是示例说明而不是对本申请的唯一限定。

下面结合示例性的实施例对本申请技术方案进行详细的阐述:

图3是本申请实施例提供的一种模型训练方法的流程图,该方法可以由一种模型训练装置来执行,如图3所示,该方法包括s11-s12:

s11、获取样本数据集。

本实施例涉及的样本数据集中包括模型训练所需的所有样本,每个样本均预先标定模型的输出结果。本实施例中的样本可以是图像或者其他任意一种数据类型的样本,为了方便理解,可示例性的将本实施例中的样本理解为图像。

s12、基于所述样本数据集对模型进行多轮训练,在训练过程中,采用前一轮训练中得到的困难样本进行下一轮的训练,直至所述模型基于所述样本数据集中的所有样本均能输出正确结果为止,得到目标模型,其中,所述困难样本是指在训练过程中预先标定结果与模型输出结果不一致的样本。

在本实施例中需要通过多轮训练才能获得目标模型,具体训练的轮数与模型何时收敛有关,比如,在第100轮训练之后模型收敛,则最终训练的总轮数为100,若在第100轮时模型还没有收敛,则继续训练模型,直至模型收敛为止。

本实施例在基于前一轮得到的困难样本对模型进行下一轮训练时,可采用的方法包括多种:

在一种可能的方法中,可以直接将前一轮得到的困难样本作为下一轮训练时的训练样本,基于困难样本对模型进行训练,依此类推直至模型收敛为止。

在另一种可能的方法中,在基于前一轮的训练结果获得困难样本后,先基于预设的数据增量处理方法对困难样本进行数据增量处理,得到增量样本,再将前一轮训练得到的困难样本和增量样本作为下一轮的训练样本训练模型,依此类推直至模型收敛为止。

当然上述两种可能的方法仅是为了清除说明所列举的两种最后可能的方法,而不是本申请可采用的全部方法,实际上,具体如何基于困难样本进行下一轮训练,可以根据需要进行设定,而不是仅局限于某一种方法,只要能够达到在下一轮训练中排除简单样本的目的即可。

本实施例通过获取样本数据集,在基于样本数据集对模型进行多轮训练时,基于前一轮训练中预先标定结果与模型输出结果不一致的困难样本进行下一轮的训练,直至模型基于样本数据集中的所有样本均能输出正确结果为止,得到目标模型。由于本实施例在训练模型的过程中是基于前一轮训练中得到的困难样本进行下一轮训练的,而不是基于样本数据集中的全部样本进行每一轮的训练,随着模型训练轮数越来越多,困难样本会越来越少,也就是说本申请实施例随着训练轮数的增加每一轮中的训练数据会越来越少,从而降低了训练的总数量,提升了模型的训练效率。另外,由于本实施例中后一轮训练时基于的均是前一轮训练得到的困难样本,从而能够排除简单样本对后续训练的影响,避免简单样本带偏模型的学习路线,提高了模型的准确性。

下面结合示例性的实施例对上述实施例进行进一步的扩展和优化:

图4是本申请实施例提供的一种模型训练方法的流程图,该方法在图3实施例的基础上,进一步的提供了如何采用前一轮训练中得到的困难样本进行下一轮训练的方法,如图4所示,该方法包括步骤s21-s22:

s21、对前一轮训练中得到的困难样本进行数据增量处理,获得增量样本。

s22、基于所述困难样本和所述增量样本进行下一轮训练。

其中,本实施例在对困难样本进行增量处理时,可采用的方法包括如下几种:

在一种可能的方法中,可以基于预先设置的生成式对抗网络(gan)对前一轮训练中得到的困难样本进行数据增量处理,得到增量样本,增量样本的数量可以根据需要进行设定,本实施例不做具体限定。

在另一种可能的方法中,可以通过对困难样本进行加权求和得到增量样本,比如,在前一轮训中练得到的困难样本有n个,n大于等于2,则可以从n个困难样本中随机获得多个困难样本或者可以根据配置获得预设个数的困难样本进行加权求和,得到增量样本,若目标得到10个增量样本则可以依据前述方法执行10次加权求和处理得到10个增量样本。在进行加权求和时,各困难样本的加权值可以随机设定,或者各困难样本之间可以采用相同的加权值,比如当对两个困难样本进行加权求和时,各困难样本的加权值可以是二分之一。当然上述举例仅为示例说明而不是对本申请的唯一限定。

在又一种可能的方法中,可以对前一次训练获得的简单样本和困难样本进行加权求和处理得到增量样本,在进行加权求和时,最大加权值总是对应困难样本,也就是说,不论将几个困难样本和几个简单样本进行加权求和,加权求和中的最大加权值总是对应的某一个或几个困难样本。这样就能够保证加权求和后得到的增量样本仍旧是困难样本,从而在基于增量样本对模型进行训练时,就能保证模型训练的方向不会被简单样本干扰,提高模型的准确性。

本实施例通过对前一轮训练中得到的困难样本进行数据增量处理,获得增量样本,再基于困难样本和增量样本对模型进行下一轮训练,使得每一轮训练都有足够丰富的样本含量,同时又能够避免简单样本带偏模型学习的方向,提高了模型的学习效率以及模型的准确性。

图5是本申请实施例提供的一种模型训练装置的结构示意图,如图5所示,装置30包括:

获取模块31,用于获取样本数据集;

训练模块32,用于基于所述样本数据集对模型进行多轮训练,在训练过程中,采用前一轮训练中得到的困难样本进行下一轮的训练,直至所述模型基于所述样本数据集中的所有样本均能输出正确结果为止,得到目标模型,其中,所述困难样本是指在训练过程中预先标定结果与模型输出结果不一致的样本。

本实施例提供的装置能够用于执行图3实施例的方法,其执行方式和有益效果类似,在这里不再赘述。

图6是本申请实施例提供的一种模型训练装置的结构示意图,如图6所示,在图5实施例的基础上,训练模块32,包括:

增量处理子模块321,用于对前一轮训练中得到的困难样本进行数据增量处理,获得增量样本;

训练子模块322,用于基于所述困难样本和所述增量样本进行下一轮训练。

其中,在一种可能的设计中,所述增量处理子模块,包括:

第一处理子单元,用于基于预先设置的gan网络对前一轮训练中得到的困难样本进行数据增量处理,获得增量样本。

在另一种可能的设计中,所述增量处理子模块,包括:

第二处理子单元,用于对前一轮训练中得到的困难样本进行加权求和处理,得到增量样本。

在又一种可能的设计中,所述增量处理子模块,包括:

第三处理子单元,用于将前一轮训练中得到的困难样本与前一轮训练中得到的简单样本进行加权求和处理,获得增量样本,其中,所述简单样本是指在训练过程中预先标定结果与模型输出结果一致的样本。

本实施例提供的装置能够用于执行图4实施例的方法,其执行方式和有益效果类似,在这里不再赘述。

本申请实施例还提供一种计算机设备,包括:一个或多个处理器;

存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一实施例所述的方法。

本申请实施例还提供在一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述的方法。

本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)等等。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1