最后更新:2020-05-06 13:05:42 手机定位技术交流文章
谈到人工智能中的多任务学习,许多人可能会突然想到通用人工智能。从通俗的意义上讲,像《大英雄6》中的大白这样的护理机器人不仅能进行医学诊断,还能理解人的情感,完成像随行机器人那样的各种复杂任务。
然而,毕竟,白色只是科幻电影的产物。大多数现有的人工智能技术仍处于单一智能阶段,即机器智能只能完成一个简单的任务。在工业机器人中,画画的只能用来画画,而搬运的只能用来搬运。识别人脸的智能相机只能识别人脸。一旦人们戴上面具,算法必须重新调整。

当然,让单个代理实现多个任务也是人工智能领域的一个热门话题。最近,强化学习和多任务学习算法中表现最好的是DeepMind的Agent57,它在ALE数据集中的所有57个Atari游戏中都超过了人类。
当然,多任务学习不仅仅用于游戏策略。与现阶段的人工智能相比,我们人类是多任务学习的大师。我们不需要学习成千上万的数据样本来了解一些东西,我们不需要从头开始学习一切,但是我们可以通过类比来掌握类似的东西。
人工智能可以很容易地通过单一的智能粉碎人类,例如,它可以识别成千上万张人脸;然而,人工智能应该符合人类在多任务处理方面的普遍能力。
什么是多任务处理?
多任务学习(MTL)只是机器模仿人类学习行为的一种方法。人类的学习方式本身是广义的,即一项任务的知识可以转移到其他相关的任务中,不同任务的知识和技能可以相互促进。多任务学习包括多个相关任务的同时并行学习和梯度的同时反向传播。相关任务的训练信号中包含的特定领域的信息用于提高泛化能力。

(单任务学习和多任务学习的模型比较)
做一个形象类比。我们知道人类不像老虎和豹子那样擅长奔跑,不像猿那样擅长攀爬,不像鲸鱼和海豚那样擅长游泳,但是人类只能同时跑、爬和游泳。当应用于人工智能和人类智能时,我们通常认为人工智能在单个任务上表现更好,并超越人类专家,如AlphaGo。虽然人类可以胜任各种任务。
MTL是让人工智能实现这种人类能力的。一个更精确的学习模型,通过在多个任务的学习中共享有用的信息,帮助每个任务改进其学习。
这里需要注意的是多任务学习和迁移学习的区别。迁移学习的目标是将知识从一项任务转移到另一项任务。它的目的是使用一个或多个任务来帮助改进另一个目标任务。MTL希望多项任务能够相互帮助,相互提高。
在这里我们必须了解MTL的两个特点:
首先,任务是相关的。任务相关性是指几个任务的完成模式具有一定的相关性。例如,在人脸识别中,除了人脸特征的识别之外,还可以估计和识别性别和年龄,或者在不同类型的游戏中识别一些常见的规则,并且这种相关性将被编码到MTL模型的设计中。
第二,有不同类别的任务。MTL的任务分类主要包括监督学习任务、非监督学习任务、半监督学习任务、主动学习任务、强化学习任务、在线学习任务和多视角学习任务。因此,不同的学习任务对应不同的MTL设置。
共享表征和特征概括,理解MTL优势的两个关键
为什么在神经网络上同时训练多个任务会更好?
我们知道,深度学习网络是一个具有多个隐藏层的神经网络,它将输入数据逐层转换成非线性和更抽象的特征表示。每一层的模型参数不是人为设置的,而是在给定学习者的参数后在训练过程中学习的,这给多任务学习一个空的范围,并且具有足够的能力学习训练过程中多个任务的共同特征。

