转自:https://www.cnblogs.com/zeze/p/8244357.html
多任务学习(Multi-task learning)是和单任务学习(single-task learning)相对的一种机器学习方法。在机器学习领域,标准的算法理论是一次学习一个任务,也就是系统的输出为实数的情况。复杂的学习问题先被分解成理论上独立的子问题,然后分别对每个子问题进行学习,最后通过对子问题学习结果的组合建立复杂问题的数学模型。多任务学习是一种联合学习,多个任务并行学习,结果相互影响。
拿大家经常使用的school data做个简单的对比,school data是用来预测学生成绩的回归问题的数据集,总共有139个中学的15362个学生,其中每一个中学都可以看作是一个预测任务。单任务学习就是忽略任务之间可能存在的关系分别学习139个回归函数进行分数的预测,或者直接将139个学校的所有数据放到一起学习一个回归函数进行预测。而多任务学习则看重 任务之间的联系,通过联合学习,同时对139个任务学习不同的回归函数,既考虑到了任务之间的差别,又考虑到任务之间的联系,这也是多任务学习最重要的思想之一。
在机器学习中,我们通常关心优化某一特定指标,不管这个指标是一个标准值,还是企业KPI。为了达到这个目标,我们训练单一模型或多个模型集合来完成指定得任务。然后,我们通过精细调参,来改进模型直至性能不再提升。尽管这样做可以针对一个任务得到一个可接受得性能,但是我们可能忽略了一些信息,这些信息有助于在我们关心的指标上做得更好。具体来说,这些信息就是相关任务的监督数据。通过在相关任务间共享表示信息,我们的模型在原始任务上泛化性能更好。这种方法称为多任务学习(Multi-Task Learning),是本博文的关注点。
多任务学习有很多形式,如联合学习(Joint Learning),自主学习(Learning to Learn),借助辅助任务学习(Learning with Auxiliary Tasks)等,这些只是其中一些别名。概括来讲,一旦发现正在优化多于一个的目标函数,你就可以通过多任务学习来有效求解(Generally, as soon as you find yourself optimizing more than one loss function, you are effectively doing multi-task learning (in contrast to single-task learning))。在那种场景中,这样做有利于想清楚我们真正要做的是什么以及可以从中得到一些启发。
即使对于最特殊的情形下你的优化目标只有一个,辅助任务仍然有可能帮助你改善主任务的学习性能。Rich Caruana 在文献[1]中总结了:“多任务学习通过使用包含在相关任务的监督信号中的领域知识来改善泛化性能”。通过学习本博文,我们将尝试对多任务学习的研究近况做一个简要的回顾,尤其是针对深度神经网络的多任务学习。首先,我们探讨了多任务学习的灵感来源。接下来,介绍多任务学习的两种最常见的方法。接着描述了使得多任务学习在实践中有效的机制。在总结较为高级的基于神经网络的多任务学习方法之前,我们回顾了以往多任务学习文献中的一些背景知识。本文接着介绍了近年来提出的一些给力的基于深度神经网络的多任务学习方法。最后,我们探讨了经常使用的辅助任务的类型以及对于多任务学习讲好的辅助任务所具备的特征。
多任务学习早期的研究工作源于对机器学习中的一个重要问题,即“归纳偏置(inductive bias)”问题的研究。机器学习的过程可以看作是对与问题相关的经验数据进行分析,从中归纳出反映问题本质的模型的过程。归纳偏置的作用就是用于指导学习算法如何在模型空间中进行搜索,搜索所得模型的性能优劣将直接受到归纳偏置的影响,而任何一个缺乏归纳偏置的学习系统都不可能进行有效的学习。不同的学习算法(如决策树,神经网络,支持向量机等)具有不同的归纳偏置,人们在解决实际问题时需要人工地确定采用何种学习算法,实际上也就是主观地选择了不同的归纳偏置策略。一个很直观的想法就是,是否可以将归纳偏置的确定过程也通过学习过程来自动地完成,也就是采用“学习如何去学(learning to learn)”的思想。多任务学习恰恰为上述思想的实现提供了一条可行途径,即利用相关任务中所包含的有用信息,为所关注任务的学习提供更强的归纳偏置。
目前多任务学习方法大致可以总结为两类,一是不同任务之间共享相同的参数(common parameter),二是挖掘不同任务之间隐藏的共有数据特征(latent feature)。
我们提出多任务学习的出发点是多种多样的:
(1)从生物学来看,我们将多任务学习视为对人类学习的一种模拟。为了学习一个新的任务,我们通常会使用学习相关任务中所获得的知识。例如,婴儿先学会识别脸,然后将这种知识用来识别其他物体。
(2)从教学法的角度来看,我们首先学习的任务是那些能够帮助我们掌握更复杂技术的技能。这一点对于学习武术和编程来讲都是非常正确的方法。具一个脱离大众认知的例子,电影Karate Kid中Miyagi先生教会学空手道的小孩磨光地板以及为汽车打蜡这些表明上没关系的任务。然而,结果表明正是这些无关紧要的任务使得他具备了学习空手道的相关的技能。
(3)从机器学习的角度来看,我们将多任务学习视为一种归约迁移(inductive transfer)。归约迁移(inductive transfer)通过引入归约偏置(inductive bias)来改进模型,使得模型更倾向于某些假设。举例来说,常见的一种归约偏置(Inductive bias)是L1正则化,它使得模型更偏向于那些稀疏的解。在多任务学习场景中,归约偏置(Inductive bias)是由辅助任务来提供的,这会导致模型更倾向于那些可以同时解释多个任务的解。接下来我们会看到这样做会使得模型的泛化性能更好。
前面我们讨论了多任务学习的理论源泉。为了使得多任务学习的思想更加具体,我们展示了在基于深度神经网络的多任务学习中常用两种方法:隐层参数的硬共享与软共享。
(1)参数的硬共享机制:参数的硬共享机制是神经网络的多任务学习中最常见的一种方式,这一点可以追溯到文献[2]。一般来讲,它可以应用到所有任务的所有隐层上,而保留任务相关的输出层。硬共享机制降低了过拟合的风险。事实上,文献[3]证明了这些共享参数过拟合风险的阶数是N,其中N为任务的数量,比任务相关参数的过拟合风险要小。直观来将,这一点是非常有意义的。越多任务同时学习,我们的模型就能捕捉到越多任务的同一个表示,从而导致在我们原始任务上的过拟合风险越小。
(2)参数的软共享机制:每个任务都由自己的模型,自己的参数。我们对模型参数的距离进行正则化来保障参数的相似。文献[4]使用L2距离正则化,而文献[5]使用迹正则化(trace norm)。用于深度神经网络中的软共享机制的约束很大程度上是受传统多任务学习中正则化技术的影响。我们接下来会讨论。
即使从多任务学习中获得归约偏置的解释很受欢迎,但是为了更好理解多任务学习,我们必须探究其深层的机制。大多数机制早在1998年被Caruana提出。为了便于距离说明,我们假设有两个相关的任务A与B,两者共享隐层表示F。
(1)隐世数据增加机制。多任务学习有效的增加了训练实例的数目。由于所有任务都或多或少存在一些噪音,例如,当我们训练任务A上的模型时,我们的目标在于得到任务A的一个好的表示,而忽略了数据相关的噪音以及泛化性能。由于不同的任务有不同的噪音模式,同时学习到两个任务可以得到一个更为泛化的表示(As different tasks have different noise patterns, a model that learns two tasks simultaneously is able to learn a more general representations.)。如果只学习任务A要承担对任务A过拟合的风险,然而同时学习任务A与任务B对噪音模式进行平均,可以使得模型获得更好表示F。
(2)注意力集中机制。若任务噪音严重,数据量小,数据维度高,则对于模型来说区分相关与不相关特征变得困难。多任务有助于将模型注意力集中在确实有影响的那些特征上,是因为其他任务可以为特征的相关与不相关性提供额外的证据。
(3)窃听机制。对于任务B来说很容易学习到某些特征G,而这些特征对于任务A来说很难学到。这可能是因为任务A与特征G的交互方式更复杂,或者因为其他特征阻碍了特征G的学习。通过多任务学习,我们可以允许模型窃听(eavesdrop),即使用任务B来学习特征G。最简单的实现方式是使用hints[6],即训练模型来直接预测哪些是最重要的特征。
(4)表示偏置机制。多任务学习更倾向于学习到一类模型,这类模型更强调与其他任务也强调的那部分表示。由于一个对足够多的训练任务都表现很好的假设空间,对来自于同一环境的新任务也会表现很好,所以这样有助于模型展示出对新任务的泛化能力[7]
(5)正则化机制。多任务学习通过引入归纳偏置(inductive bias)起到与正则化相同的作用。正是如此,它减小了模型过拟合的风险,同时降低了模型的Rademacher复杂度,即拟合随机噪音的能力。
尽管最近的许多深度学习的工作都或显式或隐式使用了多任务学习作为其模型的一部分,但是使用方式仍然没有超出我们前面提到的两种方式:参数的硬共享与软共享。相比之下,仅有少部分的工作专注于提出深度神经网络中好的多任务学习机制。
5.1 深度关系网络(Deep Relationship Networks)
在用于机器视觉的多任务场景中,已有的这些方法通常共享卷积层,将全链接层视为任务相关的。文献[34]提出了深度关系网络。除了共享层与任务相关层的结构,他们对全连接层添加矩阵先验。这将允许模型学习任务间的关系。这一点与我们之前看过的贝叶斯方法是类似的。然而,问题是这个方法依然依赖于事先预定义的共享结构。这一点对于机器视觉问题已经足够,但是对于新任务有错误倾向。
5.2 完全自适应特征共享(Fully-Adaptive Feature Sharing)
从另一个极端说起,文献[35]提出了一个自底向上的方法。从瘦网络(thin network)开始,使用对相似任务自动分组的指标,贪心的动态加宽网络。这个加宽的过程动态创建分支,如图4所示。然而这种贪心的做法并不能得到全局的最优。为每个分支分配精确的一个任务,并不能允许模型学到更复杂的任务间的交互。
5.3 十字绣网络(Cross-Stitch Networks)
文献[36]将两个独立的网络用参数的软共享方式连接起来。接着,他们描述了如何使用所谓的十字绣单元来决定怎么将这些任务相关的网络利用其他任务中学到的知识,并与前面层的输出进行线性组合。这种结构如图5所示,仅在pooling(池化)层与全连接层之后加入十字绣单元。
5.4 低层次监督(Low Supervision)
相形之下,自然语言处理领域中近年来的多任务学习的工作重点在于找到一个好的层次结构:文献[37]展示了一些NLP中的基本工作,如词性标注,命名实体识别等,应该被作为辅助任务,在较低层次时进行有监督学习。
5.5 联合多任务模型(A Joint Many-Task Model)
基于这种发现,文献[38]预先定义了一个包含多个NLP任务的层次结构,如图6所示,并用来做多任务学习的联合模型。
5.6 用不确定性对损失进行加权(Weighting losses with Uncertainty)
除了学习结构的共享,文献[39]采用一种正交的方法来考虑每个任务的不确定性。他们调整每个任务在代价函数中的相对权重,基于最大化任务相关的不确定性似然函数原理,来得到多任务学习的目标。对u每个像素深度回归、语义分割、实例分割等三个任务的框架如图7所示。
5.7 多任务学习中的张量分解
近来许多工作试图将已有的多任务学习模型推广到深度学习中:文献[40]将已有的一些使用张量分解技术推广到模型参数划分来分解出每层的共享参数于任务的相关系数。
5.8 水闸网络
最后我们说一下文献[41]中提到的水闸网络,它是对多种基于深度神经网络的多任务学习方法的泛化。如图8所示,这个模型可以学习到每层中哪些子空间是必须共享的,以及哪些是用来学习到输入序列的一个好的表示的。
5.9 我的模型中应该共享些什么?
已经回顾了这些相关工作,现在我们来总结一下在深度多任务学习模型中到底应该共享些什么信息。大多数的多任务学习中,任务都是来自于同一个分布的。尽管这种场景对于共享是有益的,但并不总能成立。为了研发更健壮的多任务模型,我们必须处理那些不相关的任务。
早期用于深度学习的多任务模型需要预定义任务间的共享结构。这种策略不适合扩展,严重依赖于多任务的结构。早在1997年就已经提出的参数的硬共享技术在20年后的今天仍旧是主流。尽管参数的硬共享机制在许多场景中有用,但是若任务间的联系不那么紧密,或需要多层次的推理,则硬共享技术很快失效。最近也有一些工作研究学习哪些可以共享,这些工作的性能从一般意义上将优于硬共享机制。此外,若模型已知,学习一个任务层次结构的容量也是有用的,尤其是在有多粒度的场景中。
正如刚开始提到的,一旦我们要做一个多目标的优化问题,那么我们就是在做多任务学习。多任务不应仅仅局限于将所有任务的知识都局限于表示为同一个参数空间,而是更加关注于如何使我们的模型学习到任务间本应该的交互模式(it is thus helpful to draw on the advances in MTL that we have discussed and enable our model to learn how the tasks should interact with each other)。
对于同时获得多个任务的预测结果的场景,多任务学习是天然适合的。这个场景在金融或经济的预测中是常见的,比如,我们可能既想知道相关的影响因子,又想知道预测结果。在生物信息学中,我们可能想同时知道多种疾病的症候。但是在大多数情况下,我们仅关注一个任务。本节中,我们将讨论如何找到一个辅助任务来使得多任务学习受益。
6.1 相关任务(Related Tasks)
使用相关任务作为一个辅助任务,对于多任务学习来说,是一个典型的选择。想要知道什么是“相关任务”,此处我们展示一些直观的例子。Caruana于1997年使用预测不同道路的特征来辅助学习自动驾驶的方向掌控。文献[42]使用头部姿势估计与面部特征属性推断辅助脸部轮廓检测任务。文献[43]同时学习查询分类与网页搜索。文献[44]同时预测图像中物体的类别和位置。文献[45]同时预测文本到语言的过程中音素的持续时间和频率。
6.2 对抗性(Adversarial)任务
通常情况下,对于一个相关任务来说,不存在标注数据。然而,在一些场合,我们可以用的任务与我们想要实现的目标是相反的。这样的数据是可以用来做对抗损失的。这些损失不是用来做最小化的,而是使用Gradient Reversal Layer来做最大化训练误差的。文献[46]中展示了这种场景在领域自适应方面的成功例子。这种场景中的对抗任务用来预测输入的领域。通过对对抗任务的梯度求逆,对抗任务损失最大化。这样对于主任务是有利的,可以促使模型学习到不用区分两个域的表示。
6.3 提示(Hints)性任务
如前所述,多任务学习可以学到单任务学不到的特征。使用Hints就是这样一种有效的机制:在辅助任务中预测特征。最近的一个例子是在自然语言处理中,文献[47]在情感分析中将一个输入句子中是否包含正负面情感词作为辅助任务。文献[48]在错误名字识别中将判断一个句子中是否包含名字作为辅助任务。
6.4 注意力集中
辅助任务可以用来将注意力集中在网络可能忽略的图像的某部分上。例如,对于学习方向掌控的任务中,单一的任务模型通常忽略那些图像的细微之处,如路标等。那么预测路标就可以作为一个辅助任务。迫使模型学会去表示它们,这样的知识可以用于主任务。类似的,对于脸部识别来说,既然这些脸是不同的,我们就可以将预测脸部特征的位置作为辅助任务。
6.5 量化平滑
对于多任务来讲,优化目标是已经被量化的。通常连续型的是受欢迎的,而可用的标注是离散集合。在大多数情况下,需要人工评价来收集数据,例如,预测疾病的风险或情感分析(正面、负面、中立),由于目标函数是光滑的,所以使用较少量的量化辅助任务会使学习变得容易。
6.6 预测输入
在一些情况下使用某些特征作为输入并不会对预测目标输出有益。然而,它们可能能指导监督学习的过程。在这些情形下,特征是作为输出的一部分,而非输入。文献[49]展示了这些问题在实际应用中的场景。
6.7 用未来预测现在
许多场景中一些特征仅在做出预测后才可用。例如,在自动驾驶中,一旦汽车经过障碍物或路标,便可以对它们做出准确的度量。Caruana于1997年举了一个肺炎的例子,只有事发后才能又额外的诊断案例可用。对于这些例子来讲,这些额外的数据由于在输入的时刻并不可用,所以并不能作为特征。然而,可以用作辅助任务来为模型传授额外的知识以辅助训练。
6.8 表示学习
多任务学习中辅助任务的目标在于使得模型学习到共享的表示,以帮助主任务的学习。我们目前所讨论到的辅助任务都是隐式的在做这件事情。由于它们和主任务密切相关,所以在学习的同时可能允许这些模型学到有利于主任务的表示。一个更为显式的做法是利用一个辅助任务专门来学习一个可以迁移的表示。Cheng等人2015年的一个工作以及文献[50]所采用的语言模型目标就起到了这样的作用。类似的,autoencoder也是可以用来做辅助任务的。
虽然在实际当中我们可能仅仅关心一种辅助任务,但是前面我们已经讨论了在多任务学习中可能用的各种辅助任务。尽管我们并不知道在实际中哪种会起作用。寻找辅助任务的一个基本假设是:辅助任务应该是与主任务密切相关的,或者是能够对主任务的学习过程有益的。
然而,我们并不知道什么样的两个任务是相关的或相似的。Caruana在1997年给出的定义是:若两个任务使用相同的特征来做决策,那么两个任务是相似的。Baxer于2000年补充道:理论上讲相关的任务共享同一个最优的假设类,也就是同样的归纳偏置(inductive bias)。文献[50]提出若两个任务中的数据都产生自由同一类变换F得到固定的概率分布,那么两个任务是F相关的。尽管可以使用于同一个分类问题,但是不能用于处理不同问题的任务。Xue等人2007年提出若两个任务的分类边界(参数向量)是闭合的,那么两个任务是相似的。
虽然早期在理解任务相关性的理论定义方面取得了一些进展,但是近期的成果却没有。任务相似性不是二值的,而是一个范围。更相似的两个任务在多任务学习中受益更大,而反之亦然。使得我们的模型能够学习到共享哪些参数可能只是暂时克服了理论上的缺失,以及更好的利用联系不紧密的任务。然而,我们也很需要对任务相似性的理论认知,来帮助我们了解如何选择辅助任务。
文献[52]发现具有完备且统一的标注分布的辅助任务对于序列标注主任务应该更有益,这一点在实验中已经得到验证。此外,文献[53]发现non-plateauing的辅助任务也会为plateauing的主任务带来改善。
然而这些实验都是具有范围局限性的。近期的这些研究成果只是为我们进一步理解神经网络中的多任务学习提供了一些线索。
本文关注了多任务学习的历史以及在深度神经网络中多任务学习的最新进展。尽管多任务学习频繁使用,但是近20年的参数硬共享机制仍旧是神经网络中多任务学习的主要范式。学习共享哪些信息的工作看起来更具前景。同时,我们对于任务的相似性,任务间的关系,任务的层次,以及多任务学习的收益等的理解仍旧是有限的,我们需要学习更多以理解深度神经网络中多任务学习的泛化能力。
[0] 共享相关任务表征,一文读懂深度神经网络多任务学习: https://mp.weixin.qq.com/s?__biz=MzA3MzI4MjgzMw==&mid=2650728311&idx=1&sn=62b2dcc82657d1ce3bf91fd6a1197699
[1] Caruana. R. (1998). Multitask Learning. Autonomous Agents and Multi-Agent Systems. 27(1). 95-133.
[2] Caruana. R. Multitask Learning: A Knowledge based Source of Inductive Bias. Proceedings of the Tenth International Conference on Machine Learning. 1993.
[3] Baxter, J. (1997) A Bayesian / Information Theoretic Model of Learning to Learn via Multiple Task Sampling. Machine Learning. 28, 7-39.
[4] Duong, L., Cohn. et.al. 2015. Low Resource Dependency Parsing Cross-Lingual Parameter Sharing in a Neural Network Parser. ACL2015.
[5] Yang, Y. et. al. 2017. Trace Norm Regularized Deep Multi-Task Learning. ICLR2017 workshop.
[6] Abu-Mostafa, et. al. 1990. Learning from Hints in Neural Networks, Journal of Complexity.
[7] Baxter, J. 2000. A Model of Inductive Bias Learning. Journal of Aritificial Intelligence Research.
[8] Argyriou, A. 2007. Multi-Task Feature Learning. NIPS2007.
[9] C. Zhang and J. Huang. 2008. Model Selection Consistency of the Lasso Selection in High Dimensional Linear Regression. Annals of Statistics. 2008.
[10] Yuan, Ming and Yi Lin. 2006. Model Selection and Estimation in Regression with Grouped Variables. Journal of the Royal Statistical Society. 2006.
[11] Lounici. K, et.al. 2009. Taking Advantage of Sparsity in Multi-task Learning. stat.2009.
[12] Negahban, S. et. al. 2008. Joint Support Recovery under High Dimensional Scaling: Benefits and Perils of L1,\inf-regularization. NIPS2008.
[13] Jalali, A. et.al. 2010. A Dirty Model for Multi-Task Learning. NIPS2010.
[14] Liu, S. et.al. 2016. Distributed Multi-Task Relationship Learning. AISTATS2016.
[15] Evgeniou, T. et. al. 2005. Learning Multiple Tasks with Kernel Methods. Journal of Machine Learning Research 2005.
[16] Evgeniou, T. et. al. 2004. Regularized Multi-Task Learning. KDD2004.
[17] Jacob, L. et. al. 2009. Clustered Multi-Task Learning: A Convex Formulation . NIPS2009.
[18] Kim, S. and Xing, Eric P. 2010. Tree-Guided Group Lasso for Multi-Task Regression with Structured Sparsity. ICML2010.
[19] Chen, X. et. al. 2010. Graph Structured Multi-Task Regression and An Efficient Optimization Method for General Fused Lasso.
[20] Thrun, S. et. al.1996. Discovering Structure in Multiple Learning Tasks: The TC Algorithm. ICML1998.
[21] Ando, R, K. et. al. 2005. A Framework for Learning Predictive Structures from Multiple Tasks and Unlabeled Data. JMLR2005.
[22] Heskes, T. 2000. Empirical Bayes for Learning to Learn. ICML2000.
[23] Lawrence, N.D. et. al. 2004. Learning to Learn with the informative vector machine. ICML2004.
[24] Yu, K. et. al. 2005. Learning Gaussian Processes from Multiple Tasks, ICML2005.
[25] Bakker, B. et. al. 2003. Task Clustering and Gating for Bayesian Multi-Task Learning. JMLR2003.
[26] Xue, Y. et. al. 2007. Multi-Task Learning for Classification with Dirichlet Process Priors. JMLR2007.
[27] Daume III, H. et. al. 2009. Bayesian Multitask Learning with Latent Hierarcies.
[28] Zhang, Y. et.al. 2010. A Convex Formulation for Learning Task Relationships in Multi-Task Learning. UAI2010.
[29] Cavallanti, G. et. al. 2010. Linear Algorithms for Online Multitask Classification. JMLR2010.
[30] Saha, A. et. al. 2011. Online Learning of Multiple Tasks and their Relationships. JMLR2011.
[31] Kang, Z. et. al. 2011. Learning with Whom to Share in Multi-task Feature Learning. ICML2011.
[32] Kumar, A. et. al. 2012. Learning Task Grouping and Overlap in Multi-Task Learning. ICML2012.
[33] Crammer, K. et. al. 2012. Learning Multiple Tasks Using Shared Hypotheses. NIPS2012.
[34] Long, M. et. al. 2015. Learning Multiple Tasks with Deep Relationship Networks.
[35] Lu, Y. et. al. 2016. Fully-Adaptive Feature Sharing in Multi-Task Networks with Applications in Person Attriute Classification.
[36] Misra, I. et. al. Cross-Stitch Networks for Multi-Task Learning, CVPR2016.
[37] Sogaard, A. et. al. Deep Multi-Task Learning with Low Level Tasks Supervised at Lower Layers. ACL2016.
[38] Hashimoto , K. 2016. A Joint Multi-Task Model: Growing A Neural Network for Multiple NLP Tasks.
[39] Kendail, A. et. al. 2017. Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics.
[40] Yang, Y. et. al. 2017. Deep Multi-Task Representation Learning: A Tensor Factorization Approach. ICLR2017.
[41] Ruder, S. 2017. Sluice Networks: Learning What to Share between Loosely Related Tasks.
[42] Zhang, Z. 2014. Facial Landmark Detection by Deep Multi-Task Learning. ECCV2014.
[43] Liu, X. et. al. 2015. Representation Learning Using Multi-Task Deep Neural Networks for Semantic Classification and Information Retrieval.
[44] Girshick, R. 2015. Fast R-CNN. ICCV2015.
[45] Arik, S. O. et. al. 2017. Deep Voice: Real-time Neural Text-to-Speech. ICML2017.
[46] Ganin, T. 2015. Unsupervised Domain Adaptation by Backpropagation. ICML2015.
[47] Yu, J. 2016. Learning Sentence Embeddings with Auxiliary Tasks for Cross Domain Sentiment Classification. EMNLP 2016.
[48] Cheng, H. 2015. Open-Domain Name Error Detection Using a Multi-Task RNN. EMNLP2015.
[49] Caruana, R. et. al. 1997. Promoting Poor Features to Supervisors: Some Inputs work Better as outputs. NIPS1997.
[50] Rei, M. 2017. Semi-supervised Multitask Learning for Sequence Labeling, ACL2017.
[51] Ben-David, S. et. al. 2003. Exploiting Task Relatedness for Multiple Task Learning. Learning Theory and Kernel Machines.
[52] Alonso, H. M. et. al. 2017. When is Multi-Task Learning Effective? Multitask Learning for Semantic Sequence Prediction Under Varying Data Conditions. EACL2017.
[53] Bingel, J. et. al. 2017. Identifying Beneficial Task Relations for Multi-Task Learning in Deep Neural Networks, EACL2017.