CN112560988A - 一种模型训练方法及装置 - Google Patents
一种模型训练方法及装置 Download PDFInfo
- Publication number
- CN112560988A CN112560988A CN202011561292.8A CN202011561292A CN112560988A CN 112560988 A CN112560988 A CN 112560988A CN 202011561292 A CN202011561292 A CN 202011561292A CN 112560988 A CN112560988 A CN 112560988A
- Authority
- CN
- China
- Prior art keywords
- training
- data
- model
- current
- target
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了一种模型训练方法及装置,该方法包括:使用当前训练集进行训练,获得当前训练模型;使用所述当前训练模型对非目标训练集进行预测,获得当前预测结果;当所述当前预测结果满足迭代停止条件时,将当前训练模型作为目标模型的最优训练模型。本申请上述实施例提供的技术方案,不仅可以解决多个模型之间干扰的问题,并且所训练出的模型具有鲁棒性。
Description
技术领域
本申请涉及自然语言处理技术领域,特别涉及一种模型训练方法及装置。
背景技术
自然语言处理***在实际部署时,经常会面临多个模型共存的问题,即多个模型同时部署在同一个***中。当***由多个模型组成时,多个模型之间会存在相互干扰的问题。例如,原本属于A模型的内容会误识别为B模型的内容,导致B模型处理A模型的内容,最终处理结果出错。
为了解决多个模型之间的干扰问题,通常的做法是将非本模型的训练数据汇总在一起,然后与本模型的训练数据一起对本模型进行训练。所获得的训练后的本模型虽然可以在一定程度上缓解误识别的情况,但是由于合并数据导致的数据不均衡问题,通过这种训练方式所训练出的模型会出现偏差,导致最终训练出的模型存在严重的偏见,无法代表本模型的情况。
发明内容
有鉴于此,本申请实施例提供了一种迭代采样的模型训练方法,不仅可以解决多个模型之间干扰的问题,并且所训练出的模型具有鲁棒性。
本申请实施例提供的了一种迭代采样的模型训练方法,包括:
使用当前训练集进行训练,获得当前训练模型;
使用所述当前训练模型对非目标训练集进行预测,获得当前预测结果;
当所述当前预测结果满足迭代停止条件时,将当前训练模型作为目标模型的最优训练模型;
其中,所述非目标训练集由非目标模型的训练数据汇集而成,第一个当前训练集由目标模型的训练数据和N1个非目标训练集中的数据汇集而成。
在一个实施例中,当所述当前预测结果不满足迭代停止条件时,选取N2个导致不满足迭代停止条件的数据加入当前训练集中,形成下一个当前训练集。
在一个实施例中,所述使用所述当前训练模型对非目标训练集进行预测,获得当前预测结果,包括:所述当前训练模型预测所述非目标训练集中的每个数据是否与所述当前训练模型有关,当数据与所述当前训练模型有关时,将该数据标注为相关数据;统计相关数据的数量,并作为所述当前预测结果。
在一个实施例中,所述当所述当前预测结果不满足迭代停止条件时,选取N2个导致不满足迭代停止条件的数据加入当前训练集中,包括:当所述相关数据的数量大于预设数量阈值时,选取N2个所述相关数据加入所述当前训练集中。
在一个实施例中,所述当所述当前预测结果不满足迭代停止条件时,选取N2个导致不满足迭代停止条件的数据加入当前训练集中,包括:计算所述相关数据在所述非目标训练集中的比例,当该比例大于预设比例阈值时,选取N2个所述相关数据加入所述当前训练集中。
在一个实施例中,所述N1、N2、预设数量阈值和预设比例阈值均为超参数。
在一个实施例中,所述N1为目标模型的训练数据量和目标模型的训练数据类目量的比值。
在一个实施例中,当所述相关数据的数量小于N2的五分之一时,所述N2为相关数据的数量;当所述相关数据大于等于N2的五分之一时,所述N2为N1的五分之一。
在一个实施例中,所述预设比例阈值为1%。
本申请实施例提供了一种迭代采样的模型训练装置,包括:训练模块,用于使用当前训练集进行训练,获得当前训练模型;预测模块,使用所述当前训练模型对非目标训练集进行预测,获得当前预测结果;迭代停止模块,用于当所述当前预测结果满足迭代停止条件时,将当前训练模型作为目标模型的最优训练模型。其中,所述非目标训练集由非目标模型的训练数据汇集而成,第一个当前训练集由目标模型的训练数据和N1个非目标训练集中的数据汇集而成。
本申请上述实施例提供的技术方案,通过迭代训练的方式,根据训练模型预测的结果,将与当前训练模型相关的数据分批次逐步加入到后续的训练中,使得训练模型的预测结果出现与训练模型相关的数据的数量呈指数级下降。下一轮训练得到的模型可以主动学习上一轮模型的预测结果,从而起到积极的校正作用。同时,由于是进行分批次迭代训练,训练数据不会出现不均衡的情况,最终所训练出的模型识别能力强,具有很好的鲁棒性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
图1为本申请实施例提供的模型训练方法的流程示意图;
图2为本申请另一实施例提供的模型训练方法的流程示意图;
图3为本申请另一实施例提供的模型训练方法的流程示意图;
图4为本申请实施例提供的模型训练装置的框图。
图5为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在自然语言处理***在实际部署时,多个模型部署在一个***中是非常常见的情况。例如,在智能客服领域,有FAQ模型和情绪转人工模型,其中,FAQ模型用来回答业务相关问题,情绪转人工模型用来处理情绪及转人工相关的问题。又比如,在文本分析领域,客户需要自然语言处理***通过分析电子邮件内容,自动抽取出跟多个业务相关的数据(比如程租订载业务、船盘业务和货盘业务,同一份邮件有可能同时包含多个业务类型的数据,比如A邮件包含船盘和货盘业务数据,B邮件包含程租订载、船盘和货盘业务等),其中每一个业务对应一个抽取模型,多个业务需要多个模型同时共存,通过分析邮件内容来识别对应类型的业务数据并抽取相应的业务数据。
鉴于上述在实际场景中的需求,将多个模型部署在一个***中是自然语言处理***难以避免的一个事实。但是,当***由多个模型组成时,多模型之间会存在相互干扰的问题,比如A模型可能会将本来属于B模型的内容误识别为A模型的内容,进而用A模型处理该内容,从而导致错误;同样的,B模型可能也会误识别A模型的内容并进行错误的处理。另外,当模型之间是顺序组成的时候,模型干扰的问题尤其明显,即上游模型很可能会遮挡下游模型的内容进而进行″抢答″。
为了避免多个模型之间相互干扰的问题,通常的做法会把目标模块之外的其他模块(即″非目标模型″)的训练数据累积在一起形成相对于目标模型的其他训练数据(即″非目标训练集″)。然后,将非目标训练集汇集到目标模型的训练集中,形成新的训练集,此时,非目标训练集实际上变成了目标模型的训练集的其中一个训练数据类目(每个模型的训练集中均可以包含多个训练数据类目)。对新的训练集进行训练,得到新的训练模型。由于新的训练模型是加入了其他训练数据一起训练的结果,新的训练模型可以在一定程度上缓解对其他模型的误识别,但是会存在严重的数据不均衡问题;换句话说,由于将非目标模型的训练数据累积在一起,非目标模型的训练数据远大于目标模型的训练数据,从而导致模型训练出现偏差,更偏向于将内容预测为与非目标训练集相关。具体的说,这种做法存在以下三个方面的缺点:
1、训练类目间的训练数据极度不均衡,非目标训练集作为一个类目的数据量过大。
2、最终训练出的模型存在严重的偏见,模型比较脆弱,既不能很好地识别属于目标模型的内容,也不能很好地识别属于非目标模型的内容,模型的泛化能力比较差。
3、利用现有的数据所训练出模型的鲁棒性较差。
为了解决上述问题,需要优化模型训练的方式,模型可以识别不属于自己的内容,同时,也能很好的识别出属于自己的内容。本申请实施例提供了一种迭代采样的模型训练方法、装置、电子设备及计算机可读存储介质,以实现模型训练的优化,获得目标模型的最优训练模型。该技术可采用相应的软件、硬件以及软硬结合的方式实现。以下对本申请实施例进行详细介绍。
请参阅图1,本申请实施例提供一种应用于电子设备的迭代采样的模型训练方法,该方法包括:
步骤S101:使用当前训练集进行训练,获得当前训练模型。
在本申请实施例中,电子设备先获取当前训练集,所获取的第一个当前训练集由目标模型的训练数据和N1个非目标模型训练集中的数据汇集而成,所获取的其他当前训练集会在后续的步骤中生成。所有的当前训练集均会进行训练,获得当前训练模型。训练的方式例如可以使用fasttext进行训练,也可以用deep pyramid cnn进行训练。所有的当前训练集中都会有非目标模型训练集中的数据存在,因此,这样的训练集所训练出的模型可以较好的识别哪些内容属于模型,而哪些内容不属于模型。
上述目标模型即为原始的模型,通过本申请实施例不断进行训练,最终可以获得目标模型的最优训练模型。非目标模型即为目标模型之外的其他模型,非目标训练集即为非目标模型的训练数据汇集而成的训练集。
显然地,第一个进行训练的训练集不会出现数据不均衡的情况,可以通过控制N1的个数,使得目标模型的训练数据和非目标模型的训练数据达到一个相对平衡的状态,这样所训练出的第一个当前训练模型不会产生很大的偏差。
为了进一步地使第一个当前训练集的数据达到较为均衡的状态,上述N1可以是目标模型的训练数据量和目标模型的训练数据类目量的比值,也就是说N1可以是目标模型的每个类目中数据量的平均值。比如,某个目标模型有3个训练类目,第一个类目中有数据100个,第二个类目中有数据50个,第三个类目中有数据75个。那么可以计算的到该模型的训练数据量是225,则N1=225÷3=75。在这个例子中,75个非目标模型的训练数据作为这个目标模型的第四个类目,和其他原有的三个类目之间的数据量差别不会很大。第四个类目会与原有的三个类目一起进行训练,对于目标模型来说,这里的第四个类目就是其他类目。
步骤S102:使用当前训练模型对非目标训练集进行预测,获得当前预测结果。
在本申请实施例中,当前训练模型的预测方式例如可以使用fasttext进行预测,也可以用deep pyramid cnn进行预测。通过上述举例的预测方式,当前训练模型针对非目标训练集中的每个数据进行预测,可以获得每个数据是否与当前训练模型相关的结果。电子设备会将与当前训练模型相关的数据标记为相关数据,并且统计相关数据的数量,作为当前预测结果。在理想状态下,完美模型的预测结果应该是非目标训练集中的每个数据与模型均不相关,但这是非常困难且难以实现的。因此,可以降低要求,获得相对完美的模型,也就是目标模型的最优训练模型。为此,可以对当前预测结果进行限制。
具体来说,当当前预测结果不满足迭代停止条件时,选取N2个导致不满足迭代停止条件的数据加入当前训练集中,形成下一个当前训练集。对当前预测结果的限制例如可以是:判断相关数据的数量是否大于预设数量阈值,当大于预设数量阈值时,电子设备选取N2个相关数据加入到当前训练集中,以形成下一个当前训练集。例如还可以是:计算相关数据在非目标训练集中的比例,判断这一比例是否大于预设比例阈值,当大于预设比例阈值时,选取N2个相关数据加入当前训练集中,以形成下一个当前训练集。
上述N1、N2、预设数量阈值和预设比例阈值均为超参数。
N2可以是N1的五分之一,这样即使迭代多次,当前训练集中所包含的非目标训练集中的数据也不会过多,与目标模型的训练数据类目中的数据量相差较小,不会造成数据度不均衡的问题。比如,某个目标模型有3个训练类目,第一个类目中有数据200个,第二个类目中有数据160个,第三个类目中有数据180个。那么可以计算得到该模型的训练数据量是540个,则N1=540÷3=180。在这个例子中,180个非目标模型的训练数据作为这个目标模型的第四个类目(也即其他类目),和其他原有的三个类目之间的数据量差别不会很大。经过第一轮的训练和预测后,发现预测结果不满足迭代停止条件,则需要确定N2的数量,则N2=180÷5=36。那么,在第二轮的训练中,其他类目(也即新的第四个类目)的数据量就会变为216个;如果预测的结果还是不满足迭代停止条件,在第三轮的训练中,其他类目的数据量会变成252个。以此类推,即使经过五轮的训练和预测,其他类目的数据量为324个,这个数据量也在可控范围之内。当然,当相关数据的数量小于N1的五分之一时,所述N2的数量确定为相关数据的数量,也即将相关数据全部加入至当前训练集中,以形成下一个当前训练集。
预设比例阈值可以设置成1%,如前所述,由于获得完美模型难以实现,因此可以将模型预测的结果控制在一个相对合理的范围内,这样可以获得最优训练模型。
在本申请实施例中,可以将非目标模型训练集中的数据随机打散,然后根据统一分布随机采样的方式,选取N1个非目标模型训练集中的数据。还可以将导致不满足迭代停止条件的数据随机打散,然后根据统一分布随机采样的方式,选取N2个导致不满足迭代停止条件的数据。通过这样的方式,每一轮的迭代中,当前训练集中的其他类目都是通过随机采样的方式获取的,未加入任何人为干预的影响因素,因此,所训练出来的模型泛化性将进一步提升。
步骤S103:当当前预测结果满足迭代停止条件时,将当前训练模型作为目标模型的最优训练模型。
在本申请实施例中,例如电子设备可以判断相关数据的数量是否大于预设数量阈值,当小于或等于预设数量阈值时,电子设备将当前训练模型作为目标模型的最有训练模型。例如电子设备还可以计算相关数据在非目标训练集中的比例,判断这一比例是否大于预设比例阈值,当小于或等于预设比例阈值时,电子设备将当前训练模型作为目标模型的最有训练模型。
通过上述步骤101-103,可以对目标模型进行迭代训练,相比较以往的训练方式,本申请实施例每次迭代训练中,当前训练集中的训练数据类目都是较为平均的,不会出现其他类目的数量奇高的情况,解决了训练数据极度不平衡的问题。同时,上述步骤可以根据每次迭代训练完成后的训练模型的预测结果,将与当前训练模型相关的数据分批次逐步加入到后续的训练中,使得训练模型的预测结果出现与训练模型相关的数据的数量呈指数级下降。下一轮训练得到的模型可以主动学习上一轮模型的预测结果,也即可以学习上一轮模型所缺乏的样本知识,从而起到积极的校正作用,使得数据效能高。同时,由于是进行分批次迭代训练,可以逐渐提升模型的识别能力,最终所训练出的模型具有很好的鲁棒性,泛化性也很好。
请参阅图2,本申请实施例提供一种应用于电子设备的迭代采样的模型训练方法,该方法例如可以用于智能客服领域。
在本申请实施例中,智能客服***作为一种自然语言处理***会部署FAQ模型和转人工模型。FAQ模型主要的功能是可以回答智能客服***的客户所提出的专业问题,转人工模型主要的功能是判断何时转人工服务。一般来说,当用户有强烈的不满情绪或者有明确要求要转人工的输入时,转人工模型将控制机器人客服转成人工客服。
由于这两个模型会同时存在于***中,每一个模型都会进行入口判断,即对于每一个用户输入的问题,是否应该由本模型来回答。如果用户输入一个普通的FAQ问题,被转人工模型误识别,进而转人工客服,那么会无畏地增加人工客服的工作量,没有拦截到本该由FAQ模型给出的回应,这套智能客服***的价值就减少了。如果用户有强烈的情绪,比如对于前面的回答很不满,或者明确要求″帮我转人工″,这个时候FAQ模型误识别,结果抢着回答,就会导致用户更加不满,用户的问题也得不到很好的解决,这种情况下智能客服***的价值也会减少。
上述FAQ模型和转人工模型如果不经过训练,两个模型之间会出现频繁的误识别问题,导致智能客服***无法高效运转,客户体验差。为了解决这一问题,可以采用将转人工模型的训练数据逐批次采样,然后进行训练的方法,该方法具体包括:
步骤S201:将所有转人工模型的训练数据汇集在一起,形成转人工模型训练集,记为训练集A。
在本申请实施例中,训练集A中的训练数据例如可以是″帮我转人工″、″你根本没有听懂我说的问题!″、″你到底理解了没有!″、″我要转人工″、″转人工转人工″、″能不能转人工呢″、″给我转人工吧″、″你完全没有搞懂我在说什么啊″等等。训练集A中共有500个数据。
步骤S202:将训练集A随机打散,根据统一分布随机采样的方式,在转人工模型训练集选取100个数据。
在本申请实施例中,FAQ模型的训练数据一共可以分为10个类目,每个类目平均有100个数据,因此,可以在转人工模型训练集选取100个数据作为第11个类目,也即其他类目。
步骤S203:将FAQ模型的训练数据和所选出了100个转人工模型的训练数据汇集成第一个当前训练集,记为训练集S1。
步骤S204:对当前训练集进行训练,获得当前训练模型。
在本申请实施例中,对训练集S1进行训练,获得第一个当前训练模型。同时,在后续的迭代步骤中,对每一轮的当前训练集均需要进行训练,并获得当前训练模型。这里的训练方法可以是deep pyramid cnn。
步骤S205:使用当前训练模型对训练集A进行预测,获得预测结果。
在本申请实施例中,当前训练模型会对训练集A中的每个数据进行预测,预测的方法可以是deep pyramid cnn。如果预测后发现数据和当前训练模型(与FAQ相关的模型)是有相关性的,则将该数据标记为相关数据;反之,则不进行标记。对每个训练集A中的数据均进行预测后,统计标记为相关数据的数量,计算该数量与训练集A数据量的比例,该比例即为预测结果。
针对第一个当前训练模型,经过预测后发现,在500个训练集A的数据中,有100个数据是和第一个当前训练模型相关(这100个数据也被称为badcase),计算相关数据数量与训练集A数据量的比例为20%。因此,针对于第一个当前训练模型的预测结果为相关数据占比20%。
步骤S206:判断预测结果是否小于或等于预设比例阈值。
在本申请实施例中,预设比例阈值设定为1%。
针对第一个当前训练模型,预测结果为相关数据占比20%,远大于预设比例阈值,因此将执行步骤S207。
在后续的训练、预测中,如果相关数据占比小于或等于1%,则会执行步骤S208。
步骤S207:当预测结果大于预设比例阈值时,选取20个相关数据加入当前训练集中,形成下一个当前训练集,并再次执行步骤S204-S206。
在本申请实施例中,由于FAQ模型的每个类目平均有100个数据,因此,选取20个相关数据加入当前训练集(FAQ模型的每个类目平均值的五分之一),这样,下一个当前训练集中的其他类目就是120个数据,不至于与FAQ模型的每个类目平均值差异较大。
针对第一个当前训练模型,预测发现有100个数据是和第一个当前训练模型相关,因此,将这100个数据随机打散,并且使用随机采样的方式选取20个数据加入到第一个当前训练集中,形成第二个当前训练集,记为训练集S2。随后,针对第二个当前训练集继续执行步骤S204-S206。
步骤S208:当预测结果小于或等于预设比例阈值时,将当前训练模型作为FAQ模型的最优训练模型。
在本申请实施例中,步骤S204-S206可能会执行多次,也即FAQ模型可能会进行多轮迭代,重复训练和预测的步骤。
针对第二个当前训练模型,预测发现有50个数据是和第二个当前训练模型相关,此时,相关数据占比10%,大于预设比例阈值1%。因此,将这50个数据随机打散,并且使用随机采样的方式选取20个数据加入到第二个当前训练集中,形成第三个当前训练集,记为训练集S3。不断的重复这一过程,可能会有训练集S4、S5、S6......Sn。
针对第五个当前训练模型,预测发现有11个数据是和第五个当前训练模型相关,此时,相关数据占比2.2%,大于预设比例阈值1%。因此,仍需执行步骤S204-S206。针对第六个当前训练模型,预测发现有4个数据是和第六个当前训练模型相关,此时,相关数据占比0.8%,小于预设比例阈值1%。此时,经过不断的迭代,第六个当前训练模型的预测结果显示相关数据的占比是可以接受的,也即badcase的数量被控制在可接受的范围之内。因此,就会将第六个当前训练模型作为FAQ模型的最优训练模型。
如此训练出来的FAQ模型可以很好地将转人工模型的相关问题识别成与FAQ模型无关的问题,从而避免了抢答本属于转人工模型的问题。
同样的,可以将FAQ模型的训练数据作为其他类目加入转人工模型,并以相同的方式进行迭代采样训练,使得最终的转人工模型也可以很好的将FAQ模型的相关问题识别为与转人工模型无关的问题,从而避免了抢答本属于FAQ模型的问题。
通过这种迭代采样训练,我们获得了最优的FAQ模型和转人工模型,这两个模型可以将彼此的问题都识别成不相关的问题,从而避免了对另一模型的干扰。这种情况下,两个模型即使部署在一个***中,无论是顺序部署还是并行部署,都不会有严重的模型干扰问题,从而增强了对整个***的把控性。
请参阅图3,本申请实施例提供一种应用于电子设备的迭代采样的模型训练方法,该方法例如可以用于智能文本分析领域。
在本申请实施例中,智能文本分析***可以是邮件文本分析***,也可以是货船相关业务的邮件文本分析***。货船相关业务的邮件文本分析***作为一种自然语言处理***会部署船盘数据模型和货盘数据模型。船盘数据模型主要的功能抽取某一订单邮件中的船名、载重吨位、空船靠港地址等等信息,货盘数据模型主要的功能抽取某一订单邮件中的货物名、货物价格、货物装船明细等等信息。
由于这两个模型会同时存在于***中,每一个模型都会进行入口判断,即对于每一个用户输入的抽取需求,是否应该由本模型来抽取。如果用户输入一个船盘数据抽取的需求,被货盘数据模型误识别,进而对货盘数据进行抽取,那么向用户给出的抽取结果不准确,这套智能文本分析***的价值就减少了。反之,如果用户是要抽取货盘数据,但是被船盘数据模型误识别了,也会存在同样的问题。
上述船盘数据模型和货盘数据模型如果不经过训练,两个模型之间会出现频繁的误识别问题,导致智能文本分析***无法高效运转,客户体验差。为了解决这一问题,可以采用将货盘数据模型的训练数据逐批次采样,然后进行训练的方法,该方法具体包括:
步骤S301:将所有货盘数据模型的训练数据汇集在一起,形成货盘数据模型训练集,记为训练集B。
在本申请实施例中,训练集B中的训练数据例如可以是″这批货物是黄豆″、″这船猪肉的总重量为2500吨″、″这船货物的总价格是2亿元人民次″等等。训练集B中共有600个数据。
步骤S302:将训练集B随机打散,根据统一分布随机采样的方式,在货盘数据模型训练集选取200个数据。
在本申请实施例中,船盘数据模型的训练数据一共可以分为20个类目,每个类目平均有200个数据,因此,可以在货盘数据模型训练集选取200个数据作为第21个类目,也即其他类目。
步骤S303:将船盘数据模型的训练数据和所选出了200个货盘数据模型的训练数据汇集成第一个当前训练集,记为训练集R1。
步骤S304:对当前训练集进行训练,获得当前训练模型。
在本申请实施例中,对训练集R1进行训练,获得第一个当前训练模型。同时,在后续的迭代步骤中,对每一轮的当前训练集均需要进行训练,并获得当前训练模型。这里的训练方法可以是fasttext。
步骤S305:使用当前训练模型对训练集B进行预测,获得预测结果。
在本申请实施例中,当前训练模型会对训练集B中的每个数据进行预测,预测的方法可以是fasttext。如果预测后发现数据和当前训练模型(与货盘数据模型相关的模型)是有相关性的,则将该数据标记为相关数据;反之,则不进行标记。对每个训练集A中的数据均进行预测后,统计标记为相关数据的数量,该数量即为预测结果。
针对第一个当前训练模型,经过预测后发现,在600个训练集B的数据中,有300个数据是和第一个当前训练模型相关(这300个数据也被称为badcase)。
步骤S306:判断预测结果是否小于或等于预设数量阈值。
在本申请实施例中,预设比例阈值设定为6。
针对第一个当前训练模型,预测结果为相关数据为300,远大于预设数量阈值,因此将执行步骤S307。
在后续的训练、预测中,如果相关数据小于6,则会执行步骤S308。
步骤S307:当预测结果大于预设数量阈值时,选取40个相关数据加入当前训练集中,形成下一个当前训练集,并再次执行步骤S304-S306。
在本申请实施例中,由于船盘数据模型的每个类目平均有200个数据,因此,选取40个相关数据加入当前训练集(船盘数据模型的每个类目平均值的五分之一),这样,下一个当前训练集中的其他类目就是240个数据,不至于与船盘数据模型的每个类目平均值差异较大。
针对第一个当前训练模型,预测发现有300个数据是和第一个当前训练模型相关,因此,将这300个数据随机打散,并且使用随机采样的方式选取40个数据加入到第一个当前训练集中,形成第二个当前训练集,记为训练集R2。随后,针对第二个当前训练集继续执行步骤S304-S306。
步骤S308:当预测结果小于或等于预设数量阈值时,将当前训练模型作为船盘数据模型的最优训练模型。
在本申请实施例中,步骤S304-S306可能会执行多次,也即FAQ模型可能会进行多轮迭代,重复训练和预测的步骤。
针对第二个当前训练模型,预测发现有205个数据是和第二个当前训练模型相关,还是远远大于预设数量阈值。因此,将这205个数据随机打散,并且使用随机采样的方式选取40个数据加入到第一个当前训练集中,形成第三个当前训练集,记为训练集R3。不断的重复这一过程,可能会有训练集R4、R5、R6......Rn。
针对第九个当前训练模型,预测发现有12个数据是和第九个当前训练模型相关,大于预设数量阈值6。因此,仍需执行步骤S304-S306。针对第十个当前训练模型,预测发现有5个数据是和第十个当前训练模型相关,小于预设比例阈值。此时,经过不断的迭代,第十个当前训练模型的预测结果显示相关数据的数量是可以接受的,也即badcase的数量被控制在可接受的范围之内。因此,就会将第十个当前训练模型作为船盘数据模型的最优训练模型。
如此训练出来的船盘数据模型可以很好地将货盘数据模型的相关抽取需求识别成与船盘数据模型无关的需求,从而避免了抽取本属于货盘数据模型的内容。
同样的,可以将船盘数据模型的训练数据作为其他类目加入货盘数据模型,并以相同的方式进行迭代采样训练,使得最终的货盘数据模型也可以很好的将船盘训练模型的相关抽取需求识别为与货盘数据模型无关的需求,从而避免了抽取本属于船盘数据模型的内容。
通过这种迭代采样训练,我们获得了最优的船盘数据模型和货盘数据模型,这两个模型可以将彼此的抽取需求都识别成不相关的需求,从而避免了对另一模型的干扰。这种情况下,两个模型即使部署在一个***中,无论是顺序部署还是并行部署,都不会有严重的模型干扰问题,从而增强了对整个***的把控性。
请参阅图4,本申请实施例提供一种迭代采样的模型训练装置,该装置包括:训练模块401、预测模块402、迭代停止模块403和迭代模块404。
训练模块401,用于使用当前训练集进行训练,获得当前训练模型。
预测模块402,用于使用上述当前训练模型对非目标训练集进行预测,获得当前预测结果。
迭代停止模块403,用于当上述当前预测结果满足迭代停止条件时,将当前训练模型作为目标模型的最优训练模型。
其中,上述非目标训练集由非目标模型的训练数据汇集而成,第一个当前训练集由目标模型的训练数据和N1个非目标训练集中的数据汇集而成。
在一实施例中,该装置还包括迭代模块404,用于当当前预测结果不满足迭代停止条件时,选取N2个导致不满足迭代停止条件的数据加入当前训练集中,形成下一个当前训练集。
在一实施例中,上述预测模块402,用于当前训练模型预测非目标训练集中的每个数据是否与上述当前训练模型有关,当数据与上述当前训练模型有关时,将该数据标注为相关数据;统计相关数据的数量,并作为上述当前预测结果。
在一实施例中,上述迭代模块404,用于当相关数据的数量大于预设数量阈值时,选取N2个上述相关数据加入上述当前训练集中。
在一实施例中,上述迭代模块404,用于计算上述相关数据在上述非目标训练集中的比例,当该比例大于预设比例阈值时,选取N2个上述相关数据加入上述当前训练集中。
上述N1、N2、预设数量阈值和预设比例阈值均为超参数。
上述N1为目标模型的训练数据量和目标模型的训练数据类目量的比值。
当相关数据的数量小于N2的五分之一时,上述N2为相关数据的数量;当相关数据大于等于N2的五分之一时,N2为N1的五分之一。
上述预设比例阈值为1%。
上述装置中各个模块的功能和作用的实现过程具体详见上述模型训练方法中对应步骤的实现过程,在此不再赘述。
请参阅图5,本申请实施例提供一种电子设备,该电子设备500包括处理器501,以及用于存储处理器501可执行指令的存储器502。其中,上述处理器501被配置为执行上述任一实施例中的模型训练方法。
处理器501可以是一种集成电路芯片,具有信号处理能力。上述处理器501可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。
存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。存储器502中还存储有一个或多个模块,分别借由该一个或多个处理器501执行,以完成上述任一实施例中的模型训练方法步骤。
本申请实施例还提供了一种计算机可读存储介质,上述存储介质存储有计算机程序,上述计算机程序可由处理器501执行以完成上述任一实施例中的模型训练方法。
在本申请所提供的几个实施例中,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种模型训练方法,其特征在于,包括:
使用当前训练集进行训练,获得当前训练模型;
使用所述当前训练模型对非目标训练集进行预测,获得当前预测结果;
当所述当前预测结果满足迭代停止条件时,将当前训练模型作为目标模型的最优训练模型;
其中,所述非目标训练集由非目标模型的训练数据汇集而成,第一个当前训练集由目标模型的训练数据和N1个非目标训练集中的数据汇集而成。
2.根据权利要求1所述的方法,其特征在于,包括:
当所述当前预测结果不满足迭代停止条件时,选取N2个导致不满足迭代停止条件的数据加入当前训练集中,形成下一个当前训练集。
3.根据权利要求1或2所述的方法,其特征在于,所述使用所述当前训练模型对非目标训练集进行预测,获得当前预测结果,包括:
所述当前训练模型预测所述非目标训练集中的每个数据是否与所述当前训练模型有关,当数据与所述当前训练模型有关时,将该数据标注为相关数据;
统计相关数据的数量,并作为所述当前预测结果。
4.根据权利要求3所述的方法,其特征在于,所述当所述当前预测结果不满足迭代停止条件时,选取N2个导致不满足迭代停止条件的数据加入当前训练集中,包括:
当所述相关数据的数量大于预设数量阈值时,选取N2个所述相关数据加入所述当前训练集中。
5.根据权利要求3所述的方法,其特征在于,所述当所述当前预测结果不满足迭代停止条件时,选取N2个导致不满足迭代停止条件的数据加入当前训练集中,包括:
计算所述相关数据在所述非目标训练集中的比例,当该比例大于预设比例阈值时,选取N2个所述相关数据加入所述当前训练集中。
6.根据权利要求5所述的方法,其特征在于,所述N1、N2、预设数量阈值和预设比例阈值均为超参数。
7.根据权利要求1中的任一项所述的方法,其特征在于,所述N1为目标模型的训练数据量和目标模型的训练数据类目量的比值。
8.根据权利要求7中所述的方法,其特征在于,当所述相关数据的数量小于N2的五分之一时,所述N2为相关数据的数量;当所述相关数据大于等于N2的五分之一时,所述N2为N1的五分之一。
9.根据权利要求5中所述的方法,其特征在于,所述预设比例阈值为1%。
10.一种模型训练装置,其特征在于,包括:
训练模块,用于使用当前训练集进行训练,获得当前训练模型;
预测模块,用于使用所述当前训练模型对非目标训练集进行预测,获得当前预测结果;
迭代停止模块,用于当所述当前预测结果满足迭代停止条件时,将当前训练模型作为目标模型的最优训练模型;
其中,所述非目标训练集由非目标模型的训练数据汇集而成,第一个当前训练集由目标模型的训练数据和N1个非目标训练集中的数据汇集而成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011561292.8A CN112560988B (zh) | 2020-12-25 | 2020-12-25 | 一种模型训练方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011561292.8A CN112560988B (zh) | 2020-12-25 | 2020-12-25 | 一种模型训练方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112560988A true CN112560988A (zh) | 2021-03-26 |
CN112560988B CN112560988B (zh) | 2023-09-19 |
Family
ID=75032654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011561292.8A Active CN112560988B (zh) | 2020-12-25 | 2020-12-25 | 一种模型训练方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112560988B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019056499A1 (zh) * | 2017-09-20 | 2019-03-28 | 平安科技(深圳)有限公司 | 预测模型训练方法、数据监控方法、装置、设备及介质 |
CN109582793A (zh) * | 2018-11-23 | 2019-04-05 | 深圳前海微众银行股份有限公司 | 模型训练方法、客服***及数据标注***、可读存储介质 |
WO2020108483A1 (zh) * | 2018-11-28 | 2020-06-04 | 腾讯科技(深圳)有限公司 | 模型训练方法、机器翻译方法、计算机设备和存储介质 |
CN111340054A (zh) * | 2018-12-18 | 2020-06-26 | 北京嘀嘀无限科技发展有限公司 | 数据标注方法、装置及数据处理设备 |
WO2020140377A1 (zh) * | 2019-01-04 | 2020-07-09 | 平安科技(深圳)有限公司 | 神经网络模型训练方法、装置、计算机设备及存储介质 |
CN111753914A (zh) * | 2020-06-29 | 2020-10-09 | 北京百度网讯科技有限公司 | 模型优化方法和装置、电子设备及存储介质 |
CN111914868A (zh) * | 2020-04-02 | 2020-11-10 | 支付宝(杭州)信息技术有限公司 | 模型训练方法、异常数据检测方法、装置和电子设备 |
CN112001407A (zh) * | 2020-03-11 | 2020-11-27 | 青岛慧拓智能机器有限公司 | 一种基于自动化标注的模型迭代训练方法及*** |
-
2020
- 2020-12-25 CN CN202011561292.8A patent/CN112560988B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019056499A1 (zh) * | 2017-09-20 | 2019-03-28 | 平安科技(深圳)有限公司 | 预测模型训练方法、数据监控方法、装置、设备及介质 |
CN109582793A (zh) * | 2018-11-23 | 2019-04-05 | 深圳前海微众银行股份有限公司 | 模型训练方法、客服***及数据标注***、可读存储介质 |
WO2020108483A1 (zh) * | 2018-11-28 | 2020-06-04 | 腾讯科技(深圳)有限公司 | 模型训练方法、机器翻译方法、计算机设备和存储介质 |
CN111340054A (zh) * | 2018-12-18 | 2020-06-26 | 北京嘀嘀无限科技发展有限公司 | 数据标注方法、装置及数据处理设备 |
WO2020140377A1 (zh) * | 2019-01-04 | 2020-07-09 | 平安科技(深圳)有限公司 | 神经网络模型训练方法、装置、计算机设备及存储介质 |
CN112001407A (zh) * | 2020-03-11 | 2020-11-27 | 青岛慧拓智能机器有限公司 | 一种基于自动化标注的模型迭代训练方法及*** |
CN111914868A (zh) * | 2020-04-02 | 2020-11-10 | 支付宝(杭州)信息技术有限公司 | 模型训练方法、异常数据检测方法、装置和电子设备 |
CN111753914A (zh) * | 2020-06-29 | 2020-10-09 | 北京百度网讯科技有限公司 | 模型优化方法和装置、电子设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
GIRSHICK R 等: "Rich feature hierarchies for accurate object detection and semantic segmentation", PROCEEDINGS OF THE IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION, COLUMBUS * |
俞敬松;魏一;张永伟;杨浩;: "基于非参数贝叶斯模型和深度学习的古文分词研究", 中文信息学报, no. 06 * |
闵庆凯等: "基于交叉预测的蛋白质交互识别", 《计算机技术与发展》 * |
闵庆凯等: "基于交叉预测的蛋白质交互识别", 《计算机技术与发展》, no. 04, 5 December 2017 (2017-12-05), pages 23 - 26 * |
Also Published As
Publication number | Publication date |
---|---|
CN112560988B (zh) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102061987B1 (ko) | 위험 평가 방법 및 시스템 | |
CN107622333B (zh) | 一种事件预测方法、装置及*** | |
Lamkanfi et al. | Comparing mining algorithms for predicting the severity of a reported bug | |
CN109711440B (zh) | 一种数据异常检测方法和装置 | |
US20210203605A1 (en) | Method and apparatus for detecting abnormal traffic pattern | |
CN111797394A (zh) | 基于stacking集成的APT组织识别方法、***及存储介质 | |
KR102185190B1 (ko) | 머신러닝을 이용한 이상징후 탐지 방법 및 시스템 | |
CN109561322A (zh) | 一种视频审核的方法、装置、设备和存储介质 | |
CN110008984B (zh) | 一种基于多任务样本的目标欺诈交易模型训练方法和装置 | |
CN112200392B (zh) | 业务预测方法及装置 | |
CN113139052B (zh) | 基于图神经网络特征聚合的谣言检测方法及装置 | |
Liu et al. | A framework for online process concept drift detection from event streams | |
Liu et al. | Board-level functional fault identification using streaming data | |
CN111338692A (zh) | 基于漏洞代码的漏洞分类方法、装置及电子设备 | |
CN114138671A (zh) | 一种协议的测试方法、装置、电子设备及存储介质 | |
CN110956278A (zh) | 重新训练机器学习模型的方法和*** | |
Hammoudeh et al. | Selective ensemble model for telecom churn prediction | |
CN111190973A (zh) | 一种申报表的分类方法、装置、设备及存储介质 | |
CN114118246A (zh) | 基于沙普利值和假设检验的全相关特征选择方法及装置 | |
US20050283511A1 (en) | Cross-feature analysis | |
CN112560988A (zh) | 一种模型训练方法及装置 | |
CN113112347A (zh) | 催收决策的确定方法、相关装置及计算机存储介质 | |
CN112465012A (zh) | 机器学习建模方法、装置、电子设备和可读存储介质 | |
CN111353577B (zh) | 基于多任务的级联组合模型的优化方法、装置及终端设备 | |
CN110634018A (zh) | 一种流失用户的特征刻画方法、识别方法及相关装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |