一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种多任务模型训练方法、系统、介质及电子终端与流程

2022-03-16 16:37:16 来源:中国专利 TAG:


1.本发明涉及人工智能技术领域,尤其涉及一种多任务模型训练方法、系统、介质及电子终端。


背景技术:

2.随着自然语言处理技术的发展,多任务模型得到了越来越广泛的应用。然而,随着时间的推移,通常会出现很多新领域的任务。目前,当出现新任务时,通常需要把原有的旧模型丢掉,整合新知识和旧知识,重新训练一个多任务模型,这就导致模型训练效率较低,不能支持较快的模型迭代,无法在保留旧知识的基础上继续学习新知识。
3.例如:在寿险质检任务中,常常需要人工或机器进行违规话术识别,即识别坐席在和客户打电话交流的过程中是否涉及到一些违规话术,而这些违规的话术可能涉及到多个领域,并且随着时间的推移,会有新的违规话术出现,我们需要对新出现的违规话术进行判断,而现有技术需要整合新知识和旧知识,重新训练一个多任务模型,以满足新的违规话术的识别需求,导致模型迭代效率较低。


技术实现要素:

4.本发明提供一种多任务模型训练方法、系统、介质及电子终端,以解决现有技术中当出现新任务时,不能在保留旧知识的基础上继续学习新知识,需要整合新知识和旧知识,重新训练一个多任务模型,导致模型训练效率及迭代效率较低的问题。
5.本发明提供的多任务模型训练方法,包括:
6.获取新增任务,根据所述新增任务,在原始多任务模型中加入新增分类层,进而获取中间模型,所述中间模型包括:参数层、原始分类层和新增分类层;
7.对所述参数层和原始分类层进行冻结;
8.将所述新增任务中的新增训练语句输入所述中间模型进行一次预测,获取所述新增分类层输出的第一预测结果和所述原始分类层输出的第二预测结果;
9.根据所述第一预测结果和新增任务中对应的真实分类结果,对新增分类层进行一次训练;
10.对所述参数层和原始分类层进行解冻,将所述新增训练语句输入所述中间模型进行二次预测,获取原始分类层输出的第三预测结果;
11.根据所述第二预测结果和第三预测结果,对所述中间模型中的所有层进行联合训练,获取最终多任务模型。
12.可选的,对所述参数层和原始分类层进行冻结的步骤包括:
13.根据预先设置的冻结属性,对参数层和原始分类层的可训练变量的参数属性进行一次更新;
14.在所述中间模型的优化器中加入参数过滤器;
15.历遍参数层和原始分类层的可训练变量一次更新后的参数属性,判断参数层和原
始分类层的可训练变量的参数属性是否均为冻结属性,获取第一判断结果;
16.根据所述第一判断结果,完成对所述参数层和原始分类层的冻结。
17.可选的,根据所述第一预测结果和新增任务中对应的真实分类结果,对新增分类层进行一次训练的步骤包括:
18.根据所述第一预测结果、新增任务中对应的真实分类结果和预设的第一损失函数,对所述新增分类层进行训练,所述第一损失函数的数学表达为:
[0019][0020]
其中,为第一损失函数,为新增分类层输出的预测结果,yn为新增分类层输出的预测结果对应的真实分类结果。
[0021]
可选的,在所述中间模型的优化器中加入参数过滤器的步骤之后包括:
[0022]
当对新增分类层进行一次训练时,控制参数过滤器根据预设的过滤规则,对所述参数层和原始分类层中的可训练变量进行过滤,进而对新增分类层进行一次训练;
[0023]
所述过滤规则包括:判断可训练变量的参数属性是否为冻结属性,若所述可训练变量的参数属性为冻结属性,则过滤对应的可训练变量,保持对应的可训练变量不变。
[0024]
可选的,对所述参数层和原始分类层进行解冻的步骤包括:
[0025]
根据预先设置的解冻规则,对参数层和原始分类层中的可训练变量的参数属性进行二次更新;
[0026]
历遍所述参数层和原始分类层中可训练变量二次更新后的参数属性,判断参数层和原始分类层中可训练变量的参数属性是否均为解冻属性,获取第二判断结果,进而完成对所述参数层和原始分类层的解冻。
[0027]
可选的,根据所述第二预测结果和第三预测结果,对所述中间模型中的所有层进行联合训练的步骤包括:
[0028]
获取二次预测过程中新增分类层输出的第四预测结果,根据所述第四预测结果、对应的真实分类结果和预设的第一损失函数,获取第一损失,并对所述新增分类层进行二次训练,获取二次训练后的新增分类层;
[0029]
根据所述第二预测结果、第三预测结果和预设的第二损失函数,对所述原始分类层进行蒸馏,获取第二损失,并对原始分类层进行一次训练,获取一次训练后的原始分类层;
[0030]
根据所述第一损失和第二损失,对所述中间模型中的参数层、二次训练后的新增分类层、一次训练后的原始分类层进行联合训练;
[0031]
所述第二损失函数的数学表达为:
[0032][0033]
其中,为第二损失函数,y
′o为一次预测过程中冻结的原始分类层输出的第二预测结果,为二次预测过程中解冻后的原始分类层输出的第三预测结果,l为解冻后的原始分类层的预测次数。
[0034]
可选的,根据所述第一损失和第二损失,对所述中间模型中的参数层、二次训练后
的新增分类层、一次训练后的原始分类层进行联合训练的步骤包括:
[0035]
根据所述第一损失和第二损失,利用预设的第三损失函数,对所述中间模型中的参数层、二次训练后的新增分类层、一次训练后的原始分类层进行联合训练,所述第三损失函数的数学表达为:
[0036][0037]
其中,为第三损失函数,θs为参数层,θ0为原始分类层,θn为新增分类层,argmin表示使后面式子变成最小值的变量的取值,λ0为预设的第一权值,λ1为预设的第二权值,为第二损失,所述第二损失为蒸馏过程中原始分类层的损失,为第一损失,所述第一损失为二次预测过程中新增分类层的损失。
[0038]
本发明还提供一种多任务模型训练系统,包括:
[0039]
新增任务模块,用于获取新增任务,根据所述新增任务,在原始多任务模型中加入新增分类层,进而获取中间模型,所述中间模型包括:参数层、原始分类层和新增分类层;
[0040]
第一训练模块,用于对所述参数层和原始分类层进行冻结;将所述新增任务中的新增训练语句输入所述中间模型进行一次预测,获取所述新增分类层输出的第一预测结果和所述原始分类层输出的第二预测结果;根据所述第一预测结果和新增任务中对应的真实分类结果,对新增分类层进行一次训练;
[0041]
第二训练模块,用于对所述参数层和原始分类层进行解冻,将所述新增训练语句输入所述中间模型进行二次预测,获取原始分类层输出的第三预测结果;根据所述第二预测结果和第三预测结果,对所述中间模型中的所有层进行联合训练,获取最终多任务模型;
[0042]
所述新增任务模块、第一训练模块和第二训练模块连接。
[0043]
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述方法。
[0044]
本发明还提供一种电子终端,包括:处理器及存储器;
[0045]
所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行如上述任一项所述方法。
[0046]
本发明的有益效果:本发明中的多任务模型训练方法、系统、介质及电子终端,通过获取新增任务,在原始多任务模型中加入与新增任务对应的新增分类层,进而获取中间模型,所述中间模型包括:参数层、原始分类层和新增分类层,然后,对参数层和原始分类层进行冻结,将新增任务中的新增训练语句输入中间模型进行一次预测,获取新增分类层输出的第一预测结果和原始分类层输出的第二预测结果,根据所述第一预测结果和新增任务中对应的真实分类结果,对新增分类层进行一次训练,再对参数层和原始分类层进行解冻,将新增训练语句输入所述中间模型进行二次预测,获取原始分类层输出的第三预测结果,根据第二预测结果和第三预测结果,对中间模型中的所有层进行联合训练,获取最终多任务模型,实现了在保留旧知识的基础上,继续学习新知识,完成对原始多任务模型的迭代,模型的训练效率与迭代效率较高,模型精确度较高。可以理解的,新知识指新增任务,旧知识指原始多任务模型的原始任务。
附图说明
[0047]
图1是本发明实施例中多任务模型训练方法的流程示意图。
[0048]
图2是本发明实施例中多任务模型训练方法中对参数层和原始分类层进行冻结的流程示意图。
[0049]
图3是本发明实施例中多任务模型训练方法中对新增分类层进行一次训练的流程示意图。
[0050]
图4是本发明实施例中多任务模型训练方法中对参数层和原始分类层进行解冻的流程示意图。
[0051]
图5是本发明实施例中多任务模型训练方法中对中间模型的所有层进行联合训练的流程示意图。
[0052]
图6是本发明实施例中多任务模型训练系统的结构示意图。
[0053]
图7是本发明实施例中多任务模型训练的电子终端的结构示意图。
具体实施方式
[0054]
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0055]
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0056]
如图1所示,本实施例中的多任务模型训练方法,包括:
[0057]
s11:获取新增任务,根据所述新增任务,在原始多任务模型中加入新增分类层,进而获取中间模型,所述中间模型包括:参数层、原始分类层和新增分类层。所述新增任务指新出现的任务,所述新增任务包括:新增训练语句,以及与所述新增训练语句相对应的真实分类结果;所述原始多任务模型为原始的用于对多个任务进行预测的模型;所述原始多任务模型包括:参数层和原始分类层,所述原始分类层为原始多任务模型中原有的分类层,所述参数层为所述原始多任务模型中除原始分类层以外的其他层;所述新增任务和所述新增分类层相对应,当在原始多任务模型中加入新增分类层后,形成中间模型,所述中间模型包括:参数层、原始分类层和新增分类层。通过获取新增任务,并根据新增任务,在原始多任务模型中加入与新增任务对应的新增分类层,便于后续在原始多任务模型的基础上,继续学习新知识,即继续学习新任务,提高多任务模型的迭代与更新效率。例如:原始多任务模型中的原始任务为“混淆理财产品”等,获取新增任务,假设新增任务为“误导保险不花钱”,则在原始多任务模型中加入与新增任务“误导保险不花钱”相对应的分类层,获取中间模型,所述中间模型包括:参数层、原始任务对应的原始分类层、新增任务“误导保险不花钱”对应的新增分类层,进而在此基础上,进行多任务模型的训练与迭代,提高多任务模型的迭代效率。
[0058]
可以理解的,多任务模型指同时学习多个任务的模型,多任务模型的结构通常包括transformer结构的参数层和n个与任务相对应的分类层,transformer为基于注意力机制的编码器-解码器(encoder-decoder)结构,多任务模型与单任务模型相互对立。随着时间不断向前推移,新的任务接踵而至,当出现新领域的任务时,现有技术通常需要将旧知识和新知识进行整合起来,重新训练一个多任务模型,这无疑训练成本巨大,训练时间也较长,因此,本实施例中的多任务模型训练方法通过在原始多任务模型中增加与新增任务相对应的新增分类层,获取中间模型,较好地实现了在原始多任务模型的基础上进行新任务的增加,节约多任务模型训练时间与成本。
[0059]
s12:对所述参数层和原始分类层进行冻结;具体的,对中间模型中的参数层和原始分类层进行冻结指在后续的一次训练过程中,中间模型中的参数层和原始分类层的可训练变量不更新,即仅参与前向loss计算,不参与后向传播。通过冻结中间模型中的参数层和原始分类层,便于后续一次训练过程中,对新增任务层进行单独训练,提高新增分类层的精确度。
[0060]
s13:将所述新增任务中的新增训练语句输入所述中间模型进行一次预测,获取所述新增分类层输出的第一预测结果和所述原始分类层输出的第二预测结果;即将新增任务中的新增训练语句输入中间模型,利用新增分类层和原始分类层分别对所述新增训练语句进行一次预测,获取新增分类层输出的第一预测结果和原始分类层输出的第二分类结果。通过获取新增分类层输出的第一预测结果,便于后续根据所述第一预测结果,对新增分类层进行单独训练,提高新增分类层的分类精确度。由于原始分类层为已经训练好的分类层,可以理解的,原始分类层输出的第二预测结果为一个较好的预测,因此,通过原始分类层输出的第二预测结果,便于后续解冻后,对原始分类层进行知识蒸馏,提高原始分类层的精确度。
[0061]
s14:根据所述第一预测结果和新增任务中对应的真实分类结果,对新增分类层进行一次训练;即通过获取第一预测结果和新增任务中对应的真实分类结果之间的差距,对所述新增分类层进行迭代训练,实现对新增分类层的单独训练,提高新增分类层的精确度。
[0062]
s15:对所述参数层和原始分类层进行解冻,将所述新增训练语句输入所述中间模型进行二次预测,获取原始分类层输出的第三预测结果;即在一次训练完成后,对中间模型中的参数层和原始分类层进行解冻,使得参数层和原始分类层中的可训练变量在后续的训练过程中,参与更新与反向传播,并将新增训练语句输入中间模型进行二次预测,获取原始分类层输出的第三预测结果。
[0063]
s16:根据所述第二预测结果和第三预测结果,对所述中间模型中的所有层进行联合训练,获取最终多任务模型。通过获取第二预测结果和第三预测结果之间的差距,对解冻后的原始分类层进行知识蒸馏,提高原始分类层的精确度,使得在保留旧知识识别能力的基础上,学习新知识,并且根据所述第二预测结果和第三预测结果之间的差距,对中间模型中的所有层,即参数层、原始分类层、新增分类层,进行联合训练,得到较优的最终多任务模型,实现在保留旧知识的基础上,学习新知识,有效提高了多任务模型的训练效率与迭代效率,模型精确度较高,大大降低了模型训练成本,避免当出现新任务时,对新知识和旧知识进行整合,在利用整合后的知识,重新训练一个多任务模型。
[0064]
在一些实施例中,所述新增任务的数量可以为一个或多个,当所述新增任务为多
个时,对多个所述新增任务进行排序与标记,按照所述新增任务的顺序,重复上述s11、s12、s13、s14、s15、s16步骤,完成多任务模型的迭代与更新,有效提升多任务模型的迭代效率与训练效率,大大节约了模型训练的成本,模型精确度较高,可实施性较强。
[0065]
在一些实施例中,当再次出现新增任务时,重复上述s11、s12、s13、s14、s15、s16步骤,完成对多任务模型的迭代与更新,模型精确度较高,实施较方便,成本较低。
[0066]
如图2所示,为了较好地实现对参数层与原始分类层的冻结,确保参数层和原始分类层在后续的一次训练过程中不再参与参数更新与迭代,发明人提出,对所述参数层和原始分类层进行冻结的步骤包括:
[0067]
s121:根据预先设置的冻结属性,对参数层和原始分类层的可训练变量的参数属性进行一次更新;即将参数层和原始分类层的可训练变量的参数属性变更为预设的冻结属性,例如:将参数层和原始分类层的可训练变量的参数属性(requires-grad)设置为false。
[0068]
s122:在所述中间模型的优化器中加入参数过滤器(filter);
[0069]
s123:历遍参数层和原始分类层的可训练变量一次更新后的参数属性,判断参数层和原始分类层的可训练变量的参数属性是否均为冻结属性,获取第一判断结果;
[0070]
s124:根据所述第一判断结果,完成对所述参数层和原始分类层的冻结。即为了进一步确保参数层和原始分类层的可训练变量均被冻结,历遍参数层和原始分类层的可训练变量的参数属性,判断参数层和原始分类层的可训练变量的参数属性是否均为冻结属性false,若参数层和原始分类层的可训练变量的参数属性均为冻结属性false,则完成对参数层和原始分类层的可训练变量的冻结,若参数层和/或原始分类层中的可训练变量的参数属性不是冻结属性false,则将相应的可训练变量的参数属性更新为冻结属性,待参数层和原始分类层中的可训练变量的参数属性均为冻结属性时,则完成对参数层和原始分类层的可训练变量的冻结,从而保证参数层和原始分类层中的可训练变量在后续的一次训练的过程中,即对新增分类层的单独训练过程中,不再参与反向传播与更新,提高模型训练的精确度。
[0071]
如图3所示,在一些实施例中,根据所述第一预测结果和新增任务中对应的真实分类结果,对新增分类层进行一次训练的步骤包括:
[0072]
s141:根据所述第一预测结果、新增任务中对应的真实分类结果和预设的第一损失函数,对所述新增分类层进行训练,所述第一损失函数的数学表达为:
[0073][0074]
其中,为第一损失函数,为新增分类层输出的预测结果,yn为新增分类层输出的预测结果对应的真实分类结果。即在一次训练过程中,利用预设的第一损失函数,对新增分类层进行迭代训练,有效提高新增分类层的预测精确度。
[0075]
在一些实施例中,当对所述新增分类层进行一次训练时,控制参数过滤器根据预设的过滤规则,对所述参数层和原始分类层中的可训练变量进行过滤,进而对新增分类层进行一次训练;
[0076]
所述过滤规则包括:判断可训练变量的参数属性是否为冻结属性,若所述可训练变量的参数属性为冻结属性,则过滤对应的可训练变量,保持对应的可训练变量不变。例如:判断中间模型的可训练变量的参数属性是否为冻结属性false,若可训练变量的参数属性为false,则过滤该可训练变量,保持该可训练变量的值不变,从而实现在一次训练过程
中对参数层和原始分类层的可训练变量的冻结,避免一次训练过程中参数层和原始分类层的可训练变量参与参数更新与迭代,实现对新增分类层的单独训练,进而实现了在原有知识,即旧知识的基础上,学习新知识,提高模型训练与迭代效率。
[0077]
如图4所示,为了提高参数层和原始分类层的解冻效率,同时为了避免解冻过程中出现失误,发明人提出,对所述参数层和原始分类层进行解冻的步骤包括:
[0078]
s151:根据预先设置的解冻规则,对参数层和原始分类层中的可训练变量的参数属性进行二次更新;即将参数层和原始分类层中的可训练变量的参数属性变更为预设的解冻属性,例如:将将参数层和原始分类层的可训练变量的参数属性(requires-grad)变更为true,完成对参数层和原始分类层的可训练变量的二次更新。
[0079]
s152:历遍所述参数层和原始分类层中可训练变量二次更新后的参数属性,判断参数层和原始分类层中可训练变量的参数属性是否均为解冻属性,获取第二判断结果,进而完成对所述参数层和原始分类层的解冻。即为了进一步确保参数层和原始分类层的可训练变量均完成解冻,历遍参数层和原始分类层的可训练变量的参数属性,判断参数层和原始分类层的可训练变量的参数属性是否均为解冻属性true,若参数层和原始分类层的可训练变量的参数属性均为解冻属性true,则完成对参数层和原始分类层的可训练变量的解冻,若参数层和/或原始分类层中的可训练变量的参数属性不是解冻属性true,则将相应的可训练变量的参数属性更新为解冻属性,待参数层和原始分类层中的可训练变量的参数属性均为解冻属性时,则完成对参数层和原始分类层的可训练变量的解冻,从而保证参数层和原始分类层中的可训练变量在后续的联合训练的过程中,参与反向传播与参数更新,实现在旧知识的基础上,继续学习新知识。
[0080]
较优的,在二次训练过程中,还可以删除或去除所述中间模型中的参数过滤器,减小模型运行负载,提高模型运行效率。
[0081]
在一些实施例中,根据所述第二预测结果和第三预测结果,对所述中间模型中的所有层进行联合训练的步骤包括:
[0082]
通过获取第二预测结果和第三预测结果之间的差距,对所述中间模型的所有层进行联合训练,获取最终多任务模型。
[0083]
为了进一步提高最终多任务模型的精确度,发明人提出,联合训练的过程中,在获取第二预测结果和第三预测结果的差距的基础上,增加获取新增分类层的损失,进而利用新增分类层的损失和原始分类层的蒸馏损失,对中间模型的所有层进行联合训练,如图5所示,利用新增分类层的损失和原始分类层的蒸馏损失,对中间模型的所有层进行联合训练的步骤包括:
[0084]
s161:获取二次预测过程中新增分类层输出的第四预测结果,根据所述第四预测结果、对应的真实分类结果和预设的第一损失函数,获取第一损失,并对所述新增分类层进行二次训练,获取二次训练后的新增分类层;即利用预设的第一损失函数,获取第四预测结果和对应的真实分类结果之间的差距,获取第一损失,根据所述第一损失,对所述新增分类层进行二次训练,提高新增分类层的预测精确度,对新增分类层进行二次训练的程度可以根据实际情况进行设置,此处不再赘述。
[0085]
s162:根据所述第二预测结果、第三预测结果和预设的第二损失函数,对所述原始分类层进行蒸馏,获取第二损失,并对原始分类层进行一次训练,获取一次训练后的原始分
类层;即利用所述第二损失函数,获取第二预测结果和第三预测结果之间的差距,获取第二损失,根据所述第二损失,对原始分类层进行蒸馏,实现对原始分类层的一次训练,对原始分类层进行一次训练的程度可以根据实际情况进行设置,此处不再赘述。
[0086]
s163:根据所述第一损失和第二损失,对所述中间模型中的参数层、二次训练后的新增分类层、一次训练后的原始分类层进行联合训练;即通过结合所述第一损失和第二损失,对中间模型的所有层进行联合训练,获取精确度较高的最终多任务模型。
[0087]
所述第二损失函数的数学表达为:
[0088][0089]
其中,为第二损失函数,y
′o为一次预测过程中冻结的原始分类层输出的第二预测结果,为二次预测过程中解冻后的原始分类层输出的第三预测结果,l为解冻后的原始分类层的预测次数。通过采用上述第二损失函数,对原始分类层进行蒸馏,能够较有效地提高原始分类层的预测精确度,蒸馏效率较好。
[0090]
在一些实施例中,根据所述第一损失和第二损失,对所述中间模型中的参数层、二次训练后的新增分类层、一次训练后的原始分类层进行联合训练的步骤包括:
[0091]
s1631:根据所述第一损失和第二损失,利用预设的第三损失函数,对所述中间模型中的参数层、二次训练后的新增分类层、一次训练后的原始分类层进行联合训练,所述第三损失函数的数学表达为:
[0092][0093]
其中,为第三损失函数,θs为参数层,θ0为原始分类层,θ0为新增分类层,argmin表示使后面式子变成最小值的变量的取值,λ0为预设的第一权值,λ1为预设的第二权值,为第二损失,所述第二损失为蒸馏过程中原始分类层的损失,为第一损失,所述第一损失为二次预测过程中新增分类层的损失。通过采用上述第三损失函数,对中间模型的所有层进行联合训练与迭代更新,较好地提高了获取的最终多任务模型的精确度与准确性,大大提高多任务模型的训练效率,无需重新训练新模型,实现了在旧知识的基础上,对新知识的学习。
[0094]
实施例一:
[0095]
在寿险质检的应用场景中,通常需要在跟客户交流的过程中,判断是否涉及违规话术。随着时间的推移,通常会出现新的违规话术,若采用原来的多任务模型进行判断,往往不能精确地识别出对应的违规话术,现有技术中通常需要将与新任务对应的新知识(新增训练语句及其对应的真实分类结果),以及与旧任务对应的旧知识(原来的多任务模型所采用训练数据,包括原始训练样本及其对应的真实预测结果)整合起来,重新训练一个新的多任务模型,训练难度较大,运算较复杂,训练时间较长,成本较高,导致模型训练的效率较低。因此,本实施例通过在原始多任务模型中增加与新增任务相对应的新增分类层,获取中间模型,则中间模型包括:中间模型包括:参数层、原始分类层和新增分类层;冻结中间模型中的参数层和原始分类层,将新增任务中的新增训练语句输入中间模型进行一次预测,获取新增分类层输出的第一预测结果和原始分类层输出的第二预测结果,根据所述第一预测
结果和新增任务中对应的真实分类结果,对新增分类层进行一次训练;一次训练完成后,对所述参数层和原始分类层进行解冻,将所述新增训练语句输入所述中间模型进行二次预测,获取原始分类层输出的第三预测结果和新增分类层输出的第四分类结果;根据所述第二预测结果、第三预测结果、第四预测结果和与第四预测结果相对应的真实分类结果,对所述中间模型中的所有层进行联合训练,获取最终多任务模型,实现了对原始多任务模型的迭代训练与更新,无需整合新知识和旧知识,并重新训练一个多任务模型,模型训练与迭代效率较高,精确度较高,大大节约了模型训练的成本,缩短模型训练时间。例如:当新增任务为:判断违规话术“误导保险不花钱”时,则根据所述新增任务,在原始多任务模型中增加对应的新增分类层θ1,获取中间模型,该中间模型包括:新增分类层θ1、参数层θs和原始分类层θ0,冻结所述参数层θs和原始分类层θ0,使得参数层θs和原始分类层θ0在后续对新增分类层的一次训练过程中,不再参与反向传播与迭代,将新增任务对应的新增训练语句输入中间模型进行一次预测,获取新增分类层θ1输出的第一预测结果和原始分类层θ0输出的第二预测结果,根据第一预测结果和对应的真实分类结果,对新增分类层进行一次训练,由于在此过程中,参数层θs和原始分类层θ0已经冻结,因此,参数层θs和原始分类层θ0不参与参数更新,在新增分类层θ1的单独训练完成后,再对参数层θs和原始分类层θ0进行解冻,将新增任务的新增训练语句输入中间模型进行二次预测,获取原始分类层θ0输出的第三预测结果和新增分类层θ1输出的第四预测结果,根据所述第二预测结果和第三预测结果之间的差距、第四预测结果和对应的真实分类结果之间的差距,对原始多任务模型中的所有层进行联合训练,获取较优的最终多任务模型,较好地实现了在原始多任务模型的基础上,对新任务的训练,在旧知识的基础上进一步学习新知识,训练效率较高,精确度较高,模型预测效果较好。
[0096]
实施例二:
[0097]
在智能电话接听或舆情判定的应用场景中,当需要对新出现的违规话术或目标话术进行判断的任务时,通过将与新增任务相对应的新增分类层加入原始多任务模型,获取中间模型,中间模型包括参数层、原始分类层和新增分类层,进而冻结中间模型中的参数层和原始分类层,将新增任务的新增训练语句输入中间模型进行一次预测,获取新增分类层输出的第一预测结果和原始分类层输出的第二预测结果,通过获取第一预测结果和对应的真实分类结果之间的差距,对新增分类层进行一次训练,当对新增分类层的单独训练完成后,再对参数层和原始分类层进行解冻,使得参数层和原始分类层在后续训练过程中参与参数更新与迭代,将新增训练语句输入中间模型进行二次预测,获取原始分类层输出的第三预测结果和新增分类层输出的第四预测结果,根据第二预测结果和第三预测结果、第四预测结果,以及与第四预测结果相对应的真实分类结果,对中间模型中的所有层进行联合训练,获取最终多任务模型,精确度较高,使得在新任务出现时,能够在保留原始多任务模型的旧知识的基础上,对新增任务对应的新知识进行训练,有效提高了多任务模型的训练效率。
[0098]
如图6所示,本实施例还提供一种多任务模型训练系统,包括:
[0099]
新增任务模块,用于获取新增任务,根据所述新增任务,在原始多任务模型中加入新增分类层,进而获取中间模型,所述中间模型包括:参数层、原始分类层和新增分类层;
[0100]
第一训练模块,用于对所述参数层和原始分类层进行冻结;将所述新增任务中的
新增训练语句输入所述中间模型进行一次预测,获取所述新增分类层输出的第一预测结果和所述原始分类层输出的第二预测结果;根据所述第一预测结果和新增任务中对应的真实分类结果,对新增分类层进行一次训练;
[0101]
第二训练模块,用于对所述参数层和原始分类层进行解冻,将所述新增训练语句输入所述中间模型进行二次预测,获取原始分类层输出的第三预测结果;根据所述第二预测结果和第三预测结果,对所述中间模型中的所有层进行联合训练,获取最终多任务模型;
[0102]
所述新增任务模块、第一训练模块和第二训练模块连接。本实施例中的多任务模型训练系统,通过获取新增任务,在原始多任务模型中加入与新增任务对应的新增分类层,进而获取中间模型,所述中间模型包括:参数层、原始分类层和新增分类层,然后,对所述参数层和原始分类层进行冻结,将新增任务中的新增训练语句输入中间模型进行一次预测,获取新增分类层输出的第一预测结果和原始分类层输出的第二预测结果,根据所述第一预测结果和新增任务中对应的真实分类结果,对新增分类层进行一次训练,再对参数层和原始分类层进行解冻,将新增训练语句输入所述中间模型进行二次预测,获取原始分类层输出的第三预测结果,根据第二预测结果和第三预测结果,对中间模型中的所有层进行联合训练,获取最终多任务模型,实现了在保留旧知识的基础上,继续学习新知识,完成对原始多任务模型的迭代,模型的训练效率与迭代效率较高,模型精确度较高,成本较低,可实施性较强。
[0103]
在一些实施例中,对所述参数层和原始分类层进行冻结的步骤包括:
[0104]
根据预先设置的冻结属性,对参数层和原始分类层的可训练变量的参数属性进行一次更新;
[0105]
在所述中间模型的优化器中加入参数过滤器;
[0106]
历遍参数层和原始分类层的可训练变量一次更新后的参数属性,判断参数层和原始分类层的可训练变量的参数属性是否均为冻结属性,获取第一判断结果;
[0107]
根据所述第一判断结果,完成对所述参数层和原始分类层的冻结。
[0108]
在一些实施例中,根据所述第一预测结果和新增任务中对应的真实分类结果,对新增分类层进行一次训练的步骤包括:
[0109]
根据所述第一预测结果、新增任务中对应的真实分类结果和预设的第一损失函数,对所述新增分类层进行训练,所述第一损失函数的数学表达为:
[0110][0111]
其中,为第一损失函数,为新增分类层输出的预测结果,yn为新增分类层输出的预测结果对应的真实分类结果。
[0112]
在一些实施例中,在所述中间模型的优化器中加入参数过滤器的步骤之后包括:
[0113]
当对新增分类层进行一次训练时,控制参数过滤器根据预设的过滤规则,对所述参数层和原始分类层中的可训练变量进行过滤,进而对新增分类层进行一次训练;
[0114]
所述过滤规则包括:判断可训练变量的参数属性是否为冻结属性,若所述可训练变量的参数属性为冻结属性,则过滤对应的可训练变量,保持对应的可训练变量不变。
[0115]
在一些实施例中,对所述参数层和原始分类层进行解冻的步骤包括:
[0116]
根据预先设置的解冻规则,对参数层和原始分类层中的可训练变量的参数属性进
行二次更新;
[0117]
历遍所述参数层和原始分类层中可训练变量二次更新后的参数属性,判断参数层和原始分类层中可训练变量的参数属性是否均为解冻属性,获取第二判断结果,进而完成对所述参数层和原始分类层的解冻。
[0118]
在一些实施例中,根据所述第二预测结果和第三预测结果,对所述中间模型中的所有层进行联合训练的步骤包括:
[0119]
获取二次预测过程中新增分类层输出的第四预测结果,根据所述第四预测结果、对应的真实分类结果和预设的第一损失函数,获取第一损失,并对所述新增分类层进行二次训练,获取二次训练后的新增分类层;
[0120]
根据所述第二预测结果、第三预测结果和预设的第二损失函数,对所述原始分类层进行蒸馏,获取第二损失,并对原始分类层进行一次训练,获取一次训练后的原始分类层;
[0121]
根据所述第一损失和第二损失,对所述中间模型中的参数层、二次训练后的新增分类层、一次训练后的原始分类层进行联合训练;
[0122]
所述第二损失函数的数学表达为:
[0123][0124]
其中,为第二损失函数,y
′o为一次预测过程中冻结的原始分类层输出的第二预测结果,为二次预测过程中解冻后的原始分类层输出的第三预测结果,l为解冻后的原始分类层的预测次数。
[0125]
在一些实施例中,根据所述第一损失和第二损失,对所述中间模型中的参数层、二次训练后的新增分类层、一次训练后的原始分类层进行联合训练的步骤包括:
[0126]
根据所述第一损失和第二损失,利用预设的第三损失函数,对所述中间模型中的参数层、二次训练后的新增分类层、一次训练后的原始分类层进行联合训练,所述第三损失函数的数学表达为:
[0127][0128]
其中,为第三损失函数,θs为参数层,θ0为原始分类层,θn为新增分类层,argmin表示使后面式子变成最小值的变量的取值,λ0为预设的第一权值,λ1为预设的第二权值,为第二损失,所述第二损失为蒸馏过程中原始分类层的损失,为第一损失,所述第一损失为二次预测过程中新增分类层的损失。
[0129]
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本实施例中的任一项方法。
[0130]
本实施例还提供一种电子终端,包括:处理器及存储器;
[0131]
所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行本实施例中任一项方法。
[0132]
如图7所示,展示本发明一实施例中电子终端的结构示意图。本实例提供的电子终端,包括:处理器71、存储器72、通信器73、通信接口74和系统总线75;存储器72和通信接口
74通过系统总线75与处理器71和通信器73连接并完成相互间的通信,存储器72用于存储计算机程序,通信接口74用于和其他设备进行通信,处理器71和通信器73用于运行计算机程序,使电子终端执行如上述多任务模型蒸馏方法的各个步骤。
[0133]
上述提到的系统总线75可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(random access memory,简称ram),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0134]
在本实施例中,存储器可能包含随机存取存储器(random access memory,简称ram),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0135]
上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0136]
本实施例中的计算机可读存储介质,本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备,例如利用因特网服务提供商来通过因特网连接。
[0137]
本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统及机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深
度学习等几大方向。
[0138]
综上,本实施例中的多任务模型训练方法、系统、介质及电子终端,通过获取新增任务,在原始多任务模型中加入与新增任务对应的新增分类层,获取中间模型,所述中间模型包括:参数层、原始分类层和新增分类层,然后,冻结所述参数层和原始分类层,将新增任务中的新增训练语句输入中间模型进行一次预测,获取新增分类层输出的第一预测结果和原始分类层输出的第二预测结果,根据所述第一预测结果和新增任务中对应的真实分类结果,对新增分类层进行一次训练,再对参数层和原始分类层进行解冻,将新增训练语句输入所述中间模型进行二次预测,获取原始分类层输出的第三预测结果,根据第二预测结果和第三预测结果,对中间模型中的所有层进行联合训练,获取最终多任务模型,实现了在保留旧知识的基础上,继续学习新知识,完成对原始多任务模型的迭代,模型的训练效率与迭代效率较高,模型精确度较高,有效降低多任务模型的迭代成本。
[0139]
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0140]
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献