CN110909885A - 一种平衡多个任务的方法及系统 - Google Patents

一种平衡多个任务的方法及系统 Download PDF

Info

Publication number
CN110909885A
CN110909885A CN201911139061.5A CN201911139061A CN110909885A CN 110909885 A CN110909885 A CN 110909885A CN 201911139061 A CN201911139061 A CN 201911139061A CN 110909885 A CN110909885 A CN 110909885A
Authority
CN
China
Prior art keywords
loss function
task
sample data
function value
determining
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
Application number
CN201911139061.5A
Other languages
English (en)
Other versions
CN110909885B (zh
Inventor
陈晓军
崔恒斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN201911139061.5A priority Critical patent/CN110909885B/zh
Publication of CN110909885A publication Critical patent/CN110909885A/zh
Application granted granted Critical
Publication of CN110909885B publication Critical patent/CN110909885B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本说明书一个或多个实施例公开了一种平衡多个任务的方法。所述方法包括:获取第一任务的第一损失函数和至少一个第二任务的第二损失函数,所述第一损失函数对应主任务,所述至少一个第二损失函数对应至少一个辅任务;根据所述第一损失函数得到第一损失函数对应的第一损失函数值;根据所述第二损失函数得到第二损失函数对应的第二损失函数值;根据所述第一损失函数值和所述至少一个第二损失函数值之间的大小关系,确定至少一个平衡参数;所述至少一个平衡参数用于将所述至少一个第二损失函数和所述第一损失函数调整至同一量级;使用所述至少一个平衡参数,确定第一损失函数和至少一个第二损失函数对应的联合损失函数。

Description

一种平衡多个任务的方法及系统
技术领域
本说明书的一个或多个实施例涉及数据处理技术领域,特别涉及一种平衡多个任务的方法及系统。
背景技术
现在的深度学习出现了很多任务一起学习的现象,如何平衡多个任务的损失函数之间的量级是多任务学习中需要解决的问题。目前通常采用引入固定参数的方式来平衡多个任务的量级,并通过手动调整的方式调整固定参数的大小。手动调整参数的方式费事费力,因此有必要提出一种动态调整参数的方法,以取得更好的效果。
发明内容
本说明书实施例的一个方面提供一种平衡多个任务的方法,所述方法包括:获取第一任务的第一损失函数和至少一个第二任务的第二损失函数,所述第一损失函数对应主任务,所述至少一个第二损失函数对应至少一个辅任务;根据所述第一损失函数得到第一损失函数对应的第一损失函数值;根据所述第二损失函数得到第二损失函数对应的第二损失函数值;根据所述第一损失函数值和所述至少一个第二损失函数值之间的大小关系,确定至少一个平衡参数;所述至少一个平衡参数用于将所述至少一个第二损失函数和所述第一损失函数调整至同一量级;使用所述至少一个平衡参数,确定第一损失函数和至少一个第二损失函数对应的联合损失函数。
本说明书实施例的另一方面提供一种平衡多个任务的系统,所述系统包括:获取模块,用于获取第一任务的第一损失函数和至少一个第二任务的第二损失函数,所述第一损失函数对应主任务,所述至少一个第二损失函数对应至少一个辅任务;第一计算模块,用于根据所述第一损失函数得到第一损失函数对应的第一损失函数值;第二计算模块,用于根据所述第二损失函数得到第二损失函数对应的第二损失函数值;第一参数确定模块,用于根据所述第一损失函数值和所述至少一个第二损失函数值之间的大小关系,确定至少一个平衡参数;所述至少一个平衡参数用于将所述至少一个第二损失函数和所述第一损失函数调整至同一量级;联合损失函数计算模块,用于使用所述至少一个平衡参数,确定第一损失函数和至少一个第二损失函数对应的联合损失函数。
本说明书实施例的另一方面提供一种平衡多个任务装置,其中,所述装置包括至少一个处理器以及至少一个存储器;所述至少一个存储器用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令中的至少部分指令以实现本说明书中一些实施例所述的方法。
附图说明
本说明书将以示例性实施例的方式进一步描述,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书一些实施例所示的一种平衡多个任务的方法的示例性流程图;
图2是根据本说明书一些实施例所示的一种联合训练中损失函数值的计算过程的示意图;
图3是根据本说明书一些实施例所示的一种示例性平衡多个任务的系统的模块图;以及
图4是根据本说明书一些实施例所示的一种平衡多个任务的方法的应用场景图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本说明书中所使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
本说明书的一个或多个实施例可以应用于多任务学习中的联合训练。所述多任务学习中的联合训练可以是机器学习模型的一种训练过程。所述机器学习模型可以是包含多个隐藏层和多个参数的神经网络模型。例如,深度学习模型。所述机器学习模型可以是包括多个学习任务的多任务学习模型。所述多任务学习模型可以包括但不限于多任务监督学习、多任务无监督学习、多任务半监督学习、多任务主动学习、多任务强化学习、多任务在线学习以及多任务多视角学习等。本说明书的一个或多个实施例可以利用多个学习任务中所包含的有用信息来帮助每个任务学习获得更为准确的学习器。
本说明书的一个或多个实施例的不同实施例应用场景包括但不限于自然语言处理、医学图像处理、垃圾邮件过滤、网页检索、图像识别、语音识别等。应当理解的是,本说明书的一个或多个实施例的系统及方法的应用场景仅仅是本说明书的一个或多个实施例的一些示例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书的一个或多个实施例应用于其它类似情景。例如,其他类似的机器识别系统。
图1为根据本说明书的一些实施例所示的一种平衡多个任务的方法的示例性流程图。如图1所示,一种平衡多个任务的方法可以包括:
步骤110,获取第一任务的第一损失函数和至少一个第二任务的第二损失函数。在一些实施例中,步骤110可以由获取模块310执行。
在一些实施例中,多任务学习模型中可以包含一个主任务以及一个或多个辅任务,主任务主导多任务学习模型的训练过程。第一任务可以是多任务学习模型中的主任务。第二任务可以是多任务学习模型中的辅任务。损失函数可以是用来估量多任务学习模型的预测值Y与真实值f(x)的不一致程度的函数。损失函数可以包括但不限于对数(log)损失函数、平方损失函数、指数损失函数、Hinge损失函数以及绝对值损失函数等。损失函数可以表示为:
loss=L(Y,f(x)) (1)
其中,L代表损失函数,Y和f(x)为损失函数的输入。
步骤120,根据所述第一损失函数得到第一损失函数对应的第一损失函数值。在一些实施例中,步骤120可以由第一计算模块320执行。
在一些实施例中,损失函数值可以是一个张量。例如,第一损失函数值可以是以矩阵形式表示的二阶张量。又例如,第一损失函数值也可以是在GPU上进行计算的多维张量(如零维张量、一维张量、二维张量等)。在一些实施例中,损失函数值也可以是其他形式的数值。例如:向量、矩阵、浮点数等,不受本说明书的表述所限。
在一些实施例中,可以根据第一损失函数得到第一损失函数对应的第一损失函数值,该过程详见图2中的相关描述,在此不再赘述。
步骤130,根据所述第二损失函数得到第二损失函数对应的第二损失函数值。在一些实施例中,步骤130可以由第二计算模块330执行。
在一些实施例中,第二损失函数值可以是一个张量。例如,第二损失函数值可以是在GPU上进行计算的0维张量。在一些实施例中,可以根据第二损失函数得到第二损失函数对应的第二损失函数值,该过程详见图2中的相关描述,在此不再赘述。
步骤140,根据所述第一损失函数值和所述至少一个第二损失函数值之间的大小关系,确定至少一个平衡参数。在一些实施例中,步骤140可以由第一参数确定模块340执行。
在一些实施例中,平衡参数可以是用于调节第一损失函数和第二损失函数之间数量级关系的参数。在一些实施例中,多任务学习模型还可以包括第三任务、第四任务、......、第N任务,第三任务对应于第三损失函数loss3,第四任务对应于第四损失函数loss4,第N任务对应于第N损失函数lossn。在一些实施例中,可以有多个平衡参数,用于调节第一损失函数与第N损失函数之间数量级关系其中N≥2。
在一些实施例中,根据第一损失函数值和至少一个第二损失函数值之间的大小关系,确定至少一个平衡参数包括:计算第一损失函数值与至少一个第二损失函数值的比值,获得所述至少一个平衡参数。
在一些实施例中,第一损失函数值与第二损失函数值可以是包含一个元素的零维张量。该张量不仅包含数值的大小还包含其它信息,例如方向。所以需要使用函数.item()从该张量中提取数值大小。因此平衡参数可以通过以下公式得到:
Figure BDA0002279716800000041
其中n≥1,lossn.item()表示由第N损失函数计算得出的第N损失函数值的大小。例如,第一损失函数值的大小为loss1.item(),第二损失函数值的大小为loss2.item()。
步骤150,使用所述至少一个平衡参数,确定第一损失函数和至少一个第二损失函数对应的联合损失函数。在一些实施例中,步骤150可以由联合损失函数计算模块360执行。
在一些实施例中,联合损失函数可以由多任务学习模型中的多个损失函数联合确定。联合损失函数可以用于在联合训练过程中估量多任务学习模型的训练效果。
在一些实施例中,使用至少一个平衡参数,确定第一损失函数和至少一个第二损失函数对应的联合损失函数可以包括以下步骤:
(1)计算至少一个第二损失函数与平衡参数的第一乘积,获得至少一个调整后的第二损失函数:
(2)计算第一损失函数与至少一个调整后的第二损失函数的和,获得所述联合损失函数。
该计算过程可以由以下公式表示:
Jointloss=loss11loss2 (3)
其中,loss1为第一任务对应的第一损失函数,loss2为第二任务对应的第二损失函数。α1为由第一损失函数和第二损失函数确定的平衡参数,α1可以由公式(2)计算得到。α1loss2为所述第一乘积。在上述公式中,平衡参数可以将第二损失函数调整至与第一损失函数相同的量级。例如,loss1.item()是2000,loss1为千位数量级,loss2.item()是1.8,loss2为个位数量级,那么第一乘积α1loss2作为调整后的第二损失函数,其量级与loss1相同,也为千位数量级。
在本说明书的一些实施例中,同一量级可以指两个数值的比值大于1小于10。例如:1.8和1.2属于同一量级;18和12属于同一量级;180和120属于同一量级;1800和1200属于同一量级。
在一些实施例中,使用所述至少一个平衡参数,确定第一损失函数和至少一个第二损失函数对应的联合损失函数还可以包括以下步骤:
(1)计算所述至少一个第二损失函数与所述平衡参数的第一乘积;
(2)确定至少一个权重系数;
(3)将所述第一乘积与所述至少一个权重系数相乘,获得至少一个调整后的第二损失函数:
(4)计算所述第一损失函数与所述至少一个调整后的第二损失函数的和,获得所述联合损失函数。
该计算过程可以由以下公式表示:
Jointloss=loss11loss2β (4)
其中,loss1为第一任务对应的第一损失函数,loss2为第二任务对应的第二损失函数。α1为由第一损失函数和第二损失函数确定的平衡参数,α1可以由公式(2)计算得到。β为权重系数,将β与第一乘积α1loss2相乘,获得调整后的第二损失函数α1loss2β。在一些实施例中,权重系数β可以用于在调整第二损失函数的量级之后,进一步调整第一损失函数和第二损失函数之间的大小占比。例如,由计算公式(3)可知,调整后的第二损失函数值的大小与第一损失函数值的大小相等,可以通过设置权重系数β为0.5,来降低第二损失函数在联合损失函数中的占比。在一些实施例中,主任务对应的第一损失函数在联合损失函数中的占比要大于等于辅任务对应的第二损失函数,所以权重系数β的取值范围为0<β≤1。
应当注意的是,上述有关流程100的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程100进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,步骤120和步骤130可以合并为一个步骤,由同一个计算模块分别计算第一损失函数值和第二损失函数值。又例如,步骤150可以拆分为步骤150-1和步骤150-2。在步骤150-1中获得调整后的第二损失函数,在步骤150-2中确定联合损失函数。
图2为根据本说明书的一些实施例所示的一种联合训练中损失函数值的计算过程的示意图。
在一些实施例中,可以根据第一损失函数得到第一损失函数对应的第一损失函数值。在一些实施例中,可以根据第二损失函数得到第二损失函数对应的第二损失函数值。下面以识别用户消费行为的多任务模型为例说明第一损失函数值和/或第二损失函数值的获取过程。该多任务模型可以包括作为第一任务的情绪分类任务和作为第二任务的分布一致性任务,模型结构如图2所示。多任务模型可以包括但不限于以下:BERT模型(Bidirectional Encoder Representation from Transformers)、循环神经网络模型(Recurrent Neural Network,RNN)和卷积神经网络模型(Convolutional NeuralNetworks,CNN)等。
步骤210,获取多个样本数据。
在一些实施例中,多个样本数据可以来自于各自的任务。例如,多个样本数据可以来自于第一任务,也可以来自于第二任务。在一些实施例中,多个样本数据也可以来自于多个任务共同的样本数据。例如,第一任务和第二任务可以使用相同的样本数据。
步骤220,将多个样本数据中的至少一个样本数据输入多任务处理模型,获得第一任务对应的第一输出结果和第二任务对应的第二输出结果。
在一些实施例中,可以将第一输出结果和/或第二输出结果作为损失函数的输入,由损失函数来计算第一损失函数值和/或第二损失函数值。
在一些实施例中,多任务处理模型包括编码器,编码器用来从输入数据中提取文本特征。在一些实施例中,文本特征会分别输入到第一任务对应的输出层和第二任务对应的输出层。在一些实施例中,第一任务对应的输出层和第二任务对应的输出层分别输出第一输出结果和第二输出结果。
例如,输入的样本数据为文本“买了一件连衣裙”,第一任务可以输出表示积极情绪的第一输出结果,第二任务可以输出表示生活消费的第二输出结果。例如:第一输出结果可以为代表积极情绪的数字,例如1;第二输出结果可以为代表娱乐消费的数字,例如3。
步骤230,基于第一输出结果和至少一个样本数据的至少一个标签数据,使用所述第一损失函数确定所述第一损失函数值。
在一些实施例中,样本数据可以包括输入数据和标签数据,标签数据包括多个任务中至少一个任务期望从所述输入数据中得到的结果。标签数据可以是人工标注的,也可以是通过其他方式获得的。
在一些实施例中,同一个输入数据可以包括其中一个任务对应的一个标签,也可以包括第一任务和第二任务对应的两个标签。例如,对于一个输入的消费行为数据X,标签数据可以包括两个标签{y1,y2}中的一个或两个,其中y1可以表示输入的消费行为数据X中的情绪是积极情绪或消极情绪,y2可以表示输入的消费行为数据X中的消费数据属于生活消费或娱乐消费亦或教育消费等。
在一些实施例中,标签数据和第一输出结果和/或第二输出结果可以相同,也可以不同。具体的,对于步骤220中输入的文本“买了一件连衣裙”,与第一任务相对应的标签数据可以为代表积极情绪的数字,例如1,和第一输出结果相同;与第二任务相对应的标签数据可以为代表生活消费的数字,例如2,与第二输出结果不同。模型训练的目标是使得标签数据和对应的第一输出结果和/或第二输出结果大概率相同。
在一些实施例中,第一损失函数的输入可以是步骤220中获取的第一输出结果以及与输入样本数据对应的标签数据。第一损失函数值可以使用以下公式计算:
LOSS1=loss1(y1,y1layer) (5)
其中loss1代表第一损失函数,y1为第一输出结果,y1layer为输入样本数据对应的标签数据,LOSS1为输入样本数据对应的第一损失函数值。第一损失函数值可以用来在步骤140中与第二损失函数值一起确定平衡参数,详见本说明书图1中的相关描述,此处不再赘述。
步骤240,基于第二输出结果和至少一个样本数据的至少一个标签数据,使用所述第二损失函数确定所述第二损失函数值。
在一些实施例中,第二损失函数的输入可以是步骤220中获取的第二输出结果以及输入样本数据对应的标签数据。第二损失函数值可以使用以下公式计算:
LOSS2=loss2(y2,y2layer) (6)
其中loss2代表第二损失函数,y2为第二输出结果,y2layer为输入样本数据对应的标签数据,LOSS2为输入样本数据对应的第二损失函数值。第二损失函数值可以用来在步骤140中与第一损失函数值一起确定平衡参数,详见本说明书图1中的相关描述,此处不再赘述。
图3是根据本说明书的一些实施例所示的示例性平衡多个任务的系统的模块图。该系统300可以获取第一任务的第一损失函数和至少一个第二任务的第二损失函数;根据所述第一损失函数和第二损失函数得到对应的第一损失函数值和第二损失函数值;根据所述第一损失函数值和所述至少一个第二损失函数值之间的大小关系,确定至少一个平衡参数;使用所述至少一个平衡参数,确定第一损失函数和至少一个第二损失函数对应的联合损失函数。如图3所示,平衡多个任务的系统300可以包括获取模块310、第一计算模块320、第二计算模块330、第一参数确定模块340以及联合损失函数计算模块360。
获取模块310可以获取损失函数。
在一些实施例中,获取模块310可以用于获取第一任务的第一损失函数和至少一个第二任务的第二损失函数,所述第一损失函数对应主任务,所述至少一个第二损失函数对应至少一个辅任务。
第一计算模块320可以确定第一损失函数值。
在一些实施例中,第一计算模块320可以用于根据所述第一损失函数得到第一损失函数对应的第一损失函数值。所述根据所述第一损失函数得到第一损失函数对应的第一损失函数值可以包括:获取多个样本数据;所述多个样本数据来自于所述第一任务;将所述多个样本数据中的至少一个样本数据输入多任务处理模型,获得所述第一任务对应的第一输出结果;基于所述第一输出结果和所述至少一个样本数据的至少一个标签数据,使用所述第一损失函数确定所述第一损失函数值。
第二计算模块330可以确定第二损失函数值。
在一些实施例中,第二计算模块330可以用于根据所述第二损失函数得到第二损失函数对应的第二损失函数值。所述根据所述第二损失函数得到第二损失函数对应的第二损失函数值可以包括:获取多个样本数据;所述多个样本数据来自于所述至少一个第二任务所包括的样本;将所述多个样本数据中的至少一个样本数据输入所述多任务处理模型,获得所述至少一个第二任务对应的至少一个第二输出结果;基于所述至少一个第二输出结果和所述至少一个样本数据的至少一个标签数据,使用第二损失函数确定所述至少一个第二损失函数值。
第一参数确定模块340可以确定至少一个平衡参数。
在一些实施例中,第一参数确定模块340可以用于根据所述第一损失函数值和所述至少一个第二损失函数值之间的大小关系,确定至少一个平衡参数。所述至少一个平衡参数用于将所述至少一个第二损失函数和所述第一损失函数调整至同一量级。在一些实施例中,所述根据所述第一损失函数值和所述至少一个第二损失函数值之间的大小关系,确定至少一个平衡参数可以包括:计算所述第一损失函数值与所述至少一个第二损失函数值的比值,获得所述至少一个平衡参数。
在一些实施例中,系统300还可以包括第二参数确定模块350。所述第二参数确定模块350可以用于确定至少一个权重系数;所述至少一个权重系数用于调整所述第一损失函数和所述至少一个第二损失函数之间的大小占比。在一些实施例中,所述权重系数大于0小于等于1。
联合损失函数计算模块360可以确定联合损失函数。
在一些实施例中,联合损失函数计算模块360可以用于使用所述至少一个平衡参数,确定第一损失函数和至少一个第二损失函数对应的联合损失函数。在一些实施例中,所述使用所述至少一个平衡参数,确定第一损失函数和至少一个第二损失函数对应的联合损失函数可以包括:计算所述至少一个第二损失函数与所述平衡参数的第一乘积,获得至少一个调整后的第二损失函数;计算所述第一损失函数与所述至少一个调整后的第二损失函数的和,获得所述联合损失函数。在一些实施例中,所述计算所述至少一个第二损失函数值与所述平衡参数的第一乘积之后,还包括:将所述第一乘积与所述至少一个权重系数相乘。
应当理解,图3所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于平衡多个任务的系统300及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,图3中披露的获取模块310、第一计算模块320、第二计算模块330、第一参数确定模块340、第二参数确定模块350、联合损失函数计算模块360可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。还例如,平衡多个任务的系统300中各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书的保护范围之内。
图4是根据本说明书一些实施例所示的一种平衡多个任务的方法的应用场景图。
在一些实施例中,第一任务可以为情绪分类任务,第二任务可以为分布一致性任务,可以通过识别用户消费行为的多任务模型对两个任务一起进行联合训练。情绪分类任务根据输入文本所表达的含义和情感信息将文本划分成表达积极情绪和消极情绪的两种或多种类型。分布一致性任务根据输入文本所表达的含义将文本划分成表示生活消费和娱乐消费的两种或多种类型。
在一些实施例中,情绪分类任务作为联合训练中的主任务,分布一致性任务作为联合训练中的辅任务。训练过程中,与情绪分类任务对应的损失函数的量级为2000,与分布一致性任务对应的损失函数的量级为2.5,可以使用本说明书中所述的方法将上述两个损失函数的量级平衡到同一个量级,例如2000。详细平衡方法请参见图1,这里不再赘述。
本说明书所述的方法还可以应用于其他应用场景,不受本说明书的表述所限。
本说明书实施例可能带来的有益效果包括但不限于:本说明书通过训练过程中不同任务产生的损失函数值之间的比值来计算平衡参数,避免了人工参与,提高了模型训练效率。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、VisualBasic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

Claims (18)

1.一种平衡多个任务的方法,所述方法包括:
获取第一任务的第一损失函数和至少一个第二任务的第二损失函数,所述第一损失函数对应主任务,所述至少一个第二损失函数对应至少一个辅任务;
根据所述第一损失函数得到第一损失函数对应的第一损失函数值;
根据所述第二损失函数得到第二损失函数对应的第二损失函数值;
根据所述第一损失函数值和所述至少一个第二损失函数值之间的大小关系,确定至少一个平衡参数;所述至少一个平衡参数用于将所述至少一个第二损失函数和所述第一损失函数调整至同一量级;
使用所述至少一个平衡参数,确定所述第一损失函数和所述至少一个第二损失函数对应的联合损失函数。
2.根据权利要求1所述的方法,其中,所述第一任务为情绪分类任务,所述至少一个第二任务为分布一致性任务,在使用识别用户消费行为的多任务模型对所述情绪分类任务和所述分布一致性任务进行联合训练的过程中,使用所述方法平衡所述第一损失函数和与所述第二损失函数之间的量级关系。
3.根据权利要求1所述的方法,其中,所述根据所述第一损失函数值和所述至少一个第二损失函数值之间的大小关系,确定至少一个平衡参数包括:
计算所述第一损失函数值与所述至少一个第二损失函数值的比值,获得所述至少一个平衡参数。
4.根据权利要求3所述的方法,其中,所述使用所述至少一个平衡参数,确定第一损失函数和至少一个第二损失函数对应的联合损失函数包括:
计算所述至少一个第二损失函数与所述平衡参数的第一乘积,获得至少一个调整后的第二损失函数;
计算所述第一损失函数与所述至少一个调整后的第二损失函数的和,获得所述联合损失函数。
5.根据权利要求4所述的方法,其中,所述方法还包括:
确定至少一个权重系数;所述至少一个权重系数用于调整所述第一损失函数和所述至少一个第二损失函数之间的大小占比。
6.根据权利要求5所述的方法,其中,所述权重系数大于0小于等于1。
7.根据权利要求6所述的方法,其中,所述计算所述至少一个第二损失函数值与所述平衡参数的第一乘积之后,还包括:
将所述第一乘积与所述至少一个权重系数相乘。
8.根据权利要求1所述的方法,其中,所述根据所述第一损失函数得到第一损失函数对应的第一损失函数值包括:
获取多个样本数据;所述多个样本数据来自于所述第一任务;
将所述多个样本数据中的至少一个样本数据输入多任务处理模型,获得所述第一任务对应的第一输出结果;
基于所述第一输出结果和所述至少一个样本数据的至少一个标签数据,使用所述第一损失函数确定所述第一损失函数值。
9.根据权利要求8所述的方法,其中,所述根据所述第二损失函数得到第二损失函数对应的第二损失函数值包括:
获取多个样本数据;所述多个样本数据来自于所述至少一个第二任务所包括的样本;
将所述多个样本数据中的至少一个样本数据输入所述多任务处理模型,获得所述至少一个第二任务对应的至少一个第二输出结果;
基于所述至少一个第二输出结果和所述至少一个样本数据的至少一个标签数据,使用第二损失函数确定所述至少一个第二损失函数值。
10.一种平衡多个任务的系统,所述系统包括:
获取模块,用于获取第一任务的第一损失函数和至少一个第二任务的第二损失函数,所述第一损失函数对应主任务,所述至少一个第二损失函数对应至少一个辅任务;
第一计算模块,用于根据所述第一损失函数得到第一损失函数对应的第一损失函数值;
第二计算模块,用于根据所述第二损失函数得到第二损失函数对应的第二损失函数值;
第一参数确定模块,用于根据所述第一损失函数值和所述至少一个第二损失函数值之间的大小关系,确定至少一个平衡参数;所述至少一个平衡参数用于将所述至少一个第二损失函数和所述第一损失函数调整至同一量级;
联合损失函数计算模块,用于使用所述至少一个平衡参数,确定第一损失函数和至少一个第二损失函数对应的联合损失函数。
11.根据权利要求10所述的系统,其中,所述根据所述第一损失函数值和所述至少一个第二损失函数值之间的大小关系,确定至少一个平衡参数包括:
计算所述第一损失函数值与所述至少一个第二损失函数值的比值,获得所述至少一个平衡参数。
12.根据权利要求11所述的系统,其中,所述使用所述至少一个平衡参数,确定第一损失函数和至少一个第二损失函数对应的联合损失函数包括:
计算所述至少一个第二损失函数与所述平衡参数的第一乘积,获得至少一个调整后的第二损失函数;
计算所述第一损失函数与所述至少一个调整后的第二损失函数的和,获得所述联合损失函数。
13.根据权利要求12所述的系统,其中,所述系统还包括:
第二参数确定模块,用于确定至少一个权重系数;所述至少一个权重系数用于调整所述第一损失函数和所述至少一个第二损失函数之间的大小占比。
14.根据权利要求13所述的系统,其中,所述权重系数大于0小于等于1。
15.根据权利要求14所述的系统,其中,所述计算所述至少一个第二损失函数值与所述平衡参数的第一乘积之后,还包括:
将所述第一乘积与所述至少一个权重系数相乘。
16.根据权利要求10所述的系统,其中,所述根据所述第一损失函数得到第一损失函数对应的第一损失函数值包括:
获取多个样本数据;所述多个样本数据来自于所述第一任务;
将所述多个样本数据中的至少一个样本数据输入多任务处理模型,获得所述第一任务对应的第一输出结果;
基于所述第一输出结果和所述至少一个样本数据的至少一个标签数据,使用所述第一损失函数确定所述第一损失函数值。
17.根据权利要求16所述的系统,其中,所述根据所述第二损失函数得到第二损失函数对应的第二损失函数值包括:
获取多个样本数据;所述多个样本数据来自于所述至少一个第二任务所包括的样本;
将所述多个样本数据中的至少一个样本数据输入所述多任务处理模型,获得所述至少一个第二任务对应的至少一个第二输出结果;
基于所述至少一个第二输出结果和所述至少一个样本数据的至少一个标签数据,使用第二损失函数确定所述至少一个第二损失函数值。
18.一种平衡多个任务装置,其中,所述装置包括至少一个处理器以及至少一个存储器;
所述至少一个存储器用于存储计算机指令;
所述至少一个处理器用于执行所述计算机指令中的至少部分指令以实现如权利要求1~9中任一项所述的方法。
CN201911139061.5A 2019-11-19 2019-11-19 一种平衡多个任务的方法及系统 Active CN110909885B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911139061.5A CN110909885B (zh) 2019-11-19 2019-11-19 一种平衡多个任务的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911139061.5A CN110909885B (zh) 2019-11-19 2019-11-19 一种平衡多个任务的方法及系统

Publications (2)

Publication Number Publication Date
CN110909885A true CN110909885A (zh) 2020-03-24
CN110909885B CN110909885B (zh) 2022-09-23

Family

ID=69818193

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911139061.5A Active CN110909885B (zh) 2019-11-19 2019-11-19 一种平衡多个任务的方法及系统

Country Status (1)

Country Link
CN (1) CN110909885B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112926553A (zh) * 2021-04-25 2021-06-08 北京芯盾时代科技有限公司 一种动作检测网络的训练方法及装置
JP2022064808A (ja) * 2020-10-14 2022-04-26 財團法人工業技術研究院 画像認識方法および画像認識システム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107103364A (zh) * 2017-03-28 2017-08-29 上海大学 一种基于多源域的任务拆分迁移学习预测方法
CN108629414A (zh) * 2018-05-09 2018-10-09 清华大学 深度哈希学习方法及装置
CN109191411A (zh) * 2018-08-16 2019-01-11 广州视源电子科技股份有限公司 一种多任务图像重建方法、装置、设备和介质
CN109522945A (zh) * 2018-10-31 2019-03-26 中国科学院深圳先进技术研究院 一种群体情感识别方法、装置、智能设备及存储介质
CN109753566A (zh) * 2019-01-09 2019-05-14 大连民族大学 基于卷积神经网络的跨领域情感分析的模型训练方法
US20190147298A1 (en) * 2017-11-14 2019-05-16 Magic Leap, Inc. Meta-learning for multi-task learning for neural networks

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107103364A (zh) * 2017-03-28 2017-08-29 上海大学 一种基于多源域的任务拆分迁移学习预测方法
US20190147298A1 (en) * 2017-11-14 2019-05-16 Magic Leap, Inc. Meta-learning for multi-task learning for neural networks
CN108629414A (zh) * 2018-05-09 2018-10-09 清华大学 深度哈希学习方法及装置
CN109191411A (zh) * 2018-08-16 2019-01-11 广州视源电子科技股份有限公司 一种多任务图像重建方法、装置、设备和介质
CN109522945A (zh) * 2018-10-31 2019-03-26 中国科学院深圳先进技术研究院 一种群体情感识别方法、装置、智能设备及存储介质
CN109753566A (zh) * 2019-01-09 2019-05-14 大连民族大学 基于卷积神经网络的跨领域情感分析的模型训练方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022064808A (ja) * 2020-10-14 2022-04-26 財團法人工業技術研究院 画像認識方法および画像認識システム
US11507776B2 (en) 2020-10-14 2022-11-22 Industrial Technology Research Institute Image recognition method for detection tasks based on single convolutional neural network and image recognition system thereof
CN112926553A (zh) * 2021-04-25 2021-06-08 北京芯盾时代科技有限公司 一种动作检测网络的训练方法及装置

Also Published As

Publication number Publication date
CN110909885B (zh) 2022-09-23

Similar Documents

Publication Publication Date Title
CN110969006B (zh) 一种文本排序模型的训练方法和系统
CN111582500A (zh) 一种提高模型训练效果的方法和系统
CN110909885B (zh) 一种平衡多个任务的方法及系统
CN112561060B (zh) 神经网络训练方法及装置、图像识别方法及装置和设备
CN111831826B (zh) 跨领域的文本分类模型的训练方法、分类方法以及装置
CN111324739B (zh) 一种文本情感分析方法及系统
US20200380524A1 (en) Transaction feature generation
EP3899806A1 (en) Convolutional neural networks with soft kernel selection
CN112182214A (zh) 一种数据分类方法、装置、设备及介质
CN113434699A (zh) Bert模型的预训练方法、计算机装置和存储介质
CN111046394A (zh) 一种基于对抗样本增强模型抗攻击能力的方法和系统
CN114358197A (zh) 分类模型的训练方法及装置、电子设备、存储介质
CN114675975A (zh) 一种基于强化学习的作业调度方法、装置及设备
CN112949746B (zh) 应用于用户行为分析的大数据处理方法及人工智能服务器
US20220044109A1 (en) Quantization-aware training of quantized neural networks
US11676035B2 (en) Learning non-differentiable weights of neural networks using evolutionary strategies
CN111858923A (zh) 一种文本分类方法、系统、装置及存储介质
CN111259673A (zh) 一种基于反馈序列多任务学习的法律判决预测方法及系统
CN113011689A (zh) 软件开发工作量的评估方法、装置及计算设备
US20220108174A1 (en) Training neural networks using auxiliary task update decomposition
CN114861671A (zh) 模型训练方法、装置、计算机设备及存储介质
US20220101187A1 (en) Identifying and quantifying confounding bias based on expert knowledge
CN113159419A (zh) 一种群体特征画像分析方法、装置、设备及可读存储介质
CN110991613B (zh) 一种训练神经网络的方法及系统
CN111259339A (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