基于有限数据的分类模型训练方法和终端设备与流程

文档序号:17549571发布日期:2019-04-30 18:10阅读:203来源:国知局
基于有限数据的分类模型训练方法和终端设备与流程

本发明属于机器学习技术领域,尤其涉及一种基于有限数据的分类模型训练方法和终端设备。



背景技术:

在传统的机器学习的框架下,学习的任务就是在给定的训练数据的基础上,通过不断优化模型的参数而得到一个符合预期学习效果的分类模型,然后利用这个分类模型执行自动分类或判断的工作,例如,对文档进行分类。然而,机器学习在当前的研究中存在着两个关键的问题:

(1)耗时长。以深度学习为例,深度学习是一个大型的神经网络模型,层数比较多,训练需要耗费很长时间,且越复杂的神经网络模型所需要的训练数据越多,训练所需时间也就越多。

(2)消耗资源。仍以深度学习为例,大型神经网络模型的训练需要大量数据支撑,至少需要数千或数百万个标记样本。海量训练数据需要人工预先完成标注或分类,以保证训练的可靠性,消耗了大量的人力与物力。大量的训练数据、模型参数以及模型各层响应还会消耗大量内存。



技术实现要素:

有鉴于此,本发明实施例提供了一种基于有限数据的分类模型训练方法和终端设备,以解决现有技术对机器分类模型进行训练时耗时较长和训练所需数据过多的问题。

根据第一方面,本发明实施例提供了一种基于有限数据的分类模型训练方法,包括:获取预设的预训练模型和数据集;对所述数据集进行预分类,并根据分类结果将所述数据集对应划分为多个子集;分别从各个所述子集中抽取设定数量的样本组成训练集和测试集;根据所述训练集训练所述预训练模型;根据所述测试集测试训练后的所述预训练模型,并获取测试结果;根据所述测试结果对训练后的所述预训练模型进行评估。

本发明实施例提供的基于有限数据的分类模型训练方法,改变了普通机器学习直接对一个新建的分类模型进行训练的方式,通过有限的新数据对预训练模型进行训练,从而优化预训练模型中的部分参数,使其适应新的数据分类任务,从而达到快速完成分类模型训练的目的。由于预训练模型是已应用于其他分类问题的模型,相较于新建模型,对其进行适应性训练和局部优化所需的时间和数据量必然大幅减小,从而解决了现有技术对机器分类模型进行训练时耗时较长和训练所需数据过多的问题。

结合第一方面,在第一方面第一实施方式中,所述训练集和所述测试集为两个互斥的集合。

本发明实施例提供的基于有限数据的分类模型训练方法,通过将数据量有限的数据集划分为互斥的训练集和测试集,从而使测试集中的数据不同于训练集中的数据,进而使得利用测试集对预训练模型进行测试的测试结果具有独立性,能够公正客观地反应模型的分类性能。

结合第一方面第一实施方式,在第一方面第二实施方式中,所述训练集和所述测试集具有相同的数据分布特性。

本发明实施例提供的基于有限数据的分类模型训练方法,为了避免每次划分数据集时引入额外的偏差而对最终的模型训练结果产生影响,在划分的时候尽可能保证数据分布的一致性。

结合第一方面或第一方面第一或第二实施方式,在第一方面第三实施方式中,所述根据所述测试结果对训练后的所述预训练模型进行评估,包括:判断所述测试结果是否符合预设的应用需求;当所述测试结果符合预设的应用需求时,输出训练后的所述预训练模型。

本发明实施例提供的基于有限数据的分类模型训练方法,在利用训练集对预训练模型进行局部优化训练,以及利用测试集对预训练模型进行测试之后,通过比较测试结果与预设的应用需求之间是否符合,判断是否结束对预训练模型的优化训练,能够在每次训练后及时检验训练效果,避免训练达标后仍进行训练而造成时间损耗。

结合第一方面第三实施方式,在第一方面第四实施方式中,所述根据所述测试结果对训练后的所述预训练模型进行评估,还包括:当所述测试结果不符合预设的应用需求时,重复执行所述分别从各个所述子集中抽取设定数量的样本组成训练集和测试集;根据所述训练集训练所述预训练模型;根据所述测试集测试训练后的所述预训练模型,并获取测试结果;根据所述测试结果对训练后的所述预训练模型进行评估的步骤,直至所述测试结果符合预设的应用需求。

本发明实施例提供的基于有限数据的分类模型训练方法,利用测试集对预训练模型进行测试之后,如果发现模型仍不满足预设的应用需求时,通过更新训练集能够反复对预训练模型进行优化训练,从而保证最终所得分类模型能够符合预设的应用需求,保证分类模型在今后实际应用中的安全性和可靠性。

结合第一方面第三实施方式,在第一方面第五实施方式中,所述测试结果为训练后的所述预训练模型对所述测试集的分类正确率。

本发明实施例提供的基于有限数据的分类模型训练方法,将分类正确率作为检验模型训练是否能够结束的判断依据,具有直观和计算便捷的优点。

结合第一方面第五实施方式,在第一方面第六实施方式中,所述判断所述测试结果是否符合预设的应用需求,包括:判断所述分类正确率是否等于或大于预设阈值;当所述分类正确率等于或大于预设阈值时,判定所述测试结果符合预设的应用需求。

本发明实施例提供的基于有限数据的分类模型训练方法,将分类正确率作为模型的测试检验对象,并通过分类正确率与预设阈值之间的比较,判断测试结果是否符合预设的应用需求,具有直观和计算便捷的优点。

根据第二方面,本发明实施例提供了一种分类模型训练装置,包括:输入单元,用于获取预设的预训练模型和数据集;数据划分单元,用于对所述数据集进行预分类,并根据分类结果将所述数据集对应划分为多个子集;以及用于分别从各个所述子集中抽取设定数量的样本组成训练集和测试集;训练单元,用于根据所述训练集训练所述预训练模型;测试单元,用于根据所述测试集测试训练后的所述预训练模型,并获取测试结果;评估单元,用于根据所述测试结果对训练后的所述预训练模型进行评估。

根据第三方面,本发明实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面或第一方面任一实施方式所述的基于有限数据的分类模型训练方法的步骤。

根据第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面任一实施方式所述的基于有限数据的分类模型训练方法的步骤。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的基于有限数据的分类模型训练方法的一个具体示例的流程图;

图2是本发明实施例提供的基于有限数据的分类模型训练方法的另一个具体示例的流程图;

图3是本发明实施例提供的分类模型训练装置的一个具体示例的结构示意图;

图4是本发明实施例提供的终端设备的一个具体示例的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

本发明实施例提供了一种基于有限数据的分类模型训练方法,如图1所示,该基于有限数据的分类模型训练方法可以包括以下步骤:

步骤s101:获取预设的预训练模型和数据集。在一具体实施方式中,预训练模型可以是为了解决类似的分类或识别等问题所创造出来的模型。一个预训练模型可能对于应用中并不是100%的准确对口,但是它可以为模型训练节省大量时间。数据集可以是为了具体应用而采集并标记的数据,其数据量相对有限。由于预训练模型是已经经过其他的大量类似结构的数据训练过的模型,因此,对其进行适应性的局部参数优化时,并不像训练一个全新模型那样需要海量的训练数据。使用与具体应用相契合的有限数据,对预训练模型稍加调整,能够使模型应用于全新的领域并解决新的分类问题。

步骤s102:对数据集进行预分类,并根据分类结果将数据集对应划分为多个子集。

在一具体实施方式中,可以通过以下几个子步骤实现预分类的过程:

步骤s1021:获取预设的聚类特征。

在实际应用中,可以对数据集中的部分数据进行聚类迭代划分,得出对应的多个聚类簇族及每个簇的中心,将多个聚类簇族作为预设的聚类特征。

步骤s1022:根据聚类特征对数据集中的各个样本分类。

一种可实现方式,假设聚类个数为k,数据集的样本数为n,则:

a1,首先从n个数据样本中任意选择k个数据样本作为聚类中心(即初始聚类中心);

a2,针对剩余的数据样本,计算每个剩余的数据样本到每个聚类中心的欧式距离,并根据欧式距离的大小分别将每个剩余的数据样本分配给与其最相似的聚类中心所代表的聚类;

a3,重新计算已经得到的每个聚类的聚类中心,即每个聚类中所有数据样本的均值;

a4,迭代a2至a3步骤,直至预设的标准测度函数开始收敛为止,从而将数据集对应划分为多个子集。

在本实施例中,可以采用均方差作为预设的标准测度函数。

步骤s103:分别从各个子集中抽取设定数量的样本组成训练集和测试集。在实际应用中,可以依次从各个子集中抽取k1个样本,将上述k1个样本合并从而形成训练集;此后,再依次从各个子集中抽取k2个样本,将上述k2个样本合并从而形成测试集。通过对数据量有限的各个子集进行随机抽样,能够推演出多组不同的训练集和测试集,从而实现了有限数据为基础的模型优化训练。此外,在划分训练集和测试集的过程中,应当使训练集和测试集具有相同或大致相同的数据分布特性,从而避免每次划分训练集和测试集时引入偏差而对最终的模型训练结果产生影响。由于在划分训练集和测试集时,均从各个子集中等数量的抽取样本,可以保证最终得到的训练集和测试集具有相同的数据分布特性。并且,训练集和测试集中的样本并不相同,从而保证了训练集和测试集的互斥性。

