多任务处理方法、多任务处理模型训练方法及相关设备与流程
本技术实施例涉及人工智能领域,尤其涉及一种多任务处理方法、一种多任务处理模型训练方法及相关设备。
背景技术:
1、多任务学习(multi-task learning,mtl)是一种机器学习方法,不同于单一任务的模型学习,多任务学习通过共享网络的部分参数,利用不同任务之间的相关性,提升每个任务的学习效果。然而,这种机器学习方法,无法均衡多个任务中每个任务的任务性能。
技术实现思路
1、本技术提供一种多任务处理方法、一种多任务处理模型训练方法及相关设备,可以有效均衡多任务处理模型中多个任务的任务性能。
2、第一方面,提供一种多任务处理方法,该方法可以由多任务处理设备来执行,或者由多任务处理设备中的芯片来执行。
3、上述多任务处理方法应用于多任务处理模型。其中,多任务处理模型包括共享模块以及与多个相关的任务一一对应的多个处理模块。
4、多任务处理模型用于执行多个相关的任务,其中,用于实现多个相关的任务中各个任务的网络结构之间可以为并联的网络结构,也可以为串联的网络结构,也可以为并联和串联同时存在的网络结构。上述多个相关的任务中包括第一任务。
5、具体地,上述多任务处理方法包括以下步骤:获取输入数据,通过共享模块对上述输入数据进行特征提取得到多个相关的任务的共享特征。通过第一处理模块从多个相关的任务中除第一任务之外的任务的任务信息中得到与第一任务相关的第一信息,以及基于第一信息和共享特征得到第一任务的输出结果。其中,上述输入数据与多个相关的任务相关。上述第一处理模块与第一任务对应。
6、本技术实施例中,利用共享模块从输入数据中提取到多个任务的共享特征;并通过与第一任务对应的第一处理模块,对多个相关的任务中除第一任务以外的其它任务的任务信息进行处理,以得到与第一任务相关的第一信息。进而,基于第一信息以及输入第一处理模块的共享特征获得第一任务的输出结果。可见,本技术实施例设置了从其它任务信息中获取与自身任务相关的信息的网络结构(例如第一处理模块),可以显式迁移其它任务的信息,有利于提升第一任务的任务性能,进而有效均衡多任务处理模型中多个任务的任务性能。
7、在第一方面的一种可能的实施方式中,上述多个相关的任务还包括第二任务,上述多任务处理方法还包括以下步骤:通过第二处理模块对上述共享特征进行处理得到第二任务的输出结果。其中,上述第二处理模块与第二任务对应。
8、本技术实施例中,利用第二处理模块对输入第二处理模块的共享特征进行处理以得到第二任务的输出结果,第二处理模块无需迁移其它任务的信息即可完成第二任务。
9、在第一方面的一种可能的实施方式中,上述第一处理模块包括第一选择器和第一任务网络。
10、上述通过第一处理模块从多个相关的任务中除第一任务之外的任务的任务信息中得到与第一任务相关的第一信息,以及基于第一信息和共享特征得到第一任务的输出结果,具体包括以下步骤:通过上述第一选择器基于多头注意力机制从多个相关的任务中除第一任务之外的任务的任务信息得到集成信息,以及基于上述集成信息和信息选择投影向量得到上述第一信息。再通过第一任务网络对第一信息和共享特征进行处理得到第一任务的输出结果。
11、本技术实施例中,第一选择器采用多头注意力机制对除第一任务以外的其它任务的信息进行信息集成以得到集成信息,利用多头注意力机制能够捕捉到其它任务更多的信息,可以快速全面有效实现信息集成。第一选择器再利用信息选择投影向量对集成信息进行信息筛选,过滤掉与第一任务无关的信息,以得到上述第一信息。另外,第一任务网络基于迁移的第一信息和共享特征得到第一任务的输出结果,有效利用迁移的信息,进而提升第一任务的输出结果的精度。
12、在第一方面的一种可能的实施方式中,上述第一任务网络包括第一处理塔和第一预测模块。
13、上述通过第一任务网络对第一信息和共享特征进行处理得到第一任务的输出结果,具体包括以下步骤:通过第一处理塔分别对共享特征、第一信息进行处理得到第一输出数据和第二输出数据。通过第一预测模块对第一输出数据和第二输出数据进行处理得到第一任务的输出结果。
14、本技术实施例中,利用第一处理塔分别对共享特征、第一信息进行与第一任务相关的处理以得到第一输出数据和第二输出数据;再通过第一预测模块基于第一输出数据和第二输出数据得到第一任务的输出结果;第一处理塔和第一预测模块专注于第一任务,可以提升第一任务的性能。
15、在第一方面的一种可能的实施方式中,上述多个相关的任务中除第一任务之外的任务的任务信息为多个相关的任务中除第一任务之外的任务对应的处理塔的任意一个网络层的输出向量。
16、本技术实施例中,对于每个处理塔来说,任意一个网络层的输出向量都可以作为任务信息,用于进行信息迁移。例如,多个相关的任务包括第一任务、任务a、任务b和任务c,假设任务a、任务b和任务c对应的处理塔都包括5个网络层,则第一处理模块可以基于任务a的处理塔中的第一个网络层对应的输出向量、任务b的处理塔中的第一个网络层对应的输出向量和任务c的处理塔中的第一个网络层对应的输出向量得到第一信息。或者,第一处理模块可以基于任务a的处理塔中的第一个网络层对应的输出向量、任务b的处理塔中的第二个网络层对应的输出向量和任务c的处理塔中的最后一个网络层对应的输出向量得到第一信息。
17、在第一方面的一种可能的实施方式中,上述多任务处理模型还包括聚合模块。
18、上述多任务处理方法还包括以下步骤:通过聚合模块对多个相关的任务中除第一任务之外的任务的任务信息进行聚合得到聚合信息。通过第一处理模块基于聚合信息得到第一信息。
19、本技术实施例中,通过信息聚合可以降低除第一任务之外的任务的信息的数据维度,提高计算效率和准确性,快速准确选择出第一信息。
20、在第一方面的一种可能的实施方式中,上述多个相关的任务包括点击率预测任务、转化率预测任务、付费率预测任务或激活率预测任务。
21、在第一方面的一种可能的实施方式中,上述共享模块包括共享底层网络或配备门控机制的专家网络。本技术实施例中,共享模块可以是多个相关的任务共享一个完全相同的网络,这个网络也就是共享底层网络,则对于多个相关的任务来说,共享特征是相同的。共享模块也可以是多个相关的任务共享一个部分相同的网络,例如配备门控机制的专家网络,不同的任务可以根据自身任务的需要,选择性使用共享底层网络以及专家网络的特征,这样,对于多个相关的任务来说,共享特征可以是相同或不同的。
22、在第一方面的一种可能的实施方式中,上述共享模块还包括特征转换模块,对输入数据进行特征转换,以降低输入数据的维度,节约计算资源,提高模型的计算效率。
23、第二方面,本技术还提供一种多任务处理模型训练方法,用于训练得到上述多任务处理模型。该训练方法可以由模型训练设备来执行,或者由模型训练设备中的芯片来执行。
24、具体地,上述训练方法包括以下步骤:获取训练数据,通过共享模块对训练数据进行特征提取得到多个相关的任务的共享特征。通过第一处理模块从多个相关的任务中除第一任务之外的任务的任务信息中得到与第一任务相关的信息。通过第一处理模块分别对输入第一处理模块的共享特征、与第一任务相关的信息进行处理得到第三输出数据和第四输出数据。基于第三输出数据和第四输出数据得到第一任务的第一损失值。基于多个相关的任务的损失值调整多任务处理模型的模型参数,多个相关的任务的损失值包括第一损失值。其中,训练数据与多个相关的任务相关。上述第一处理模块与第一任务对应。
25、本技术实施例中,利用共享模块从训练数据中提取到多个任务的共享特征;并通过与第一任务对应的第一处理模块,对多个相关的任务中除第一任务以外的其它任务的任务信息进行处理,以得到与第一任务相关的信息。再通过第一处理模块分别对共享特征、与第一任务相关的信息进行处理得到第三输出数据和第四输出数据,进而基于第三输出数据和第四输出数据得到第一任务的第一损失值。最后,基于多个任务的损失值(包括第一损失值)调整模型参数。可见,本技术实施例中设置了实现从其它任务信息中获取与自身任务相关的信息的网络结构(例如第一处理模块),可以将其他任务的任务信息引入到任务的损失中,帮助模型更好地学习当前任务,训练后可以显式迁移其它任务的任务信息,有利于提升第一任务的任务性能,进而有效均衡多任务处理模型中多个任务的任务性能。
26、在第二方面的一种可能的实施方式中,上述第一处理模块包括第一选择器,上述通过第一处理模块从多个相关的任务中除第一任务之外的任务的任务信息中得到与第一任务相关的信息,具体包括以下步骤:通过第一选择器基于多头注意力机制从多个相关的任务中除第一任务之外的任务的任务信息得到集成信息。通过第一选择器对集成信息和信息选择投影向量进行处理得到与第一任务相关的信息。
27、本技术实施例中,第一选择器采用多头注意力机制对除第一任务以外的其它任务的任务信息进行信息集成以得到集成信息,利用多头注意力机制能够捕捉到其它任务更多的信息,可以快速全面有效实现信息集成。第一选择器再利用信息选择投影向量对集成信息进行信息筛选,过滤掉与第一任务无关的信息,以得到上述与第一任务相关的信息。
28、在第二方面的一种可能的实施方式中,上述第一处理模块还包括第一任务网络,上述第一任务网络包括第一处理塔。上述通过第一处理模块分别对共享特征、与第一任务相关的信息进行处理得到第三输出数据和第四输出数据,具体包括以下步骤:通过第一处理塔对共享特征进行处理得到第三输出数据。通过第一处理塔对与第一任务相关的信息进行处理得到第四输出数据。
29、本技术实施例中,利用第一处理塔分别对共享特征、与第一任务相关的信息进行与第一任务相关的处理以得到第一输出数据和第二输出数据。
30、在第二方面的一种可能的实施方式中,上述基于第三输出数据和第四输出数据得到第一任务的第一损失值,具体包括以下步骤:基于第三输出数据与第一期望值得到第一任务的任务损失值。第一期望值是第三输出数据的期望值。基于第四输出数据和第二期望值得到第一任务的信息迁移损失值。第二期望值是第四输出数据的期望值。基于信息迁移损失值和任务损失值确定第一损失值。
31、本技术实施例中,基于信息迁移损失值和任务损失值来确定第一损失值,由于考虑了信息迁移损失,第一任务的损失表达更加准确,有利于提升第一任务的任务性能。
32、在第二方面的一种可能的实施方式中,上述多个相关的任务还包括第二任务,上述训练方法还包括以下步骤:通过第二处理模块对共享特征进行处理得到第五输出数据。基于第五输出数据和第三期望值得到第二任务的第二损失值。多个相关的任务的损失值包括第二损失值。其中,第二处理模块与第二任务对应。第三期望值是第五输出数据的期望值。
33、本技术实施例中,利用第二处理模块对输入第二处理模块的共享特征进行处理以得到第五输出数据,进而基于第五输出数据和第三期望值得到第二损失值。可见,第二处理模块无需迁移其它任务的任务信息即可完成第二任务,则确定第二损失值时,不需要考虑信息迁移损失。
34、在第二方面的一种可能的实施方式中,上述多个相关的任务中除第一任务之外的任务的任务信息为多个相关的任务中除第一任务之外的任务对应的处理塔的任意一个网络层的输出向量。
35、在第二方面的一种可能的实施方式中,上述多任务处理模型还包括聚合模块,上述训练方法还包括以下步骤:通过聚合模块对多个相关的任务中除第一任务之外的任务的任务信息进行聚合得到聚合信息。通过第一处理模块基于聚合信息得到与第一任务相关的信息。
36、本技术实施例中,通过信息聚合可以降低除第一任务之外的任务的任务信息的数据维度,提高计算效率和准确性,快速准确选择出与第一任务相关的信息。
37、在第二方面的一种可能的实施方式中,上述多个相关的任务包括点击率预测任务、转化率预测任务、付费率预测任务或激活率预测任务。
38、在第二方面的一种可能的实施方式中,上述共享模块包括共享底层网络或配备门控机制的专家网络。
39、在第二方面的一种可能的实施方式中,上述共享模块还包括特征转换模块,对训练数据进行特征转换,以降低训练数据的维度,节约计算资源,提高模型的训练效率。
40、第三方面,本技术还提供一种多任务处理设备,所述设备包括用于执行第一方面所述的多任务处理方法的单元或模块。
41、第四方面,本技术还提供一种模型训练设备,所述设备包括用于执行第二方面所述的多任务处理模型训练方法的单元或模块。
42、第五方面,本技术还提供一种电子设备,包括处理器和存储器,其中,所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如第一方面或第二方面所述的方法。
43、第六方面,本技术还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现如第一方面或第二方面所述的方法。
44、第七方面,本技术还提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行第一方面或第二方面所述的方法。
45、第八方面,本技术还提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第一方面或第二方面所述的方法。
46、可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或第二方面所述的方法。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com