论文阅读 | A Survey on Multi-Task Learning

摘要 

多任务学习(Multi-Task Learning, MTL)是机器学习中的一种学习范式,其目的是利用包含在多个相关任务中的有用信息来帮助提高所有任务的泛化性能。

首先,我们将不同的MTL算法分为特征学习法、低秩方法、任务聚类方法、任务关系学习方法和分解方法,然后讨论每种方法的特点。为了进一步提高学习任务的性能,MTL可以与其他学习范式相结合,包括半监督学习、主动学习、非监督学习、强化学习、多视图学习和图形模型。当任务数量较大或数据维数较高时,批量MTL模型难以处理,本文对在线、并行和分布式MTL模型以及降维和特征哈希进行了综述,揭示了它们在计算和存储方面的优势。许多实际的应用程序使用MTL来提高它们的性能。最后,我们提出了理论分析,并讨论了未来的几个方向。

 

1 介绍

数据集难以收集时,MTL是个好的解决方案。

在MTL中,有多个学习任务,每个学习任务都可以是一个通用的学习任务,如监督任务(如分类或回归问题)、非监督任务(如聚类问题)。半监督任务,强化学习任务。多视图学习任务或图形模型。在这些学习任务中,所有这些任务或至少其中一部分被认为是相互关联的。在这种情况下,我们发现联合学习这些任务可以比单独学习更有效地提高性能。这一观察结果导致了MTL的诞生。因此,当多个任务相关时,MTL旨在提高它们的泛化性能。

MTL的设置与迁移学习[2]相似,但也有显著性差异。在MTL中,不同任务之间没有区别,目标是提高所有任务的性能。但是迁移学习是在在源任务的帮助下提高目标任务的性能,目标任务比源任务起着更重要的作用。

因此,MTL对所有的任务都一视同仁,但在转移学习中,目标任务是所有任务中最受关注的。在[3],[4],[5]中,研究了一种新的MTL设置,称为非对称多任务学习,该设置考虑了一个不同的场景,当多个任务通过某种MTL方法联合学习时,又有了新任务。一个简单的解决方案是从头开始学习旧的和新的任务,但是这需要大量的计算。而非对称多任务学习仅仅是在旧任务的帮助下学习新任务,因此核心问题是如何将旧任务中包含的知识转移到新任务中。从这个意义上说,这种设置更类似于转移学习而不是MTL。

在这篇论文中,我们对MTL进行了研究。在给出了MTL的定义之后,我们将不同的MTL算法分为几个类别:特征学习方法,它可以分为特征变换和特征选择方法、低秩方法、任务聚类方法、任务重组学习方法和分解方法。我们讨论每种方法的特征。MTL可以与其他学习范式相结合,进一步提高学习任务的性能,因此我们讨论了MTL与其他学习范式的结合,包括半监督学习、主动学习、非监督学习、强化学习、多视图学习和图形模型。当任务数量较大时,所有任务中的训练数据量都可能非常大,这就需要进行MTL模型的在线并行计算。在这种情况下,不同任务的训练数据可以放在不同的机器上,因此分布式的MTL模型是一个很好的解决方案。在MTL中,维数重构和特征哈希是降低高维数据维数的重要工具。因此,我们回顾了在多个任务中处理大数据时有用的技术。作为一种通用的学习范式,MTL在各个领域都有广泛的应用,本文简要回顾了它在计算机视觉、生物信息学、健康信息学、语音、自然语言处理、网络应用和普适计算等领域的应用。

 

2 MTL模型

MTL :假设m个学习任务Ti(i=1~m),其中所有任务或其中一个子集是相关的,多任务学习的目的是通过使用所有或部分m个任务中包含的知识来帮助改进Ti模型的学习。

在此,我们需要区分同构MTL和异构MTL。[7],异构MTL被认为是由不同类型的监督任务,包括分类和回归问题,这里我们推广到更一般的设定任务的异构MTL由不同类型包括监督学习、无监督学习,semisupervised学习,强化学习,多视点学习和图形模型。与异构MTL相对的是同构MTL,它只包含一种类型的任务。综上所述,同质类和异质类MTL在学习任务类型上存在差异,而同质类特征MTL与异质类特征MTL在原始特征表示上存在差异。类似地,没有特殊的解释,默认的MTL设置是同类的MTL

为了描述MTL定义中的关联性,需要解决三个问题: 何时共享、共享什么以及如何共享

“何时共享”问题是针对一个多任务问题在单任务请求和多任务模型之间做出选择。目前,这样的决定是由人类专家做出的,很少有人学习研究它的方法。一个简单的计算解决方案是将这样的决策表示为模型选择问题,然后使用模型选择技术(例如交叉验证)来进行决策,但是这种解决方案通常计算量很大,并且可能需要更多的训练数据。另一种解决方案是使用多任务模型,该模型可以退化为单任务模型,例如problem(34),当不同任务的学习变为(加和符号)时可以解耦。在这种情况下,我们可以让训练数据来决定(加和符号)的形式,从而做出隐含的选择。

要共享什么内容,需要确定所有任务之间可以通过哪些形式进行知识共享。通常,共享内容有三种形式,包括特性、实例和参数。基于特征的MTL旨在学习不同任务之间的共同特征,从而共享知识。基于实例的MTL希望在任务中为其他任务标识有用的数据实例,然后通过标识的实例共享知识。基于参数的MTL在任务中使用模型参数(例如,线性模型中的系数),以某种方式帮助学习其他任务中的模型参数,例如正则化。现有的MTL研究主要集中在基于特征和基于参数的方法上,属于基于实例方法的研究较少。代表基于实例的方法是多任务分布匹配方法[8],密度比率首次估计概率之间的每个实例以及它的标签属于自己的任务和混合所有的任务,然后使用加权训练数据的所有任务基于学习模型参数的估计的密度比为每个任务。由于基于实例的MTL研究较少,我们主要综述基于特征和基于参数的MTL模型。

在确定了“共享什么”之后,“如何共享”指定了在任务之间共享知识的具体方法。在基于特征的MTL中,有一种主要的方法:特征学习方法。特征学习方法侧重于学习基于浅层或深层模型的多任务的公共特征表示,其中学习的公共特征表示可以是原始特征表示的子集或转换。基于参数MTL。主要有四种方法:低秩方法、任务聚类方法、任务关系学习方法和分解方法。低秩方法将多个任务之间的关联解释为这些任务的参数矩阵的低秩性。任务集群方法假设所有任务都形成几个集群,其中集群中的任务彼此相关。任务关系学习方法旨在从数据中自动学习任务之间的定量关系。分解方法将所有任务的模型参数分解为两个或多个分量,由不同的正则化器进行惩罚。总之,基于特征和基于参数的MTL主要有五种方法。在接下来的章节中,我们将按时间顺序回顾这些方法,以揭示它们中不同模型之间的关系和演进。(????)

 

特征转移方法

输入所有样本  经过Hidden layers   —》  输出该样本属于哪个任务。

这里隐藏层的输出可以被视为m的共同特征表示学习任务和转换从原始表示学到一个取决于连接输入和隐藏层的权重以及激活函数采用隐藏的单位。因此,如果隐层中的激活函数是线性的,那么变换就是线性的,反之就是非线性的。与用于单任务学习的多层前馈神经网络相比,网络结构的不同之处在于输出层,在单任务学习中只有一个输出单元,而在MTL中有m个输出单元。在[9]中,只有一个隐含层的径向基函数网络通过贪婪地确定隐含层的结构扩展到MTL。与这些神经网络模型不同的是,Silver等人提出了一个上下文敏感的多任务神经网络,它只有一个由不同任务共享的输出单元,但有一个特定于任务的上下文作为额外的输入

与连接主义模型的多层前馈神经网络不同,多任务特征学习(MTFL)方法在正则化框架下,以目标函数为

猜你喜欢

转载自www.cnblogs.com/shona/p/11831207.html