CN109948807A - 一种主动学习方法及装置 - Google Patents
一种主动学习方法及装置 Download PDFInfo
- Publication number
- CN109948807A CN109948807A CN201910193835.6A CN201910193835A CN109948807A CN 109948807 A CN109948807 A CN 109948807A CN 201910193835 A CN201910193835 A CN 201910193835A CN 109948807 A CN109948807 A CN 109948807A
- Authority
- CN
- China
- Prior art keywords
- data
- thread
- machine learning
- module
- mid
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000013016 learning Effects 0.000 title claims abstract description 37
- 238000010801 machine learning Methods 0.000 claims abstract description 126
- 238000012360 testing method Methods 0.000 claims abstract description 56
- 238000011156 evaluation Methods 0.000 claims abstract description 28
- 230000008569 process Effects 0.000 claims abstract description 20
- 238000012549 training Methods 0.000 claims description 44
- 230000008676 import Effects 0.000 claims description 35
- 238000003860 storage Methods 0.000 claims description 25
- 230000002452 interceptive effect Effects 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 4
- 230000001360 synchronised effect Effects 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 15
- 238000009826 distribution Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000011017 operating method Methods 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种主动学习方法及装置,所述方法包括:获取已标注样本数据;使用机器学习模型对所述已标注样本数据进行训练,得到中间模型;将测试数据输入所述中间模型进行预测,得到所述测试数据对应的预测结果;根据预设评价指标,将边界模糊的预测结果对应的测试数据作为待标注样本数据输出;其中,采用多线程并行的方式对所述机器学习模型进行训练以及使用所述中间模型进行预测。本发明提供用户一通用性强的机器学习平台。本发明可以减少对输入模型用于训练的样本数据的标注量、减少进行人工标注的人力成本和有效提高处理效率。以最小的标注数据代价,快速迭代优化模型的效果。实现处理资源的最小化消耗。
Description
技术领域
本发明涉及互联网通信技术领域,尤其涉及一种主动学习方法及装置。
背景技术
近年来,随着一系列互联网技术比如大数据(big data)、机器学习(MachineLearning,ML)、人工智能(Artificial Intelligence,AI)、高性能计算等的快速发展,各行各业都基于互联网搭建服务,通过移动终端提供个性化的服务给数亿规模的用户。而基于互联网的服务,其中关键的技术之一是利用人工智能和大数据能力给用户提供个性化的服务。比如购物网站根据用户的历史购物行为推荐相关的商品、广告系统根据用户的历史点击行为推荐合适的广告、金融系统根据历史交易行为判别欺诈交易等。
为了给用户提供更好的服务,往往需要积累一定量的有价值的用户数据。现有的机器学习中通过大量的标注数据进行训练以达到目的效果。然而,当数据巨量时,需要对数据进行人工标注,这样则会耗费大量的人力成本且处理效率低。因此,需要提供更高效的方案。
发明内容
为了解决现有技术应用在机器学习中对样本数据标注时效率低等问题,本发明提供了一种主动学习方法及装置:
一方面,本发明提供了一种主动学习方法,所述方法包括:
获取已标注样本数据;
使用机器学习模型对所述已标注样本数据进行训练,得到中间模型;
将测试数据输入所述中间模型进行预测,得到所述测试数据对应的预测结果;
根据预设评价指标,将边界模糊的预测结果对应的测试数据作为待标注样本数据输出;
其中,采用多线程并行的方式对所述机器学习模型进行训练以及使用所述中间模型进行预测,
另一方面提供了一种主动学习装置,所述装置包括:
已标注数据获取模块:用于获取已标注样本数据;
模型管理模块:用于使用机器学习模型对所述已标注样本数据进行训练,得到中间模型;将测试数据输入所述中间模型进行预测,得到所述测试数据对应的预测结果;以及根据预设评价指标,将边界模糊的预测结果对应的测试数据作为待标注样本数据输出;
其中,采用多线程并行的方式对所述机器学习模型进行训练以及使用所述中间模型进行预测。
另一方面提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述的主动学习方法。
另一方面提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述的主动学习方法。
本发明提供的一种主动学习方法及装置,具有如下技术效果:
本发明提供用户一通用性强的机器学习平台。本发明可以减少对输入模型用于训练的样本数据的标注量、减少进行人工标注的人力成本和有效提高处理效率。以最小的标注数据代价,快速迭代优化模型的效果。实现处理资源的最小化消耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明实施例提供的一种主动学习任务运行环境的示意图;
图2是本发明实施例提供的模型训练和模型预测的一种示意图;
图3是本发明实施例提供的一种主动学习方法的流程示意图;
图4是本发明实施例提供的使用机器学习模型对所述已标注样本数据进行训练,得到中间模型的一种流程示意图;
图5是本发明实施例提供的将测试数据输入所述中间模型进行预测,得到所述测试数据对应的预测结果的一种流程示意图;
图6是本发明实施例提供的一种主动学习装置的组成框图;
图7也是本发明实施例提供的一种主动学习装置的组成框图;
图8是本发明实施例提供的主动学习装置的一种实现框架图;
图9是本发明实施例提供的前端交互页面的示意图;
图10是本发明实施例提供的长尾语料数据的示意图;
图11是本发明实施例提供的长尾语料数据的训练模型效果对比图;
图12是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,图1是本发明实施例提供的一种主动学习任务运行环境的示意图,如图1所示,该运行环境可以包括客户端01和服务器02。
具体的,客户端01可以包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备、车载、音箱、电视、机器人等类型的实体设备,也可以包括运行于实体设备中的软体,例如虚拟机等。本发明实施例中客户端01可以支持用户通过人类语言和设备交互。
具体的,本说明书实施例中,所述服务器02可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。服务器02可以包括有网络通信单元、处理器和存储器等。具体的,所述服务器02可以为上述客户端提供后台服务。
在实际应用中,在向用户提供服务的过程中,当客户端接收到当前模型预测模糊的测试数据时,可以通过人工标注来不断增强对用户获取服务的预测的理解能力。本说明书实施例中,服务器将每一个经预测后存在模糊边界的测试数值作为待标注样本数据输出至客户端,以便用户对这些数据进行人工标注。
在实际应用中,可以向用户提供的多样的服务。例如,提供语音识别(speechrecognition)的服务,实现将语音数据映射到完整文本的效果;提供信息检索(informationretrieval)领域的服务,实现标记出文档中的关键实体(如人名、地名、事件等)的效果;提供分类过滤(classification and filtering)的服务,实现分析数据内容而标注为相关或者不相关的效果。服务实现可以支持任意多个用户基于客户端的同时操作。
如图2所示,图2是本发明实施例提供的模型训练和模型预测的一种示意图。从图中可见,在基于一定量的已标注样本数据进行机器学习训练得到中间模型后,将测试数据输入该中间模型进行预测,该中间模型可以根据预设评价指标,将边界模糊的预测结果对应的测试数据作为待标注样本数据输出。这些边界模糊的预测结果对应的测试数据经人工标注后,可以再输入模型进行训练。
以下介绍本发明一种主动学习的方法,图3是本发明实施例提供的一种主动学习方法的流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图3所示,所述方法可以包括:
S301:获取已标注样本数据;
本说明书实施例中,可以先采集大量样本数据,对所述样本数据中的一部分甚至少量进行标注生成所述已标注样本数据。比如当样本数据的数据量为10000时,对其中的10%进行标注。具体的,可以在线下完成标注工作,也可以在线上完成。已标注数据可以通过数据库和/或磁盘文件等进行存储。
S302:使用机器学习模型对所述已标注样本数据进行训练,得到中间模型;
本说明书实施例中,所述机器学习模型并不仅限于神经网络机器学习模型,在实际应用中,还可以包括其他机器学习模型,例如决策树机器学习模型等,本说明书实施例并不以上述为限。
在一个具体的实施例中,以逻辑回归模型训练已标注样本数据得到中间模型训练为例,可以包括:将已标注样本数据(正例样本数据和负例样本数据)输入到逻辑回归模型,逻辑回归模型的输出为已标注样本数据为正例样本数据的概率p(p为0-1之间的数字),而正例样本数据和负例样本数据的标签分别为y是1和0,将样本标签y与概率p的损失定义为(y-p)^2,相应的,训练过程中根据(y-p)^2可以得到误差error;使用梯度下降法,更新每个阈值,再次训练逻辑回归模型。修改完的阈值会使得下一次模型输出的概率p和样本标签y之间的误差变得更小,当该误差小于一定值时,可以将当前的逻辑回归模型作行为中间模型。
本说明书实施例中,可以采用多线程并行的方式对所述机器学习模型进行训练。
具体的,如图4所示,所述使用机器学习模型对所述已标注样本数据进行训练,得到中间模型的步骤,包括:
S401:创建数据导入线程(Dumper线程)和训练线程(Trainer线程);
一个进程可以有很多线程,每条线程并行执行不同的任务。线程(thread)是操作系统能够进行运算调度的最小单位。线程是独立调度和分派的基本单位。线程可以为操作系统内核调度的内核线程,如Win32(Microsoft Windows操作系统的32位环境)线程;由用户进程自行调度的用户线程,如Linux平台的POSIX(Portable Operating SystemInterface ofUNIX,可移植操作系统接口)Thread;或者由内核与用户进程,如Windows 7(视窗7,是由微软公司开发的操作系统)的线程,进行混合调度。同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理等等。但同一进程中的多个线程有各自的调用栈(call stack),自己的寄存器环境(register context),自己的线程本地存储(thread-local storage)。在多核或多CPU(Central Processing Unit,中央处理器),或支持Hyper-threading(超线程技术)的CPU上使用多线程程序设计的好处是显而易见,即提高了程序的执行吞吐率。在单CPU单核的计算机上,使用多线程技术,也可以把进程中负责I/O(Input/Output,输入/输出端口)处理、人机交互而常被阻塞的部分与密集计算的部分分开来执行,编写专门的workhorse线程执行密集计算,从而提高了程序的执行效率。
S402:获取多个所述机器学习模型的当前状态;
通过对机器学习模型的当前状态的获取来确定下一步分配的对应线程。机器学习模型的状态包括第一初始状态、数据导入完成状态和训练完成状态。一个机器学习模型在训练已标注样本数据生成中间模型的过程中会依次处于第一初始状态、数据导入完成状态和训练完成状态。
S403:为处于第一初始状态的机器学习模型分配所述数据导入线程,以在所述数据导入线程中向所述处于第一初始状态的机器学习模型导入所述已标注样本数据;
比如获取机器学习模型A的当前状态、机器学习模型B的当前状态、机器学习模型C的当前状态和机器学习模型D的当前状态。其中,机器学习模型A的当前状态为第一初始状态,那么为机器学习模型A分配所述数据导入线程,以在所述数据导入线程中向所述机器学习模型A导入所述已标注样本数据。向机器学习模型A导入已标注样本数据后,机器学习模型A处于数据导入完成状态。当然这里导入机器学习模型A的数据还可以包括进行模型训练所需的参数等。本说明书实施例中,数据库和/或磁盘文件中存储的还可以包括机器学习模型以及进行模型训练所需的参数等。数据导入线程便可以从数据库和/或磁盘文件中拉取相关的数据导入处于第一初始状态的机器学习模型。
在实际应用中,所述数据导入线程包括多个数据导入子线程,根据第一预设规则向所述处于第一初始状态的机器学习模型分配所述数据导入子线程。比如获取机器学习模型A的当前状态、机器学习模型B的当前状态、机器学习模型C的当前状态和机器学习模型D的当前状态。其中,机器学习模型A的当前状态为第一初始状态,机器学习模型B的当前状态也为第一初始状态。可以根据机器学习模型A和机器学习模型B在第一初始状态下的等待时间,优先为等待时间更长的机器学习模型B分配空闲的数据导入子线程。
S404:为处于数据导入完成状态的机器学习模型分配所述训练线程,以在所述训练线程中对所述处于数据导入完成状态的机器学习模型进行训练。
比如获取机器学习模型A的当前状态、机器学习模型B的当前状态、机器学习模型C的当前状态和机器学习模型D的当前状态。其中,机器学习模型C的当前状态为数据导入完成状态,那么为机器学习模型C分配所述训练线程,以在所述训练线程中对所述机器学习模型C进行训练。对机器学习模型C进行训练后,机器学习模型C处于训练完成状态,得到对应的中间模型。
在实际应用中,所述训练线程包括多个训练子线程,根据第二预设规则向所述处于数据导入完成状态的机器学习模型分配所述训练子线程。比如获取机器学习模型A的当前状态、机器学习模型B的当前状态、机器学习模型C的当前状态和机器学习模型D的当前状态。其中,机器学习模型C的当前状态为数据导入完成状态,机器学习模型D的当前状态也为数据导入完成状态。可以根据机器学习模型C和机器学习模型D在数据导入完成状态下的等待时间,优先为等待时间更长的机器学习模型C分配空闲的训练子线程。
在一个具体的实施例中,步骤S402获取多个所述机器学习模型的当前状态后,为机器学习模型A分配所述数据导入线程,以在所述数据导入线程中向所述机器学习模型A导入所述已标注样本数据(对应步骤S403)和为机器学习模型C分配所述训练线程,以在所述训练线程中对所述机器学习模型C进行训练(步骤S404)可以同时进行。
通过数据导入线程(数据导入子线程)和训练线程(训练子线程)根据当前状态对机器学习模型进行对应的处理,实现对多个机器学习模型在训练生成对应的中间模型的过程中更高效、更细粒度的管理,保证对处理资源的合理利用。
S303:将测试数据输入所述中间模型进行预测,得到所述测试数据对应的预测结果;
本说明书实施例中,测试数据可以来自原始的样本数据中未标注的部分,可以来自新采集的样本数据等。测试数据可以存储于数据库和/或磁盘文件中。
如图5所示,所述将测试数据输入所述中间模型进行预测,得到所述测试数据对应的预测结果的步骤,包括:
S501:创建预测线程(Predictor线程);
这里的预测线程可以参照上述对数据导入线程和训练线程的说明。
S502:获取多个所述中间模型的当前状态;
通过对中间模型的当前状态的获取来确定下一步分配的对应线程。中间模型的状态包括第二初始状态和预测完成状态。一个中间模型在对测试数据进行预测的过程中会依次处于第二初始状态和预测完成状态。具体的,一个机器学习模型训练完成后,得到对应的中间模型,此时的中间模型处于第二初始状态。
S503:为处于第二初始状态的中间模型分配所述预测线程,以在所述预测线程中使用所述处于第二初始状态的中间模型对所述测试数据进行预测评价。
比如获取中间模型E的当前状态和中间模型F的当前状态。其中,中间模型E的当前状态为第二初始状态,那么为中间模型E分配所述预测线程,以在所述预测线程中使用中间模型E对所述测试数据进行预测评价。使用中间模型E对测试数据进行预测后,中间模型E处于预测完成状态。具体的,预测线程可以从数据库和/或磁盘文件中拉取所述测试数据输入处于第二初始状态的中间模型。
在实际应用中,所述预测线程包括多个预测子线程,根据第三预设规则向所述处于第二初始状态的机器学习模型分配所述训练子线程。比如获取中间模型E的当前状态和中间模型F的当前状态。其中,中间模型E的当前状态为第二初始状态,中间模型F的当前状态也为第二初始状态。可以根据中间模型E和中间模型F在第二初始状态下的等待时间,优先为等待时间更长的中间模型E分配空闲的预测子线程。
在一个具体的实施例中,步骤S402获取多个所述机器学习模型的当前状态+步骤S502获取多个所述中间模型的当前状态后,以下线程可以同时进行:1)为机器学习模型A分配所述数据导入线程,以在所述数据导入线程中向所述机器学习模型A导入所述已标注样本数据(对应步骤S403);2)为机器学习模型C分配所述训练线程,以在所述训练线程中对所述机器学习模型C进行训练(步骤S404);以及3)为中间模型E分配所述预测线程,以在所述预测线程中使用中间模型E对所述测试数据进行预测评价(对应步骤S503)。
采用多线程并行的方式对所述机器学习模型进行训练以及使用所述中间模型进行预测。通过数据导入线程(数据导入子线程)和训练线程(训练子线程)根据当前状态对机器学习模型进行对应的处理,同时预测线程(预测子线程)根据当前状态对中间模型进行对应的处理。实现对多个机器学习模型在训练生成对应的中间模型的过程中以及使用中间模型预测测试数据的过程中更高效、更细粒度的管理,保证对处理资源的合理利用。
S304:根据预设评价指标,将边界模糊的预测结果对应的测试数据作为待标注样本数据输出;
本说明书实施例中,所述评价指标包括分类评价指标和回归评价指标等。比如F1分数(F1-score)、准确率(Accuracy)、受试者工作特征曲线下的面积(AUC)、对数损失(Logloss)和均方误差(MSE)。
在一个具体的实施例中,由评价指标得出一目标阈值,比如目标阈值为50%。测试数据输入中间模型后,得到对应的预测结果。那么对于某一测试数据a的预测结果按照所述评价指标计算得到60%(>50%),可将测试数据a为视为正例;某一测试数据b的预测结果按照所述评价指标计算得到30%(<50%),可将测试数据b为视为负例。对于测试数据c的预测结果按照所述评价指标计算得到52%-48%,52%-48%在目标阈值的预设范围内,可将测试数据c视为边界模糊的预测结果对应的测试数据,将测试数据c作为待标注样本数据输出。当然目标阈值可以根据具体的需求设置,目标阈值包括但不限于50%。同样的,边界模糊的预测结果按照评价指标计算所得与目标阈值之间的差值范围也可以根据具体的需求进行设置。
在实际应用中,应用于语义识别时,比如应用于智能音响等产品上。因为长尾语料数据的数据少,很多长尾语料数据得不到充分训练,也不能提供足够的意图信息。如图10所示,可以作为输入机器学习模型的已标注样本数据,也可以作为待标注样本数据输出的边界模糊的预测结果对应的测试数据。如图11所示,通过本说明书实施例的主动学习方法,对于指向意图较少的长尾语料数据,只需要标注少量边界模糊的样本,可以有效的提升模型的意图识别能力,解决语料数据不足的问题。基于主动学习平台训练的模型可以极大的提升长尾意图识别的准确率(从1%到96%),而且耗时更短(从10毫秒到1毫秒)。
由以上本说明书实施例提供的技术方案可见,本说明书实施例中提供用户一通用性强的机器学习平台,对已标注样本数据进行机器学习训练得到中间模型,再将测试数据输入所述中间模型,通过评价指标将边界模糊的预测结果对应的测试数据作为待标注样本数据输出,可以减少对输入模型用于训练的样本数据的标注量、减少进行人工标注的人力成本和有效提高处理效率。利用评价指标挑选出模型预测模糊的测试数据用于人工标注,以最小的标注数据代价,快速迭代优化模型的效果。采用多线程并行的方式对所述机器学习模型进行训练以及使用所述中间模型进行预测,保证处理资源的最小化消耗。
本发明实施例还提供了一种主动学习装置,如图6所示,所述装置包括:
已标注数据获取模块61:用于获取已标注样本数据;
模型管理模块62:用于使用机器学习模型对所述已标注样本数据进行训练,得到中间模型;将测试数据输入所述中间模型进行预测,得到所述测试数据对应的预测结果;以及根据预设评价指标,将边界模糊的预测结果对应的测试数据作为待标注样本数据输出;
其中,主动学习装置采用多线程并行的方式对所述机器学习模型进行训练以及使用所述中间模型进行预测。
本说明书实施例中,如图7所示,所述模型管理模块62包括:状态记录单元621:用于记录多个所述机器学习模型的当前状态和多个所述中间模型的当前状态。数据导入线程单元622:用于创建数据导入线程;从所述状态记录单元获取多个所述机器学习模型的当前状态;以及为处于第一初始状态的机器学习模型分配所述数据导入线程,以在所述数据导入线程中向所述处于第一初始状态的机器学习模型导入所述已标注样本数据。训练线程单元623:用于创建训练线程;从所述状态记录单元获取多个所述机器学习模型的当前状态;以及为处于数据导入完成状态的机器学习模型分配所述训练线程,以在所述训练线程中对所述处于数据导入完成状态的机器学习模型进行训练。预测线程单元624:用于创建预测线程;从所述状态记录单元获取多个所述中间模型的当前状态;以及为处于第二初始状态的中间模型分配所述预测线程,以在所述预测线程中使用所述处于第二初始状态的中间模型对所述测试数据进行预测评价。
具体的,所述模型管理模块还包括:状态写入单元:用于扫描多个所述机器学习模型和多个所述中间模型,向所述状态记录单元写入多个所述机器学习模型的当前状态和多个所述中间模型的当前状态。其中,当所述状态写入单元在所述状态记录单元修改所述机器学习模型的当前状态时,阻塞所述数据导入线程单元和所述训练线程单元从所述状态写入单元获取对应的所述机器学习模型的当前状态;当所述状态写入单元在所述状态记录单元修改所述中间模型的当前状态时,阻塞所述预测线程单元从所述状态写入单元获取对应的所述中间模型的当前状态。数据导入线程单元622、训练线程单元623和预测线程单元624在对相应的模型完成处理后,生成相应的标记文件,状态写入单元通过对标记文件的读取在状态记录单元更新模型的当前状态。
在一个具体的实施例中,所述已标注数据获取模块61包括界面交互单元,界面交互单元可以以前端交互页面(如图8、9所示)的形式呈现,所述界面交互单元用于接收用户上传的所述已标注样本数据和/或响应于用户在交互界面上对所述待标注样本数据的标注选择(如图9所示),所述界面交互单元用于接收用户上传的所述机器学习模型(可以包括进行模型训练所需的参数)的对应算法和/或响应于用户在所述交互界面上对所述机器学习模型(可以包括进行模型训练所需的参数)的选择操作。所述界面交互单元用于根据存储模块(中间数据库)中存储的数据向用户展示模型训练和模型预测过程。如图9所示,web界面和用户交互,前端交互页面显示样本数据的标注情况,提供界面给用户来标注样本数据为正例样本数据或者负例样本数据;前端交互页面提供“开始训练”的启动按钮、查看“训练状态”的按钮;前端交互页面还实现用户对评价指标的选择以及对预测结果的查看等。
如图8所示,主动学习装置还包括存储模块(中间数据库),所述存储模块用于同步存储所述已标注数据获取模块获取的数据和与所述模型管理模块相关的数据。通过存储模块实现用户通过前端交互界面可以实时看到模型训练及预测的过程等,实现向用户的及时反馈。存储模块保存已标注样本数据(正例样本数据和负例样本数据),存储模块保存与模型训练和模型预测过程相关的数据(比如机器学习模型的状态、中间模型的状态、与机器学习模型相关的参数及中间数据、与中间模型相关的参数及中间数据等),存储模块保存预测结果。保存的数据包括核心数据和中间数据,可以供后续查看及检查用,当然对于一些中间数据也可以进行预设时间的清理。
如图8所示,静态全局模型管理者(GloablModelManager)用于管理当前所有模型(包括机器学习模型及中间模型)的状态,模型的状态根据线程的处理按照预设的顺序转换(第一初始状态——》数据导入完成状态——》训练完成状态(第二初始状态)——》预测完成状态)。静态全局模型管理者(GloablModelManager)相当于状态记录单元621。扫描(Scanner)线程线程相当于状态写入单元。通过预测线程单元624将评价指标和将边界模糊的预测结果对应的测试数据写入存储模块,以供前端交互页面查看和人工标注。用户可以在前端交互界面查看当前模型的评价指标与预测结果,若符合预期,则可以结束对模型进一步的处理,将当前的中间模型上线;如不符合预期,则对预测线程单元输出的待标注样本数据进行人工标注,然后重新开启模型的训练与预测。
在实际应用中,主动学习平台多线程并行执行多个任务(对多个模型的不同处理)。比如多个模型包括:模型甲、模型乙、模型丙、模型丁和模型戊时,Scanner线程扫描得知:当前模型甲处于训练完成状态、模型乙处于数据导入完成状态以及模型丙、丁、戊处于预测完成状态。那么Predictor线程(比如刚处理完模型丁,此时空闲)通过在GloablModelManager读取模型状态,Predictor线程去对模型甲作下一步处理;Trainer线程(比如刚处理完模型甲,此时空闲)通过GloablModelManager读取模型状态,Trainer线程去对模型乙作下一步处理。当模型乙经过Trainer线程后,此时的状态为训练完成状态。Scanner线程在GloablModelManager将模型乙由数据导入完成状态修改为训练完成状态,修改过程中其他线程不能读取到模型乙的状态
需要说明的,所述装置实施例中的装置与方法实施例基于同样的发明构思。
本发明实施例提供了一种服务器,该服务器包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述方法实施例所提供的主动学习方法。
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本发明实施例还提供了一种服务器的结构示意图,请参阅图12,该服务器1200用于实施上述实施例中提供的主动学习方法,具体来讲,所述服务器结构可以包括上述主动学习装置。该服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)1210(例如,一个或一个以上处理器)和存储器1230,一个或一个以上存储应用程序1223或数据1222的存储介质1220(例如一个或一个以上海量存储设备)。其中,存储器1230和存储介质1220可以是短暂存储或持久存储。存储在存储介质1220的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1210可以设置为与存储介质1220通信,在服务器1200上执行存储介质1220中的一系列指令操作。服务器1200还可以包括一个或一个以上电源1260,一个或一个以上有线或无线网络接口1250,一个或一个以上输入输出接口1240,和/或,一个或一个以上操作系统1221,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本发明的实施例还提供了一种存储介质,所述存储介质可设置于服务器之中以保存用于实现方法实施例中一种主动学习方法相关的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述方法实施例提供的主动学习方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种主动学习方法,其特征在于,所述方法包括:
获取已标注样本数据;
使用机器学习模型对所述已标注样本数据进行训练,得到中间模型;
将测试数据输入所述中间模型进行预测,得到所述测试数据对应的预测结果;
根据预设评价指标,将边界模糊的预测结果对应的测试数据作为待标注样本数据输出;
其中,采用多线程并行的方式对所述机器学习模型进行训练以及使用所述中间模型进行预测。
2.根据权利要求1所述的方法,其特征在于,所述使用机器学习模型对所述已标注样本数据进行训练,得到中间模型的步骤,包括:
创建数据导入线程和训练线程;
获取多个所述机器学习模型的当前状态;
为处于第一初始状态的机器学习模型分配所述数据导入线程,以在所述数据导入线程中向所述处于第一初始状态的机器学习模型导入所述已标注样本数据;
为处于数据导入完成状态的机器学习模型分配所述训练线程,以在所述训练线程中对所述处于数据导入完成状态的机器学习模型进行训练。
3.根据权利要求2所述的方法,其特征在于,所述以测试数据为输入,通过所述中间模型预测所述测试数据具有满足预设评价指标的概率的步骤,包括:
创建预测线程;
获取多个所述中间模型的当前状态;
为处于第二初始状态的中间模型分配所述预测线程,以在所述预测线程中使用所述处于第二初始状态的中间模型对所述测试数据进行预测评价。
4.根据权利要求3所述的方法,其特征在于:
所述数据导入线程包括多个数据导入子线程,根据第一预设规则向所述处于第一初始状态的机器学习模型分配所述数据导入子线程;
所述训练线程包括多个训练子线程,根据第二预设规则向所述处于数据导入完成的机器学习模型分配所述训练子线程;
所述预测线程包括多个预测子线程,根据第三预设规则向所述处于第二初始状态的中间模型分配所述预测子线程。
5.根据权利要求1所述的方法,其特征在于,所述评价指标包括F1分数、准确率、均方误差、受试者工作特征曲线下的面积和对数损失。
6.一种主动学习装置,其特征在于,所述装置包括:
已标注数据获取模块:用于获取已标注样本数据;
模型管理模块:用于使用机器学习模型对所述已标注样本数据进行训练,得到中间模型;将测试数据输入所述中间模型进行预测,得到所述测试数据对应的预测结果;以及根据预设评价指标,将边界模糊的预测结果对应的测试数据作为待标注样本数据输出;
其中,采用多线程并行的方式对所述机器学习模型进行训练以及使用所述中间模型进行预测。
7.根据权利要求6所述的装置,其特征在于,所述模型管理模块包括:
状态记录单元:用于记录多个所述机器学习模型的当前状态和多个所述中间模型的当前状态;
数据导入线程单元:用于创建数据导入线程;从所述状态记录单元获取多个所述机器学习模型的当前状态;以及为处于第一初始状态的机器学习模型分配所述数据导入线程,以在所述数据导入线程中向所述处于第一初始状态的机器学习模型导入所述已标注样本数据;
训练线程单元:用于创建训练线程;从所述状态记录单元获取多个所述机器学习模型的当前状态;以及为处于数据导入完成状态的机器学习模型分配所述训练线程,以在所述训练线程中对所述处于数据导入完成状态的机器学习模型进行训练;
预测线程单元:用于创建预测线程;从所述状态记录单元获取多个所述中间模型的当前状态;以及为处于第二初始状态的中间模型分配所述预测线程,以在所述预测线程中使用所述处于第二初始状态的中间模型对所述测试数据进行预测评价。
8.根据权利要求7所述的装置,其特征在于,所述模型管理模块还包括:状态写入单元:用于扫描多个所述机器学习模型和多个所述中间模型,向所述状态记录单元写入多个所述机器学习模型的当前状态和多个所述中间模型的当前状态;
其中,当所述状态写入单元在所述状态记录单元修改所述机器学习模型的当前状态时,阻塞所述数据导入线程单元和所述训练线程单元从所述状态写入单元获取对应的所述机器学习模型的当前状态;当所述状态写入单元在所述状态记录单元修改所述中间模型的当前状态时,阻塞所述预测线程单元从所述状态写入单元获取对应的所述中间模型的当前状态。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括存储模块,所述存储模块用于同步存储所述已标注数据获取模块获取的数据和与所述模型管理模块相关的数据;
所述已标注数据获取模块包括界面交互单元,所述界面交互单元用于接收用户上传的所述已标注样本数据和/或响应于用户在交互界面上对所述待标注样本数据的标注选择,所述界面交互单元用于接收用户上传的所述机器学习模型的对应算法和/或响应于用户在所述交互界面上对所述机器学习模型的选择操作;所述界面交互单元用于根据所述存储模块中存储的数据向用户展示模型训练和模型预测过程。
10.一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至5任一所述的主动学习方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910193835.6A CN109948807A (zh) | 2019-03-14 | 2019-03-14 | 一种主动学习方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910193835.6A CN109948807A (zh) | 2019-03-14 | 2019-03-14 | 一种主动学习方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109948807A true CN109948807A (zh) | 2019-06-28 |
Family
ID=67009922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910193835.6A Pending CN109948807A (zh) | 2019-03-14 | 2019-03-14 | 一种主动学习方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109948807A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990576A (zh) * | 2019-12-24 | 2020-04-10 | 用友网络科技股份有限公司 | 基于主动学习的意图分类方法、计算机设备和存储介质 |
CN111027707A (zh) * | 2019-11-22 | 2020-04-17 | 北京金山云网络技术有限公司 | 模型的优化方法、装置及电子设备 |
CN111274132A (zh) * | 2020-01-17 | 2020-06-12 | 百富计算机技术(深圳)有限公司 | 设备驱动程序数据清理函数可靠性测试的方法及装置 |
CN111767316A (zh) * | 2019-11-18 | 2020-10-13 | 第四范式(北京)技术有限公司 | 目标任务处理方法、装置及电子设备 |
CN112069293A (zh) * | 2020-09-14 | 2020-12-11 | 上海明略人工智能(集团)有限公司 | 一种数据标注方法、装置、电子设备和计算机可读介质 |
CN112365001A (zh) * | 2020-11-11 | 2021-02-12 | 中国工商银行股份有限公司 | 模型的生成方法、装置和服务器 |
CN112801296A (zh) * | 2019-11-13 | 2021-05-14 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和系统 |
CN114519002A (zh) * | 2022-01-07 | 2022-05-20 | 南京航空航天大学 | 评估cpu多线程环境对深度学习模型训练差异影响的测试方法 |
CN115794604A (zh) * | 2022-10-14 | 2023-03-14 | 寒武纪行歌(南京)科技有限公司 | 数据生成方法、装置、设备、介质及程序产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103514369A (zh) * | 2013-09-18 | 2014-01-15 | 上海交通大学 | 一种基于主动学习的回归分析系统及方法 |
CN105095866A (zh) * | 2015-07-17 | 2015-11-25 | 重庆邮电大学 | 一种快速行为识别方法和系统 |
CN107169001A (zh) * | 2017-03-31 | 2017-09-15 | 华东师范大学 | 一种基于众包反馈和主动学习的文本分类模型优化方法 |
-
2019
- 2019-03-14 CN CN201910193835.6A patent/CN109948807A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103514369A (zh) * | 2013-09-18 | 2014-01-15 | 上海交通大学 | 一种基于主动学习的回归分析系统及方法 |
CN105095866A (zh) * | 2015-07-17 | 2015-11-25 | 重庆邮电大学 | 一种快速行为识别方法和系统 |
CN107169001A (zh) * | 2017-03-31 | 2017-09-15 | 华东师范大学 | 一种基于众包反馈和主动学习的文本分类模型优化方法 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112801296B (zh) * | 2019-11-13 | 2024-05-31 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和系统 |
CN112801296A (zh) * | 2019-11-13 | 2021-05-14 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和系统 |
CN111767316A (zh) * | 2019-11-18 | 2020-10-13 | 第四范式(北京)技术有限公司 | 目标任务处理方法、装置及电子设备 |
CN111027707B (zh) * | 2019-11-22 | 2023-08-22 | 北京金山云网络技术有限公司 | 模型的优化方法、装置及电子设备 |
CN111027707A (zh) * | 2019-11-22 | 2020-04-17 | 北京金山云网络技术有限公司 | 模型的优化方法、装置及电子设备 |
CN110990576A (zh) * | 2019-12-24 | 2020-04-10 | 用友网络科技股份有限公司 | 基于主动学习的意图分类方法、计算机设备和存储介质 |
CN110990576B (zh) * | 2019-12-24 | 2023-06-16 | 用友网络科技股份有限公司 | 基于主动学习的意图分类方法、计算机设备和存储介质 |
CN111274132A (zh) * | 2020-01-17 | 2020-06-12 | 百富计算机技术(深圳)有限公司 | 设备驱动程序数据清理函数可靠性测试的方法及装置 |
CN111274132B (zh) * | 2020-01-17 | 2023-07-25 | 深圳市兆珑科技有限公司 | 设备驱动程序数据清理函数可靠性测试的方法及装置 |
CN112069293A (zh) * | 2020-09-14 | 2020-12-11 | 上海明略人工智能(集团)有限公司 | 一种数据标注方法、装置、电子设备和计算机可读介质 |
CN112069293B (zh) * | 2020-09-14 | 2024-04-19 | 上海明略人工智能(集团)有限公司 | 一种数据标注方法、装置、电子设备和计算机可读介质 |
CN112365001B (zh) * | 2020-11-11 | 2023-12-19 | 中国工商银行股份有限公司 | 模型的生成方法、装置和服务器 |
CN112365001A (zh) * | 2020-11-11 | 2021-02-12 | 中国工商银行股份有限公司 | 模型的生成方法、装置和服务器 |
CN114519002A (zh) * | 2022-01-07 | 2022-05-20 | 南京航空航天大学 | 评估cpu多线程环境对深度学习模型训练差异影响的测试方法 |
CN115794604A (zh) * | 2022-10-14 | 2023-03-14 | 寒武纪行歌(南京)科技有限公司 | 数据生成方法、装置、设备、介质及程序产品 |
CN115794604B (zh) * | 2022-10-14 | 2024-04-19 | 寒武纪行歌(南京)科技有限公司 | 数据生成方法、装置、设备、介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109948807A (zh) | 一种主动学习方法及装置 | |
US11205143B2 (en) | Utilizing a machine learning model and natural language processing to manage and allocate tasks | |
Huynh et al. | Deepsense: A gpu-based deep convolutional neural network framework on commodity mobile devices | |
US10938678B2 (en) | Automation plan generation and ticket classification for automated ticket resolution | |
US20220383263A1 (en) | Utilizing a machine learning model to determine anonymized avatars for employment interviews | |
US20210125124A1 (en) | Utilizing a machine learning model to manage a project release | |
Yang et al. | Intermediate data caching optimization for multi-stage and parallel big data frameworks | |
US11062240B2 (en) | Determining optimal workforce types to fulfill occupational roles in an organization based on occupational attributes | |
CN109529338B (zh) | 对象控制方法、装置、电子设计及计算机可读介质 | |
US10831448B2 (en) | Automated process analysis and automation implementation | |
CN109657793B (zh) | 模型训练方法及装置、存储介质及电子设备 | |
US10885477B2 (en) | Data processing for role assessment and course recommendation | |
EP4024203A1 (en) | System performance optimization | |
Patil et al. | Customer churn prediction for retail business | |
US11514403B2 (en) | Utilizing machine learning models for making predictions | |
US20210256209A1 (en) | Predictive event searching utilizing a machine learning model trained using dynamically-generated event tags | |
CN112099889A (zh) | 一种信息显示方法、设备、装置及存储介质 | |
US20220292393A1 (en) | Utilizing machine learning models to generate initiative plans | |
CN113407343A (zh) | 一种基于资源分配的业务处理方法、装置及设备 | |
CN117897738A (zh) | 人工智能辅助的实况体育数据质量保证 | |
CN114581130A (zh) | 基于客户画像的银行网点派号方法及装置、存储介质 | |
Pop et al. | Distributed platforms and cloud services: Enabling machine learning for big data | |
CN113821656A (zh) | 基于人工智能的图像处理方法、装置及电子设备 | |
Yadwadkar et al. | Faster jobs in distributed data processing using multi-task learning | |
US20240144373A1 (en) | Financial investment predictions and recommendations using neural networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |