当前位置:   article > 正文

【论文阅读】多任务学习综述《A Survey on Multi-Task Learning》

a survey on multi-task learning


paper: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9392366
authors: 南科大,港科大


前置知识

  1. low-rank(低秩)
    • 矩阵的初等变换有三种:交换两行或两列、用一个数k乘以某一行、用某个数乘以某一行加到另一行中。如果矩阵A经过有限次初等变换变成矩阵B,则称矩阵A与B等价。行阶梯形矩阵: 非零行最左边的首个非零元素,严格地比上面行的首个非零元素更靠右,且全零行都在矩阵的底部。行最简型矩阵: 在行阶梯形矩阵中,非零行的第一个非零元素全是1,且非零行的第一个元素1所在列的其余元素全为零。
    • 对于行列式意义的理解,可以从矩阵与线性变化的同构来解释,行列式就是矩阵对应的线性变换对空间的拉伸程度的度量,或者说物体经过变换前后的体积比。如果矩阵不是满秩的,意味着一个n维的空间变换后被压扁了,变成了其中的一个n-1维的超平面甚至是维度更低的超直线,所以原来空间中的体积元在变换后体积为0,此时行列式也是0。也可以把行列式的过程理解为“降维”,其值为“降维后的体积”,如果矩阵不是满秩的,降维之后使原来高维空间的物体在低维空间里就不成体积,就无体积之说,所以我们认为他的体积为零,即行列式的值为零。含一整行零元素的矩阵的行列式必为零。
    • k阶子式的定义: 对mxn的矩阵,任取k行和k列(k≤min(m,n)),不改变它们在矩阵中的位置次序,构成的阶k行列式,称为矩阵的k阶子式。
    • 秩的定义: 从子式的角度出发,设在矩阵中有一个非零的r阶子式且所有(r+1)阶子式的值均为零。则r的值称为矩阵的秩,记为R(A) = rank(A)。初等变换不改变矩阵的秩,因此从秩的定义出发,求一个矩阵的秩,可以先将其化为行阶梯形,非零行的个数即为矩阵的秩。
    • 秩的本质是矩阵中的这几个向量所确定的空间的维数。
    • 在图像处理中,rank(秩)可以理解为图像所包含信息的丰富程度,秩越高表示信息越丰富,秩越低表示信息相对匮乏。现实生活中一张不错的图片的秩其实是比较低的,如果图像的秩比较高,往往是因为图像中的噪声比较严重。根据秩的定义,一个矩阵可以压缩到对应秩大小的维度而不损失信息,这一点在图像处理中也有很多应用,比如图像去噪等。
    • 综上理解,秩有点类似信息论中的熵,二者在某种程度上都在描述着事物的复杂程度(维度)大小。
  2. 范数的意义: 通俗的讲,范数就是方便度量而定义出的一个概念,主要就是面对复杂空间和多维数组时,选取出一个统一的量化标准,以方便度量和比较。在深度学习领域,使用范数一般是二范数,在训练过程中计算loss,用prediction与ground-truth差值后的矩阵的范数表示其大小,这个矩阵的范数越小表示prediction越逼近ground-truth。
    • 可以将范数理解为是用于评价向量/矩阵是否“优秀”的一种标准,不同范数的评价标准不同。
    • 1范数: 所有元素绝对值的和;
    • 2范数: 所有元素平方和的开方;
    • 正无穷范数: 所有元素中绝对值最小的;
    • L1 正则化可以产生更稀疏的权值矩阵,可以用于特征选择,同时一定程度上防止过拟合;L2 正则化主要用于防止模型过拟合
    • L1 相对于 L2 更能实现权值稀疏,是由他们本身的计算方式决定的,L1 是各元素绝对值之和,L2 是各元素平方和的根,在对不同参数进行惩罚时,L1 无论参数大小如何,对它们的惩罚值都相同,导致那些参数大小和惩罚值相等的参数,一减就变为0,而 L2 对参数的惩罚值是根据参数本身的大小来变化的,越小的参数惩罚值越小,越大的参数惩罚值越大,所以最终使得所有参数都接近 0,但不会等于 0。

Abstract

本文从算法建模、应用和理论分析的角度对多任务学习(MTL)进行了survey。在算法建模中,我们给出了MTL的定义,然后将不同的MTL算法分为 feature learning approach, low-rank approach, task
clustering approach, task relation learning approach, 和decomposition approach五类,并讨论了每种方法的特点。为了进一步提高学习任务的性能,MTL可以与其他学习范式相结合,包括半监督学习、主动学习、无监督学习、强化学习、多视图学习和图模型。对于任务数量较大或数据维数较高的情况,我们回顾了在线、并行和分布式MTL模型以及降维和特征哈希,以揭示它们的计算和存储优势。许多真实世界的应用程序使用MTL来提高其性能,我们回顾了具有代表性的工作。最后,我们提出了理论分析,并讨论了MTL的几个发展方向。

1. Introduction

人类可以同时学习多个任务,在这个学习过程中,人类可以利用在一个任务中学习到的知识来帮助学习另一项任务。例如,根据我们一起学习打网球和打壁球的经验,我们发现打网球的技巧可以帮助我们学习打壁球,反之亦然(vice versa)。受人类的这种学习能力的启发,多任务学习(MTL)旨在共同学习多个相关任务,这样其中一个任务所包含的知识可以被其他任务利用,以此希望提高所有任务(all the tasks at hand)的泛化性能。

在早期阶段,MTL的一个重要动机是缓解(alleviate)数据稀疏性问题,即每个任务的标记数据数量有限。在数据稀疏性问题中,每个任务中标记数据的数量不足以训练一个准确的learner,而MTL以数据增强的思路将所有任务中的labeled data聚合,为每个任务获得更准确的learner。从这个角度来看,MTL可以帮助重复使用现有的知识,并降低学习任务中的手工标记成本。当 “大数据” 时代出现在计算机视觉和自然语言处理(NLP)等领域时,人们发现深度MTL模型比单任务模型具有更好的性能。 多任务学习有效的一个原因是与单任务学习相比,它利用了更多来自不同学习任务的数据,有了更多的数据,多任务学习可以学习到对多任务而言更健壮和通用的表征以及更强大的模型,从而导致任务之间更好的知识共享、每个任务更好的更好性能、以及每个任务中较低的过拟合风险。

MTL与机器学习中的其他学习范式是相关联的,这包括 迁移学习(transfer learning)、多标签学习(multi-label learning)多输出回归(multi-output regression)

MTL vs. Transfer Learning:多任务学习与迁移学习的设置很相似,但他们其实有着显著的差异。在多任务学习中,不同的任务之间没有区别,目标是提高所有任务的性能。然而,迁移学习是通过source task来提高target task的性能,因此target task比source task发挥着更重要的作用。简而言之,多任务学习对所有任务平等对待,迁移学习对目标任务最为关注。从知识流的角度来看,迁移学习中的知识流动是从源任务到目标任务的,而在多任务学习中,任何一对任务之间都存在双向的知识流动,即共享的,示意图如下。
在这里插入图片描述
MTL vs. Continual Learning:持续学习,是一个接一个地学习任务(即任务依次出现),而MTL是一起学习多个任务。

MTL vs. Multi-label Learning在多标签学习(multi-label learning) 和多输出回归(multi-output regression)中,每个数据都与多个labels相关联,这些labels可以是类别也可以是回归的数字。如果我们把每一个有可能的标签作为一个任务,多标签学习和多输出回归在某种意义上可以看作是多任务学习的一种特殊情况,在训练和测试阶段中,不同的任务总是共享相同的数据。但是,多标签学习和多输出回归中的这种特征导致了与MTL不同的研究问题。作者认为,多标签学习和多输出回归是多个任务拥有相同的数据,但是在多任务学习中,不同的任务拥有的是不同的数据(如下图所示),对于这句话我的理解是:data是包含input和label的,多标签学习和多回归学习的input相同,label虽然类别不同,但都属于同一种,对于多任务学习而言输input也是相同的,但是label并不属于同一种标注,所以作者这里说多任务学习不同任务拥有不同的数据(data)。
在这里插入图片描述
MTL vs. Multi-view Learning多视图学习的每一个数据点都与多个视图相关联,每个视图都由一组特征组成。尽管不同的视图拥有不同的特征,但所有的视图被一起用于学习的同一个任务,因此,多视角学习属于具有多组特征的单任务学习,这与MTL不同,如下图所示。
在这里插入图片描述

2. MTL模型

为了更充分地描述MTL,作者首先对MTL进行了如下定义:
在这里插入图片描述
根据特征空间的不同,多任务学习分为同构特征MTL和异构特征MTL(类比于迁移学习分类)。同构特征MTL是指对于每个任务而言,用到的特征空间都相同(所有任务存在于同一个特征空间下),如果不同则属于异构特征MTL。没有特殊的解释,默认的MTL就是是同构特征MTL。

此外,在作者的分类中,异构特征MTL(heterogeneous-feature MTL)和异构MTL(heterogeneous MTL)也不相同。 作者对异构MTL(heterogeneous MTL)的定义是:异构MTL由不同类型的任务组成,包括有监督学习、无监督学习、半监督学习、强化学习、多视图学习和图形模型。而同构MTL就是包含的所有任务都属于一个类别。同样的,没有特殊的解释,默认的MTL就是是同构MTL。

简明来讲: the homogeneous and heterogeneous MTL differ in the type of learning tasks while the homogeneous-feature MTL is different from the heterogeneous-feature MTL in terms of the original feature representations.

对于多任务学习而言,最重要的是“share”,因此在你决定使用多任务学习算法之前,需要将一下这三个问题想清楚:

  • when to share? 这一问题是为了使多任务问题在单任务模型和多任务模型之间做出选择。目前这样的决定是由人类专家做出的,研究工作很少。一个简单的解决方案是将这样的决策看作一个模型选择问题,然后使用模型选择技术,例如,交叉验证,来做出决策,但这个解决方案通常计算量大,并且可能需要更多的训练数据。
  • “what to share?” 这个问题是决定在多个任务之间到底在共享什么。按照形式的不同,共享知识可以三类:feature, instanceparameterFeature-based MTL旨在学习不同任务之间的共同特征,作为分享知识的一种方式。Instance-based MTL希望在任务中为其他任务识别有用的数据实例,然后通过所识别的实例共享知识。Parameter-based MTL使用在一个任务中的模型参数来帮助学习另一个任务中的模型参数,比如使用正则化约束不同模型参数的距离,鼓励参数相似。现有的MTL研究主要集中在Feature-based和Parameter-based的方法上,很少有研究属于Instance-based的方法。
  • “how to share? ” 是用于指定任务间知识共享的具体方式。在Feature-based MTL中有一个主要的方法: feature learing approach,这个方法用于学习多个任务的共同特征表示,其中学习的共同特征表示可以是原始特征表示的一个subset或transformation。在parameter-based MTL中,有四种主要的方法: low-rank approach, task clustering approach, task relation learning approach, and decomposition approach。low-rank方法将多个任务的相关性解释为这些任务的参数矩阵的低秩。task clustering approach是识别每个包含相似任务的任务聚类。task relation learning旨在从数据中自动学习任务之间的定量关系。decomposition approach将所有任务的模型参数分解为两个或两个以上的组件,它们会受到不同的正则化器的惩罚。

2.1 Feature Learning Approach

学习公共特征表示而不是直接使用原始特征表示的一个原因是,原始表示可能对多个任务没有足够的表达能力。有了所有任务中的训练数据,就可以为所有任务学习到更强大的表示,而这种表示可以提高性能。(个人认为这种方式其实是有一定缺陷的,学习多任务的公共特征的目的是为了获取一个对多任务而言更强大的特征,但是这个特征为了去满足每个任务,在特定任务上必然是会损失一些的)

根据原始特征表示与学习特征表示之间的关系,我们可以进一步将其划分为两个子类。第一个子类别是特征变换方法(Feature Transformation Approach),其中学习到的表示是原始表示的线性或非线性变换,在这种方法中,学习到的表示中的每个特征都不同于原始特征。与此方法不同的是,第二个子类别是特征选择方法(Feature Selection Approach),即选择了原始特征的一个子集作为学习到的表示,因此学习到的特征是根据不同的标准来消除无用的特征后的特征子集,与原始特征是相似的。

2.1.1 Feature Transformation Approach

最初多任务学习范式的特征变换方法是基于MLP的,输入是多个任务的实例,输出也是针对各个任务的,中间有个隐藏层用于将原始特征转换到想要学习到的特征。转换是非线性还是线性取决于隐藏层中的激活函数。在这里还没有学习共享的特征,而是将一个任务与另一个任务分开(数据及输出),只是使用其他任务的表征来帮助某个任务获取更强大的表征。
在这里插入图片描述

近年来,深度学习因其学习非线性特征的能力而流行起来,这有利于学习多任务的不变特征(invatiant feature),因此许多深度多任务模型被提出,每个任务都由深度神经网络建模。作者将目前基于深度网络的多任务学习分为了三类:

  • 第一类的结构与上图相似但共享前几个层来学习多个任务的共同特征表示,这类方法包含大量的共享层(一般是卷积池化等结构,目前属于这种范式);
  • 第二类是在第一类的基础上,使用对抗学习来学习共同特征表示(启发与GAN),这类方法中有feature network Nf , classification network Nc, 和domain network Nd三个网络,具体运作方式见【1】【2】;
  • 第三类是使用cross-stitch网络作为表征模型来学习多个不同但是相关的特征。具体的结构和操作如下所示。网络A和网络B结构是完全相同且并行的,在某一些指定的中间层,两个网络上层的输出乘以一个α矩阵然后再输入至下一层,这个矩阵α的作用就是对两个任务的特征级相关性进行编码。下式中右边第一个就是α矩阵,当αAB和αBA等于0时,相当于独立训练这两个任务的网络。(这个网络结构还是挺有意思的,可以用于学习网络特征之间的依赖关系,或许可以用于改进)
    在这里插入图片描述
    在这里插入图片描述

2.1.2 Feature Selection Approach

在MTL中进行特征选择的一种方法是通过使用范数来实现特征选择[4][5]。
以上这两种特征学习方法有着不同的特性, feature selection approach可以看作是feature transformation approach的一种特殊情况:当转换矩阵是对角矩阵,且对角线上的元素对应被选择的特征时。通过选择原始特征的一个子集作为新的表示形式,feature selection approach是具有更好的可解释性的。

2.2 Low-Rank Approach

如果第i-th,j-th,k-th个任务是相关的,wi是第i-th个任务的模型参数,而且wi其他两个任务参数的线性组合,那么很容易表明整体模型参数矩阵W的秩最多是m−1,也就是low-rank。从这个角度来看,多个任务间相关性越强,W的秩就越低。
最近有工作将迹范数正则化(trace norm regularization)应用于深度多任务网络中来正则化模型参数。在这个工作中,作者将深度多任务神经网络的最后几个全连接层中的权值看作是所有任务的learner的参数。从这一角度出发,作者将每个任务的最后几层的权值共同放在一个矩阵中组成W,然后使用了几种基于trace norm的正则化器来识别参数矩阵的low-rank结构(这篇工作的多任务应该是类似于cross-stitch架构)。

2.3 Task Clustering Approach

任务聚类方法假设不同的任务可以形成几个clusters,每个聚类由相似的任务组成。顾名思义,该方法与聚类算法有密切的联系,可以看作是聚类算法到任务级的扩展,而传统的聚类算法是在数据级。

2.3 Task Relation Learning Approach

在MTL中,任务是相关的,任务相关性可以通过任务相似性(task similarity)、任务相关性(task correlation)、任务协方差(task covariance)等方式进行量化。这篇文章中使用 task relations来包含所有的量化关系。

2.4 Task Relation Learning Approach

2.5 Decomposition Approach

2.6 Comparisons among Different Approaches

总之不同的方法有着不同的特点,第一种是feature-based(主要在特征上做动作),剩下四种都是parameter-based(主要在参数上做动作)。

具体地,feature learning approach可以学习共同的特征,这些特征是通用的,对所有当前的任务甚至新的任务都是不变的。但是当存在与其他任务无关的 outlier 任务时,这个学习到的特征会受到离群任务的显著影响,并可能导致性能下降。这是由于针对不同任务的特征的交集变小,因为学到的特征是必须是这所有特征中的一个交集,特征变小自然就会导致性能下降。这一点也印证了多任务学习虽然能找到共性的领域不变特征,但是也会导致一部分信息的损失

通过假设参数矩阵是低秩的,low-rank方法可以显式地学习参数矩阵的子空间,或者通过一些凸(convex)或非凸(non-convex)正则化器隐式地实现它。这种方法很强大,但它似乎只适用于线性模型,使非线性的扩展难以设计。

任务聚类方法对模型参数在任务级上进行聚类,它可以识别包含相似任务的任务簇。任务聚类方法的一个主要局限性是,它可以捕获同一聚类中任务之间的正相关,而忽略了不同聚类中任务之间的负相关。此外,尽管这类方法中的一些方法可以自动确定集群的数量,但大多数方法仍然需要使用交叉验证等模型选择方法来确定它,这可能会带来额外的计算成本。

任务关系学习方法可以同时学习模型参数和成对的任务关系。学习到的任务关系可以让我们深入了解任务之间的关系,从而提高了可解释性。

解耦方法可以被视为其他基于参数的方法的扩展,因此它们可以建模更复杂的任务结构,例如树状结构。解耦方法中的组件的数量对性能很重要,需要仔细确定。

2.7 其他

与假设不同的任务共享相同的特征表示不同,对于multi-database人脸识别问题,zhang[7]认为来自不同database的人脸识别就是一个单独任务。由于不同的人脸数据库有不同的图像大小,在人脸识别中,自然所有的任务(每个数据库的人脸识别)都不位于同一特征空间,这导致了异质特征MTL问题。为了解决这一异构特征MTL问题,在这个工作中提出了一种多任务判别分析(MTDA)方法,首先将不同任务的数据映射到一个公共子空间中,然后学习该子空间中的公共映射来区分不同任务中的不同类别。

这个工作可以给一些启发,zhang是将不同尺寸的人脸图像看作是异构数据,然后将这些不同任务的“异构数据”映射到共同子空间中后再进行判别的。这个工作将“尺寸”这个宏观的特性作为是数据是否异构的判别,不同尺寸的数据是异构的。但其实对于每种尺寸的数据,其内部包含的对不同任务有效的特征同样是异构的,只不过这种异构相对于[7]是“微观”层面的。因此,对于输入的一张图片,不同任务的有效特征在最初始的状态是异构的, 有共享层的feature-based方法最初的这些共享层所做的事就是将这些不同任务的异构特征映射到一个新的空间下(可以看作是[7]中的公共子空间),这个过程可以看作是特征转换的过程,因为特征转换的目的就是为了提取出公共的特征,如果没有把这些异构的数据映射到同样的特征子空间下,是无法使网络在这些异构的特征上去选择出公共的特征的。这一过程包含了特征映射和筛选,从归一化后的原始特征映射到公共子空间这一过程理论上没有信息的损失(TODO: 这句话待考究),但是在筛选的过程中通过参数矩阵的稀疏化实现了对非共有特征的去除,这些被去除的特征虽然并非公共的,但是相对于每个具体任务而言可能确实有用的,因此虽然基于共享层的feature-based方法可以提取出公共特征,但是它们却导致了一些有用的信息被损失,因此如何来避免这样的信息损失是一个问题。通过cross-stitch方法或许可以实现(TODO:待考究),但是这会使模型规模变得庞大,这一点或许可以通过其他任务(上阶段)的知识来弥补失去的这部分损失。

2.8 MTL中的优化方法

多任务学习中的优化技巧主要分为以下几类:

  1. 梯度下降方法和它的变体: 对于深度MTL模型,可以采用随机梯度下降方法。GradNorm[8]被设计用来归一化梯度来平衡各个任务的学习过程;Yu等[9]提出了gradient surgery来避免任务梯度之间的干扰;Ozan Sener等[10]将多任务学习看作是多目标优化问题,通过学习动态损失权重来解决。
  2. 块坐标下降法(Block Coordinate Descent,BCD):许多MTL模型中的参数可以分为几个块(Block),比如所有任务的学习函数中的参数可以看作是一个块,表征任务关系的参数又可以看作是一个块。直接优化所有block参数的目标函数是不容易的。BCD方法也常被称为交错法(alternating method),在多任务相关的工作中常常被用于冻结其他block参数的同时,交错地优化每一个block的参数。因此,BCD方法的每一步都将解决多个subproblems,每个subproblem都是为了对一个block参数进行优化。与原始目标函数相比,每个子问题都更容易解决,因此BCD方法有助于降低优化的复杂度。(对于block的划分可根据实际情况来,所以pre_nme策略属于BCD方法)
  3. 近端方法(proximal method):对于一个非光滑的目标函数,它是光滑函数和非光滑函数的和。在多任务模型中,近端方法常常通过将光滑函数替换为一个二次函数来构建一个近端问题,这个二次函数可以基于其泰勒级数以各种方式构造,所得到的近端问题通常比原问题更容易解决。近端方法可以加速优化过程的收敛速度,或促进分布式优化算法的设计。

3.补充

以下来自于文章:《Multi-task learning for dense prediction tasks: A survey》

3.1 多任务模型分类

之前的多任务模型分类只是简单的分为软共享和硬共享(见下图),但是最近几年有一些工作同时基于二者的思想来完成多任务的学习,因此这篇文章中作者将目前的多任务模型分为新的两种类别:encoder-focused和decoder-focused。
在这里插入图片描述
上图是传统的MTL分类:硬共享和软共享。下图是作者提出的新的分类方式。
在这里插入图片描述

  • Encoder-Focused方法: 在encoder共享任务特征,然后使用一组独立的特定于任务的head来处理encoder输出的特征。目前大量的工作都是遵循这种 ad hoc (特定的) 策略,也就是共享一个 off-the-shelf(现成的) backbone,再与几个task-specific头结合。这种模型依赖于encoder(一般用SOTA backbone)来学习场景中的一个generic representation。虽然这种策略对于所有的任务都是使用共享的encoder,但是最近的一些工作是考虑了特征共享是是考虑了 how 和 where 的。
  • Decoder-Focused方法: 但是尽管目前的多任务工作(face)在 how 和 where 上做出了一些探索,但是这种paradigm都遵循着一种共同模式:他们直接在一个处理周期中基于相同的输入对所有的任务做预测(即,所有预测都是并行或顺序的,只生成一次,之后不会再进行细化)。这样做就不能够捕捉任务间的共性和差异(比如深度不连续点通常与语义边对齐这种显示的(宏观的)关系,在face中也同样有),这可能是Encoder-Focused方法versus实现适度性能改进的原因[11]。为了缓解这个问题,一些在dense prediction任务重的工作做了一些尝试,他们首先首先做出初始的任务预测,然后利用这些初始的任务预测来进一步的提升每个任务的输出。

PAD-Net[12]将每个task-specific模块最后一层的输出特征作为initial prediction,提出一个Multi-Modal Distilation模块,通过空间注意力机制对任务具体模块的最后层特征进行交互以提取出cross-task information来产生最终预测,而不是直接使用来自encoder的shared feature来完成预测,为了什么使用任务层最后feature来提取任务关系,因为其认为the task features已经通过具体任务的supervise被解耦。
在这里插入图片描述
PAD-Net的多模态蒸馏是在固定的尺度上进行的,即主干的最后一层的特征,因此MTI-Net[13]通过在多个尺度上进行任务交互(多模态蒸馏),最后将多个尺度的特征上采样到最大尺度并连接从而得到每个任务的最终表示。
在这里插入图片描述
PAD-Net和MTI-Net的核心思想是不仅在encoder中学习共享的知识,还在decoder中挖掘任务间的交互关系,以利用任务间的相互关系去互相辅助,但是它们都是在feature-level上去探索任务具体特征之间的关系,并没有从model-level上去显式的建模我们常识中的任务间相互关系

JTRL[14]在预测每一个任务时利用了先前阶段的特征,这一点的思路与我们有点相同,就是分阶段从粗到细的进行细化。但是JTRL最大的缺点就是它是sequentially预测每个任务,也就是backbone输出的特征只用于第一个任务,而下游任务所用到的特征是上个阶段的输出,这就导致了下游任务不能用到backbone输出的良好的初始特征,只能用到被其他任务监督过的特征(这对下游任务可能并没有很大用),所以就导致了JTRL的方式很难应用于超过两个任务的场景,否则下游任务效果将严重受到影响
在这里插入图片描述
为了解决第一个问题,我们从model-level考虑,合理地设计模型架构以显式的利用其他任务的知识(输出而非输出层的特征);为了解决第二个问题,我们将backbone输出的有效特征对每个任务模块都共享,此外方案一能够任务模块之间能够任务交互,但是并不能像JTRL那样利用上阶段的知识来不断的细化,我们设计了一种循环的方式(不同于JTRL中的sequentially)来将上个阶段的知识传入下阶段来完成细化。

3.2 多任务训练中的优化方法

3.2.1 Task Balancing Approaches

Uncertainty Weighting、Gradient Normalization、Dynamic Weight Averaging、Dynamic Task Prioritization、MTL as Multi-Objective Optimization

3.2.2 其他

参考文献

[1] Y. Shinohara, “Adversarial multi-task learning of deep neural networks for robust speech recognition,” in Interspeech, 2016.
[2] P. Liu, X. Qiu, and X. Huang, “Adversarial multi-task learning for text classification,” in ACL, 2017.
[3] I. Misra, A. Shrivastava, A. Gupta, and M. Hebert, “Cross-stitch networks for multi-task learning,” in CVPR, 2016.
[4] G. Obozinski, B. Taskar, and M. Jordan, “Multi-task feature selection,” tech. rep., University of California, Berkeley, 2006.
[5] P. Gong, J. Ye, and C. Zhang, “Multi-stage multi-task feature learning,” JMLR, 2013.
[6] Y. Yang and T. M. Hospedales, “Trace norm regularised deep multi-task learning,” in ICLR, Workshop Track, 2017.
[7]Y. Zhang and D.-Y. Yeung, “Multi-task learning in heterogeneous feature spaces,” in AAAI, 2011.
[8] Z. Chen, V. Badrinarayanan, C. Lee, and A. Rabinovich, “Gradnorm: Gradient normalization for adaptive loss balancing in deep multitask networks,” in ICML, 2018.
[9] T. Yu, S. Kumar, A. Gupta, S. Levine, K. Hausman, and C. Finn, “Gradient surgery for multi-task learning,” in NeurIPS, 2020.
[10] O. Sener and V. Koltun, “Multi-task learning as multi-objective optimization,” in NeurIPS, 2018.
[11] Vandenhende S, Georgoulis S, Van Gansbeke W, et al. Multi-task learning for dense prediction tasks: A survey[J]. IEEE transactions on pattern analysis and machine intelligence, 2021.
[12] Xu D, Ouyang W, Wang X, et al. Pad-net: Multi-tasks guided prediction-and-distillation network for simultaneous depth estimation and scene parsing[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 675-684.
[13] Vandenhende S, Georgoulis S, Gool L V. Mti-net: Multi-scale task interaction networks for multi-task learning[C]//European Conference on Computer Vision. Springer, Cham, 2020: 527-543.
[14] Zhang Z, Cui Z, Xu C, et al. Joint task-recursive learning for semantic segmentation and depth estimation[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 235-251.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/508324
推荐阅读
相关标签
  

闽ICP备14008679号