多任务学习(MTL)是Machine learning的一个子领域,其中多个学习任务同时被解决,同时利用任务间的共性和差异。与分别训练模型相比,这种方法可以提高任务特定模型的学习效率和预测准确性。本质上,多任务学习是一个多目标优化问题,在不同任务之间存在权衡。MTL的早期版本被称为“提示”。
在1997年一篇被广泛引用的论文中,Rich Caruana将MTL描述为一种归纳迁移的方法,通过使用相关任务训练信号中包含的领域信息作为归纳偏置来提高泛化能力。它通过并行学习任务并使用共享表示来实现这一点;为每个任务学到的内容可以帮助其他任务更好地学习。在分类场景中,MTL旨在通过联合学习多个分类任务来提高其性能。一个例子是垃圾邮件过滤器,它可以被视为不同用户之间不同但相关的分类任务。不同的人对区分垃圾邮件和合法邮件的特征有不同的分布(例如,英语使用者可能将所有俄语邮件视为垃圾邮件,但俄语使用者不会),但存在共性,例如与资金转移相关的文本。通过MTL联合解决每个用户的垃圾邮件分类问题,可以让解决方案相互借鉴并提高性能。其他设置包括多类分类和多标签分类。
多任务学习之所以有效,是因为要求算法在相关任务上表现良好所引入的正则化可能优于通过均匀惩罚所有复杂性来防止过拟合的正则化。当任务共享显著共性且通常略微欠采样时,MTL可能特别有用,尽管它也被证明对学习不相关任务有益。
任务分组与重叠
在MTL范式内,信息可以在部分或所有任务之间共享。根据任务相关性的结构,可以选择性地共享信息。任务可以分组、存在于层次结构中,或根据一般度量相关联。形式上,建模每个任务的参数向量可以是底层基向量的线性组合。该基中的相似性表示任务相关性;例如,在稀疏性下,跨任务非零系数的重叠表示共性。任务分组对应于任务位于由基元素子集生成的子空间中,组可能不相交或重叠。任务相关性可以预先设定或从数据中学习。层次相关性也可以在没有显式学习的情况下隐式利用,例如通过学习跨任务的样本相关性以确保跨领域的有效联合学习。
利用不相关任务:辅助学习
在辅助学习中,使用一组与主要任务不相关的辅助任务来学习一组主要任务。使用正确的辅助任务,使用相同输入数据的联合学习已被证明有益,比标准MTL提供显著改进。关于任务相关性的先验知识可以通过筛选数据分布的特殊性,为每个任务分组产生更稀疏和更具信息量的表示。方法可能倾向于在每个分组内共享低维表示,并对来自不同组的任务施加惩罚以鼓励正交表示。使用不相关的辅助任务学习带来两个挑战:找到有用的辅助任务以及有用地将所有任务的损失结合起来。一些方法在训练期间从数据中学习这些内容。
知识迁移
与MTL相关的是知识迁移。传统MTL跨任务并发开发共享表示,而知识迁移意味着顺序共享表示。大规模机器学习项目,如深度卷积神经网络GoogLeNet(一种基于图像的对象分类器),可以开发出对进一步学习相关任务的算法有用的鲁棒表示。预训练模型可以用作另一个学习算法中预处理的特征提取器,或用于初始化具有相似架构的模型,然后针对不同的分类任务进行微调。这种方法在Deep learning和Neural network实践中很常见,包括在Large language model开发中。
多个非平稳任务
传统上,MTL和知识迁移适用于平稳学习设置。它们扩展到非平稳环境被称为组在线自适应学习(GOAL)。当学习者在持续变化的环境中操作时,共享信息可能特别有用,因为学习者可以利用另一个学习者的先前经验来快速适应。这种组自适应学习在预测金融时间序列、内容推荐系统和自适应自主代理的视觉理解中具有应用。
多任务优化
多任务优化专注于解决整个优化过程,受预测分析中迁移学习和MTL的启发。关键动机是,如果优化任务在最优解或函数景观特征方面相关,则搜索进展可以转移以加速其他任务的搜索。成功不仅限于从简单到复杂任务的单向知识迁移;在实践中,尝试双向利用相关性。
方法与架构
MTL的关键挑战是将多个任务的学习信号组合到单个模型中。这取决于任务之间的一致性程度或矛盾程度。在Deep learning中常见的架构方法包括硬参数共享,其中跨任务使用共享隐藏层并带有任务特定的输出层,以及软参数共享,其中每个任务有自己的模型,参数通过正则化鼓励相似性。在基于Transformer (architecture)的模型中,MTL通常通过多任务微调实现,其中预训练模型同时训练多个目标,有时使用任务特定的头部。像Data Augmentation、Dropout和Batch Normalization这样的技术可以帮助正则化共享表示。诸如Adam (Optimizer)和Stochastic Gradient Descent Variants之类的优化方法被常用,并调整Learning Rate Scheduling以平衡任务损失。
应用与研究
MTL已应用于各个领域。在Computer vision中,像GoogLeNet和Residual Network (ResNet)架构这样的模型受益于对相关任务(如对象检测和分割)的联合训练。在自然语言处理中,来自OpenAI、Anthropic和Google DeepMind的Transformer (architecture)模型在预训练期间使用MTL处理多样化目标。在工业界,像Amazon Web Services、Microsoft Azure和Google Cloud这样的公司在他们的AI平台中提供MTL能力。包括MIT CSAIL、Stanford AI Lab、BAIR (Berkeley AI Research)和University of Toronto在内的研究机构做出了基础性贡献。著名研究人员包括Michael I. Jordan、Anima Anandkumar和rich-sutton(尽管不在提供的列表中,该领域有许多贡献者)。MTL还与Curriculum Learning交叉,其中任务按难度排序,以及Reinforcement Learning from AI Feedback (RLAIF),后者使用人类反馈处理多个目标。
挑战与未来方向
尽管有好处,MTL仍面临挑战,如负迁移,即不相关任务降低性能,以及平衡任务损失。正在开发多目标优化技术来处理权衡。截至2020年代初,研究继续关注自适应任务加权、任务分组方法以及将MTL扩展到非平稳和多代理设置。该范式仍然是Artificial intelligence中提高泛化和效率的核心工具。