步骤s104:根据训练集训练预训练模型。通过步骤s102和步骤s103后,数据集被划分为一组训练集和测试集。利用训练集的数据,能够对预训练模型进行局部优化训练,调整预训练模型中某些中间层的参数,使调整或改造后的预训练模型适用于构成数据集的数据类型,进而将调整或改造后的预训练模型应用于对应数据类型的分类或识别等任务中。

步骤s105:根据测试集测试训练后的预训练模型,并获取测试结果。利用测试集能够对训练后的预训练模型进行分类效果的测试,从而检验训练后的预训练模型是否能够应用于对应数据类型的分类或识别等任务中。

步骤s106:根据测试结果对训练后的预训练模型进行评估。如图2所示,可以通过以下几个子步骤实现步骤s106根据测试结果对训练后的预训练模型进行评估的过程:

步骤s1061:判断测试结果是否符合预设的应用需求。当测试结果符合预设的应用需求时,执行步骤s1052;当测试结果不符合预设的应用需求时,返回执行步骤s103。

步骤s1062:输出训练后的预训练模型。在一具体实施方式中,测试结果可以是经训练集训练后的预训练模型对测试集的分类正确率。当分类正确率等于或大于预设阈值,即测试结果符合预设的应用需求时,可以认为对预训练模型的局部优化已到达预期目的,该模型能够可靠应用于对应数据类型的分类或识别等任务中。

当分类正确率小于预设阈值,即测试结果不符合预设的应用需求时,说明预训练模型仍需继续进行优化训练。通过重复执行步骤s103至步骤s104,能够实现不同的训练集及其对应测试集对预训练模型的反复训练和测试,从而不断优化预训练模型的局部参数,最终使测试结果符合预设的应用需求,从而保证本发明实施例最终输出的预训练模型能够可靠应用于对应数据类型的分类或识别等任务中。

应理解,上述方法实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

本发明实施例提供的基于有限数据的分类模型训练方法,改变了普通机器学习直接对一个新建的分类模型进行训练的方式,通过有限的新数据对预训练模型进行训练,从而优化预训练模型中的部分参数,使其适应新的数据分类任务,从而达到快速完成分类模型训练的目的。由于预训练模型是已应用于其他分类问题的模型,相较于新建模型,对其进行适应性训练和局部优化所需的时间和数据量必然大幅减小,从而解决了现有技术对机器分类模型进行训练时耗时较长和训练所需数据过多的问题。

本发明实施例还提供了一种分类模型快速训练装置,如图3所示,该分类模型快速训练装置可以包括:输入单元301、数据划分单元302、训练单元303、测试单元304和评估单元305。

其中,输入单元301用于获取预设的预训练模型和数据集;其具体的工作过程可参见上述方法实施例中步骤s101所述。

数据划分单元302用于对数据集进行预分类,并根据分类结果将数据集对应划分为多个子集;以及用于分别从各个子集中抽取设定数量的样本组成训练集和测试集;其具体的工作过程可参见上述方法实施例中步骤s102至步骤s103所述。

训练单元303用于根据训练集训练预训练模型;其具体的工作过程可参见上述方法实施例中步骤s104所述。

测试单元304用于根据测试集测试训练后的预训练模型,并获取测试结果;其具体的工作过程可参见上述方法实施例中步骤s105所述。

评估单元305用于根据测试结果对训练后的预训练模型进行评估;其具体的工作过程可参见上述方法实施例中步骤s106所述。

本发明实施例还提供了一种终端设备,如图4所示,该终端设备可以包括处理器401和存储器402,其中处理器401和存储器402可以通过总线或者其他方式连接,图4中以通过总线连接为例。

处理器401可以为中央处理器(centralprocessingunit,cpu)。处理器401还可以为其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。

存储器402作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的基于有限数据的分类模型训练方法对应的程序指令/模块(例如,图3所示的输入单元301、数据划分单元302、训练单元303、测试单元304和评估单元305)。处理器401通过运行存储在存储器402中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的基于有限数据的分类模型训练方法或基于有限数据的分类模型训练方法。

存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器401所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至处理器401。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述一个或者多个模块存储在所述存储器402中,当被所述处理器401执行时,执行如图1至图2所示实施例中的基于有限数据的分类模型训练方法。

上述终端设备具体细节可以对应参阅图1至图2所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。

本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)、随机存储记忆体(randomaccessmemory,ram)、快闪存储器(flashmemory)、硬盘(harddiskdrive,缩写:hdd)或固态硬盘(solid-statedrive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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