多任务学习有很多形式,如联合学习(JointLearning),自主学习(LearningtoLearn),借助辅助任务学习(LearningwithAuxiliaryTasks)等,这些只是其中一些别名。概括来讲,一旦发现正在优化多于一个的目标函数,你就可以通过多任务学习来有效求解(Generally,assoonasyoufindyourselfoptimizingmorethanonelossfunction,youareeffectivelydoingmulti-tasklearning(incontrasttosingle-tasklearning))。在那种场景中,这样做有利于想清楚我们真正要做的是什么以及可以从中得到一些启发。
2.动机
3.深度学习中两种多任务学习模式
4.多任务学习为什么会有效?
5.非神经网络模型中的多任务学习
5.1块稀疏正则化(Block-SparsityRegularization)
现有的许多方法都对模型参数做出稀疏性假设。文献[8]认为所有模型共享参数的一个小集合。从任务参数矩阵A的角度来看,这就意味着除了少数几行外全部是0,与之对应的只有少数特征是可以在不同任务间共享的。为了强制做到这一点,在多任务学习中强制加L1正则化项。我们可以记得的是L1正则化是对参数之和上的约束,强制除少数几个外的其他所有参数为0。L1正则化又被称为LASSO(LeastAbsoluteShrinkageandSelectionOperator)。
5.2学习任务间的关系
文献[16]为SVM方法提出了一个类似的约束。这个约束是受贝叶斯方法启发得到的,它寻求使得所有模型接近均值模型。因此它的损失函数是每个SVM所对应的大间隔损失以及与均值模型的距离。文献[17]假设潜在的聚类正则化可以显式表示为A上的聚类约束(当聚类数C已知时),将该聚类正则化分解为三部分:
6.深度神经网络的多任务学习的最新进展
尽管最近的许多深度学习的工作都或显式或隐式使用了多任务学习作为其模型的一部分,但是使用方式仍然没有超出我们前面提到的两种方式:参数的硬共享与软共享。相比之下,仅有少部分的工作专注于提出深度神经网络中好的多任务学习机制。
6.1深度关系网络(DeepRelationshipNetworks)
6.2完全自适应特征共享(Fully-AdaptiveFeatureSharing)
从另一个极端说起,文献[35]提出了一个自底向上的方法。从瘦网络(thinnetwork)开始,使用对相似任务自动分组的指标,贪心的动态加宽网络。这个加宽的过程动态创建分支,如图4所示。然而这种贪心的做法并不能得到全局的最优。为每个分支分配精确的一个任务,并不能允许模型学到更复杂的任务间的交互。
6.3十字绣网络(Cross-StitchNetworks)
6.4低层次监督(LowSupervision)
相形之下,自然语言处理领域中近年来的多任务学习的工作重点在于找到一个好的层次结构:文献[37]展示了一些NLP中的基本工作,如词性标注,命名实体识别等,应该被作为辅助任务,在较低层次时进行有监督学习。
6.5联合多任务模型(AJointMany-TaskModel)
基于这种发现,文献[38]预先定义了一个包含多个NLP任务的层次结构,如图6所示,并用来做多任务学习的联合模型。
6.6用不确定性对损失进行加权(WeightinglosseswithUncertainty)
6.7多任务学习中的张量分解
6.8水闸网络
最后我们说一下文献[41]中提到的水闸网络,它是对多种基于深度神经网络的多任务学习方法的泛化。如图8所示,这个模型可以学习到每层中哪些子空间是必须共享的,以及哪些是用来学习到输入序列的一个好的表示的。
6.9我的模型中应该共享些什么?
早期用于深度学习的多任务模型需要预定义任务间的共享结构。这种策略不适合扩展,严重依赖于多任务的结构。早在1997年就已经提出的参数的硬共享技术在20年后的今天仍旧是主流。尽管参数的硬共享机制在许多场景中有用,但是若任务间的联系不那么紧密,或需要多层次的推理,则硬共享技术很快失效。最近也有一些工作研究学习哪些可以共享,这些工作的性能从一般意义上将优于硬共享机制。此外,若模型已知,学习一个任务层次结构的容量也是有用的,尤其是在有多粒度的场景中。
7.辅助任务(AuxiliaryTasks)
7.2对抗性(Adversarial)任务
7.3提示(Hints)性任务
如前所述,多任务学习可以学到单任务学不到的特征。使用Hints就是这样一种有效的机制:在辅助任务中预测特征。最近的一个例子是在自然语言处理中,文献[47]在情感分析中将一个输入句子中是否包含正负面情感词作为辅助任务。文献[48]在错误名字识别中将判断一个句子中是否包含名字作为辅助任务。
7.4注意力集中
辅助任务可以用来将注意力集中在网络可能忽略的图像的某部分上。例如,对于学习方向掌控的任务中,单一的任务模型通常忽略那些图像的细微之处,如路标等。那么预测路标就可以作为一个辅助任务。迫使模型学会去表示它们,这样的知识可以用于主任务。类似的,对于脸部识别来说,既然这些脸是不同的,我们就可以将预测脸部特征的位置作为辅助任务。
7.5量化平滑
对于多任务来讲,优化目标是已经被量化的。通常连续型的是受欢迎的,而可用的标注是离散集合。在大多数情况下,需要人工评价来收集数据,例如,预测疾病的风险或情感分析(正面、负面、中立),由于目标函数是光滑的,所以使用较少量的量化辅助任务会使学习变得容易。
7.6预测输入
在一些情况下使用某些特征作为输入并不会对预测目标输出有益。然而,它们可能能指导监督学习的过程。在这些情形下,特征是作为输出的一部分,而非输入。文献[49]展示了这些问题在实际应用中的场景。
7.7用未来预测现在
许多场景中一些特征仅在做出预测后才可用。例如,在自动驾驶中,一旦汽车经过障碍物或路标,便可以对它们做出准确的度量。Caruana于1997年举了一个肺炎的例子,只有事发后才能又额外的诊断案例可用。对于这些例子来讲,这些额外的数据由于在输入的时刻并不可用,所以并不能作为特征。然而,可以用作辅助任务来为模型传授额外的知识以辅助训练。
7.8表示学习
8.为什么辅助任务对主任务是有益的?
文献[52]发现具有完备且统一的标注分布的辅助任务对于序列标注主任务应该更有益,这一点在实验中已经得到验证。此外,文献[53]发现non-plateauing的辅助任务也会为plateauing的主任务带来改善。
然而这些实验都是具有范围局限性的。近期的这些研究成果只是为我们进一步理解神经网络中的多任务学习提供了一些线索。
9.结论
10.参考文献:
[1]Caruana.R.(1998).MultitaskLearning.AutonomousAgentsandMulti-AgentSystems.27(1).95-133.
[2]Caruana.R.MultitaskLearning:AKnowledgebasedSourceofInductiveBias.ProceedingsoftheTenthInternationalConferenceonMachineLearning.1993.
[3]Baxter,J.(1997)ABayesian/InformationTheoreticModelofLearningtoLearnviaMultipleTaskSampling.MachineLearning.28,7-39.
[4]Duong,L.,Cohn.et.al.2015.LowResourceDependencyParsingCross-LingualParameterSharinginaNeuralNetworkParser.ACL2015.
[5]Yang,Y.et.al.2017.TraceNormRegularizedDeepMulti-TaskLearning.ICLR2017workshop.
[6]Abu-Mostafa,et.al.1990.LearningfromHintsinNeuralNetworks,JournalofComplexity.
[7]Baxter,J.2000.AModelofInductiveBiasLearning.JournalofAritificialIntelligenceResearch.
[8]Argyriou,A.2007.Multi-TaskFeatureLearning.NIPS2007.
[9]C.ZhangandJ.Huang.2008.ModelSelectionConsistencyoftheLassoSelectioninHighDimensionalLinearRegression.AnnalsofStatistics.2008.
[10]Yuan,MingandYiLin.2006.ModelSelectionandEstimationinRegressionwithGroupedVariables.JournaloftheRoyalStatisticalSociety.2006.
[11]Lounici.K,et.al.2009.TakingAdvantageofSparsityinMulti-taskLearning.stat.2009.
[12]Negahban,S.et.al.2008.JointSupportRecoveryunderHighDimensionalScaling:BenefitsandPerilsofL1,\inf-regularization.NIPS2008.
[13]Jalali,A.et.al.2010.ADirtyModelforMulti-TaskLearning.NIPS2010.
[14]Liu,S.et.al.2016.DistributedMulti-TaskRelationshipLearning.AISTATS2016.
[15]Evgeniou,T.et.al.2005.LearningMultipleTaskswithKernelMethods.JournalofMachineLearningResearch2005.
[16]Evgeniou,T.et.al.2004.RegularizedMulti-TaskLearning.KDD2004.
[17]Jacob,L.et.al.2009.ClusteredMulti-TaskLearning:AConvexFormulation.NIPS2009.
[18]Kim,S.andXing,EricP.2010.Tree-GuidedGroupLassoforMulti-TaskRegressionwithStructuredSparsity.ICML2010.
[19]Chen,X.et.al.2010.GraphStructuredMulti-TaskRegressionandAnEfficientOptimizationMethodforGeneralFusedLasso.
[20]Thrun,S.et.al.1996.DiscoveringStructureinMultipleLearningTasks:TheTCAlgorithm.ICML1998.
[21]Ando,R,K.et.al.2005.AFrameworkforLearningPredictiveStructuresfromMultipleTasksandUnlabeledData.JMLR2005.
[22]Heskes,T.2000.EmpiricalBayesforLearningtoLearn.ICML2000.
[23]Lawrence,N.D.et.al.2004.LearningtoLearnwiththeinformativevectormachine.ICML2004.
[24]Yu,K.et.al.2005.LearningGaussianProcessesfromMultipleTasks,ICML2005.
[25]Bakker,B.et.al.2003.TaskClusteringandGatingforBayesianMulti-TaskLearning.JMLR2003.
[26]Xue,Y.et.al.2007.Multi-TaskLearningforClassificationwithDirichletProcessPriors.JMLR2007.
[27]DaumeIII,H.et.al.2009.BayesianMultitaskLearningwithLatentHierarcies.
[28]Zhang,Y.et.al.2010.AConvexFormulationforLearningTaskRelationshipsinMulti-TaskLearning.UAI2010.
[29]Cavallanti,G.et.al.2010.LinearAlgorithmsforOnlineMultitaskClassification.JMLR2010.
[30]Saha,A.et.al.2011.OnlineLearningofMultipleTasksandtheirRelationships.JMLR2011.
[31]Kang,Z.et.al.2011.LearningwithWhomtoShareinMulti-taskFeatureLearning.ICML2011.
[32]Kumar,A.et.al.2012.LearningTaskGroupingandOverlapinMulti-TaskLearning.ICML2012.
[33]Crammer,K.et.al.2012.LearningMultipleTasksUsingSharedHypotheses.NIPS2012.
[34]Long,M.et.al.2015.LearningMultipleTaskswithDeepRelationshipNetworks.
[35]Lu,Y.et.al.2016.Fully-AdaptiveFeatureSharinginMulti-TaskNetworkswithApplicationsinPersonAttriuteClassification.
[36]Misra,I.et.al.Cross-StitchNetworksforMulti-TaskLearning,CVPR2016.
[37]Sogaard,A.et.al.DeepMulti-TaskLearningwithLowLevelTasksSupervisedatLowerLayers.ACL2016.
[38]Hashimoto,K.2016.AJointMulti-TaskModel:GrowingANeuralNetworkforMultipleNLPTasks.
[39]Kendail,A.et.al.2017.Multi-TaskLearningUsingUncertaintytoWeighLossesforSceneGeometryandSemantics.
[40]Yang,Y.et.al.2017.DeepMulti-TaskRepresentationLearning:ATensorFactorizationApproach.ICLR2017.
[41]Ruder,S.2017.SluiceNetworks:LearningWhattoSharebetweenLooselyRelatedTasks.
[42]Zhang,Z.2014.FacialLandmarkDetectionbyDeepMulti-TaskLearning.ECCV2014.
[43]Liu,X.et.al.2015.RepresentationLearningUsingMulti-TaskDeepNeuralNetworksforSemanticClassificationandInformationRetrieval.
[44]Girshick,R.2015.FastR-CNN.ICCV2015.
[45]Arik,S.O.et.al.2017.DeepVoice:Real-timeNeuralText-to-Speech.ICML2017.
[46]Ganin,T.2015.UnsupervisedDomainAdaptationbyBackpropagation.ICML2015.
[47]Yu,J.2016.LearningSentenceEmbeddingswithAuxiliaryTasksforCrossDomainSentimentClassification.EMNLP2016.
[48]Cheng,H.2015.Open-DomainNameErrorDetectionUsingaMulti-TaskRNN.EMNLP2015.
[49]Caruana,R.et.al.1997.PromotingPoorFeaturestoSupervisors:SomeInputsworkBetterasoutputs.NIPS1997.
[50]Rei,M.2017.Semi-supervisedMultitaskLearningforSequenceLabeling,ACL2017.
[51]Ben-David,S.et.al.2003.ExploitingTaskRelatednessforMultipleTaskLearning.LearningTheoryandKernelMachines.
[52]Alonso,H.M.et.al.2017.WhenisMulti-TaskLearningEffectiveMultitaskLearningforSemanticSequencePredictionUnderVaryingDataConditions.EACL2017.
[53]Bingel,J.et.al.2017.IdentifyingBeneficialTaskRelationsforMulti-TaskLearninginDeepNeuralNetworks,EACL2017.