前言
多任务学习(Multi-task Learning, MTL)在机器学习领域应用广泛,比如自然语言处理和计算机视觉等领域,这也侧面反映了 MTL 的有效性。本文将从 MTL 的概念、使用动机、常用方式以及为什么有效等方面展开描述。
本文主要参考自论文:An Overview of Multi-Task Learning in Deep Neural Networks
概念
在机器学习领域中,我们通常针对单个任务指标来训练模型,并忽视了一些能够帮助模型提升该指标的信息,而这些信息往往指其他相关任务(附属任务)的训练信号。
通过共享相关任务之间的特征表达(representations),能使模型在原始的任务上具有更好的泛化性能,这种方法就是 多任务学习。
设计动机(Motivation)
我们可以从不同的角度来看 MTL 的动机:
一是从 生物学角度,可以看出 MTL 受人类学习方式的启发,当遇到一个新的问题,我们人类通过会运用从其他相关问题中得到的知识,比如一个婴儿会先学会如何辨别人脸,然后就可利用这些知识去辨别其他的物体。
二是从 教育学角度,在学习一个较为复杂的技术前,我们通常会先去学习那些能辅助我们学习该复杂技术的简单或基础的技术。
最后从 机器学习角度,我们可将 MTL 看作是 归纳迁移(inductive transfer)的一种形式,归纳迁移通过引入 归纳偏置(inductive bias)来提升模型性能。归纳偏置会引导模型在面对大量假设时偏向于某种假设。例如,L1 正则化就是一种常见的归纳偏置,其会迫使模型的参数更加稀疏。在 MTL 中,归纳偏置由附属任务提供,这会令模型更倾向于能够同时解释多个任务的假设,也通常会让模型具有更好的泛化能力。
在深度学习中常见的使用方式
“硬”参数共享(Hard parameter sharing)
图 1. 深度学习中的硬参数共享
该种方法在 MTL 应用于神经网络最常用的方法,其为所有任务共享隐藏层,并为各个任务保留面向特殊任务的输出层,如 图 1.
硬参数共享能极大的降低模型 过拟合 的风险,这里面的思想很直观:同时学习的任务越多,模型就越需要去寻找一种能够同时应付所有任务的特征表达,也就降低了其在原始任务上的过拟合的概率。
“软”参数共享(Soft parameter sharing)
Figure 2. 深度学习中的软参数共享
在软参数共享方法中,各个任务拥有自己的模型与参数,这些模型参数之间的距离会被规范起来以鼓励这些参数能够比较相似。例如可以使用 L2 范数作为规范手段。
另外,文献 Deep multi-task learning with low level tasks supervised at lower layers 中指出,当低层次的任务(如,自然语言处理中的词性标注、命名实体识别)被作为附属任务时,其应该在模型结构中较为底层的位置作为监督信号辅助更高层次的任务。
MTL 为什么会有效?
虽然,通过 MTL 获取的归纳偏置是 MTL 有效的主要原因这一观点听起来比较可信,但为了更好地理解 MTL,我们仍需要去了解其背后的运作机制。
隐式的数据增强(Implicit data augmentation)
所有任务或多或少地都会有一些噪音,当针对任务 A 训练模型时,目标是为该任务学习到一个好的表达,在理想情况下能忽视数据相关的噪音并具有良好的泛化性。由于不同任务具有不同的噪音模式,一个同时学习两个任务的模型能够学习到一个更为通用的表达,从而减少模型在单个任务上过拟合的风险。
注意力分配(Attention focusing)
如果一个任务具有很多的噪音或是训练数据有限,那么一个模型来说是很难区分相关和无关特征的。由于其他任务可以提供区分相关和无关特征的额外“证据”,MTL 可帮助模型将注意力分配在那些在其他任务中也较为重要的特征上。
“偷师学艺”(Eavesdropping)
假设存在一些特征 G,这些特征对于任务 B 来说可以轻易的学习到,但对于任务 A 来说却极为困难。这可能是任务 A 以一种更为复杂的方式与特征 G 交互,或是其他特征阻碍了其学习特征 G。
通过 MTL,我们可以让任务 A 偷师学艺,让他通过任务 B 来学习特征 G。
表达偏置(Representation bias)
MTL 能迫使模型倾向于学习其他任务也需要的表达,这会帮助模型更好地泛化到新任务上。因为有假设认为,在大量任务上表现出色的模型大概率会在新任务上拥有不错的效果,只要这些任务具有相同的背景(或者说这些任务时相关的)。
正则化(Regularization)
MTL 可看作是一个引入归纳偏置的正则化措举,能够减少模型的 Rademacher 复杂度和过拟合的风险。(Rademacher 复杂度本人也不太懂,读者若感兴趣可自行参阅资料)
总结
本文从概念、使用动机、常用方式以及为什么有效等方面详细介绍了多任务学习。