例如,在上述MTL网络中,反向传播并行作用于4个输出。由于四个输出共享底部的隐藏层,因此这些隐藏层中用于一个任务的要素表示也可以由其他任务使用,以促进多个任务一起学习。多个任务被并行训练并共享不同任务的学习特征表示,因此多任务信息有助于共享隐藏层以学习更好的内部表示,这成为多任务学习的关键。
那么MTL是如何产生结果的呢?
MTL的方法中引入了归纳偏差。感应偏置有两种效果。一是互相促进。多任务模型之间的关系可以看作是相互的先验知识,也称为归纳转移。利用模型的先验假设,可以更好地提高模型的效果。另一个效应是约束效应,它通过多任务间的噪声平衡和特征偏差来实现更好的泛化性能。
首先,MTL的引入可以减少深度学习对大数据量的依赖。具有少量样本的任务可以从具有大量样本的任务中学习一些共享表示,以缓解任务数据稀疏的问题。
第二,多任务直接相互促进,这体现在:①多种模式的特点相辅相成。例如,在网页分析模型中,改进点击率预测模型也可以促进转换模型学习更深层次的特征;②注意机制,MTL可以帮助训练模型关注重要特征,不同的任务会为这些重要特征提供额外的证据;(3)“窃听”任务的特征,即MTL可以允许不同任务“窃听”对方的特征,并通过“提示”训练模型直接预测最重要的特征。
第三,多任务的相互约束可以提高模型的泛化能力。一方面,多任务噪声平衡。多任务模型的不同噪声模式可以使多任务模型学习广义表征,避免单个任务的过度拟合,联合学习可以通过平均噪声模式获得更好的表征。另一方面,性格偏见。MTL的代表性偏好会导致模型偏差。然而,这将有助于将模型推广到未来的新任务。在任务来源相同的前提下,通过学习一个足够大的假设空,我们可以在未来的一些新任务中获得更好的泛化性能。
当工业场景落地时,MTL如何解决实际问题
由于MTL具有减少对大数据样本依赖和提高模型泛化性能的优点,MTL被广泛应用于各种卷积神经网络的模型训练。
首先,多任务学习可以学习多个任务的共享表示。这种共享表示具有很强的抽象能力,能够适应多个不同但相关的目标,并且通常能够使主任务获得更好的泛化能力。
其次,由于使用共享表示,当同时预测多个任务时,数据源的数量和整体模型参数的大小减少,使得预测更有效。
我们以MTL在目标识别、检测和分割等计算机视觉中的应用为例。
如人脸特征点检测。因为面部特征可能会受到遮挡和姿势变化的影响。MTL可以提高检测的鲁棒性,而不是将检测任务作为一个独立的问题来处理。
多任务学习希望将优化的面部特征点检测与一些不同但稍微相关的任务相结合,例如头部姿态估计和面部属性推断。人脸特征点检测不是一个独立的问题,它的预测会受到一些不同但又略有关联的因素的影响。例如,一个微笑的孩子会张开嘴。有效地发现和利用这个相关的面部属性将有助于更准确地检测嘴角。

在上面所示的面部特征点检测(TCDCN)模型中,除了检测特征点的任务之外,还有识别眼镜、笑脸、性别和姿势的四个辅助任务。通过与其他网络的比较,可以看出辅助任务使得对主要任务的检测更加准确。
MTL在不同领域有不同的应用,其模式不同,解决的应用问题也不同,但在各自的领域有一些特点。除了上述计算机视觉领域,MTL还可以用于许多领域,如生物信息学、健康信息学、语音、自然语言处理、网络垃圾邮件过滤、网页检索和普适计算,以提高其各自应用的效果和性能。
例如,在生物信息学和健康信息学中,MTL被应用于识别治疗目标反应的特征性作用机制,通过多个群体的相关性分析来检测因果遗传标记,以及通过稀疏贝叶斯模型的自动相关性特征来预测阿尔茨海默病的神经成像测量的认知结果。
语音处理中的应用。2015年,一些研究人员在国际声学、语音和信号处理会议(ICASSP)上分享了一篇题为“基于多任务学习的深层神经网络语音合成”的论文,并提出了一种多任务分层深层神经网络。它由多个神经网络组成。前一个神经网络使用其最上层的输出作为语音合成的下一个神经网络的输入。每个神经网络有两个输出单元。通过在两个任务之间共享隐藏层,一个用于主任务,另一个用于辅助任务,从而更好地提高语音合成的准确性。
在网络应用程序中,MTL可以用于不同的任务来共享一个特征表示,并学习网络搜索中的排名提升。MTL可以通过一种可扩展的分层多任务学习算法来发现最大化广告转换的分层结构和结构稀疏性。
一般来说,在这些MTL应用领域中,特征选择方法和深度特征转换方法被研究者广泛使用。因为前者可以降低数据的维数并提供更好的可解释性,而后者通过学习强大的特征表示可以获得良好的性能。

MTL作为一种提高神经网络学习能力的手段,在越来越多的领域得到了广泛的应用。这正是人工智能在许多行业的常态化场景。
我们最终可以追溯和反思,人类之所以能够具有多任务学习的灵活应用能力,正是因为他们所处的环境是多特征、多噪声的环境,这就不可避免地要求我们人类能够通过类比来传递先前的学习能力。然而,如果人工智能仅仅停留在单一的智能上,为每一种知识或任务建立一个单独的模型,它最终可能仍然是一个“人工智能迟钝”的机械系统,导致“白马非马”这样的笑话。
当人工智能不仅能像人类一样熟练地进行整合,而且还能克服人类认知带宽和未来的一些认知偏差时,通往AGI的道路可能会迎来一线曙光。当然,这条路还很远。
本文由 在线网速测试 整理编辑,转载请注明出处。