本篇文章3496字,读完约9分钟
说到人工智能领域的多任务学习,很多人可能会突然想到一般的人工智能。从流行的意义上来说,就像《大英雄6》中的护理机器人大败一样,它不仅能做出医学诊断,还能读懂人的情感,还能像同伴机器人一样完成各种复杂的任务。
然而,大败只是科幻电影的产物,现有的人工智能技术大多还处于单一智能阶段,即机器智能只能完成简单的任务。工业机器人中的喷漆只能用于喷漆,而搬运只能用于搬运;识别人脸的智能相机只能识别人脸。一旦人们戴上面具,算法必须重新调整。
当然,让单个代理实现多任务也是人工智能领域的一个研究热点。最近,deepmind公司的agent57在强化学习和多任务学习算法方面取得了很大的成就,该agent在ale数据集中的所有57个雅达利游戏中都取得了优于人类的性能。
当然,多任务学习不仅用于游戏策略。与当前的人工智能相比,我们人类是多任务学习的主人。我们不需要学习成千上万的数据样本来了解一些东西,也不需要从零开始学习一切,但是我们可以通过类比来学习类似的东西。
人工智能可以轻易地凭借单一的智能击败人类,比如识别成千上万张脸;然而,人工智能应该跟上人类在多任务学习中的普遍能力。
什么是多任务学习?
简单来说,多任务学习(mtl)是机器模仿人类学习行为的一种方式。人类的学习方式本身是广义的,即它可以从学习一个任务转移到其他相关的任务,不同任务的知识和技能可以相互帮助提高。多任务学习涉及多个相关任务的同时并行学习、梯度的同时反向传播以及通过使用包含在相关任务训练信号中的特定领域信息来提高泛化能力。
(单任务学习和多任务学习之间的模型比较)
打个比方。我们知道人类不像老虎和豹子那样擅长跑、爬或游泳,但是人类只能同时跑、爬和游泳。在人工智能和人类智能中,我们通常认为人工智能在单一任务上表现更好,并超越人类专家,如阿尔法戈;尽管人类可以胜任各种任务。
Mtl希望人工智能能够实现人类的这种能力。一个更精确的学习模型,它通过在多个任务的学习中共享有用的信息来帮助改进每个任务的学习。
这里需要注意的是多任务学习和迁移学习的区别。迁移学习的目标是将知识从一个任务转移到另一个任务,其目的是使用一个或多个任务来帮助另一个目标任务改进,而mtl希望多个任务可以相互帮助改进。
在这里,我们需要了解mtl的两个特征:
首先,任务是相关的。任务相关性意味着几个任务的完成模式之间存在一定的相关性。例如,在人脸识别中,除了人脸特征的识别之外,还可以估计和识别性别和年龄,或者在不同类型的游戏中识别一些共同的规则,并且这种相关性将被编码到mtl模型的设计中。
其次,任务有不同的分类。mtl的任务分类主要包括监督学习任务、非监督学习任务、半监督学习任务、主动学习任务、强化学习任务、在线学习任务和多视角学习任务,因此不同的学习任务对应不同的mtl设置。
共享表示和特征概括,
理解多媒体教学优势的两个关键
为什么在一个神经网络上训练多个任务更好?
众所周知,深度学习网络是一种具有多个隐含层的神经网络,它将输入数据逐层转化为非线性和更抽象的特征表示。但是,每一层的模型参数不是人为设定的,而是在学习者的参数给定后在训练过程中学习的,这就给出了多任务学习/0/,并且在训练过程中有足够的能力学习多个任务的共同特征。
例如,在上述mtl网络中,反向传播并行作用于四个输出。因为四个输出共享底部的隐藏层,所以用于这些隐藏层中的一个任务的特征表示也可以被其他任务利用,从而促使多个任务一起学习。多任务并行训练,共享不同任务学习到的特征表示,使得多任务信息有助于共享隐藏层,学习更好的内部表示,成为多任务学习的关键。
那么mtl是如何工作的呢?
在mtl方法中引入了诱导偏差。归纳偏差有两种效应,一种是相互促进,多任务模型之间的关系可以看作是相互的先验知识,这也称为归纳迁移。通过模型的先验假设,可以更好地提高模型的效果;另一个影响是约束,它通过在多个任务和表征偏差之间的噪声平衡来实现更好的泛化性能。
首先,mtl的引入可以减少深度学习对大量数据的依赖。具有少量样本的任务可以从具有大量样本的任务中学习一些共享表示,以缓解任务数据稀疏的问题。
其次,多任务直接相互促进,这体现在:①多模型的特点相互弥补。例如,在网页分析模型中,改进点击率预测模型还可以促进转换模型学习更深层次的特征;②注意机制,mtl可以帮助训练模型关注重要特征,不同的任务会为这一重要特征提供额外的证据;(3)任务特征的“窃听”,即mtl可以让不同的任务“窃听”对方的特征,并通过“提示”训练模型直接预测特征。
第三,多任务的相互约束可以提高模型的泛化能力。一方面,多任务噪声平衡。多任务模型的不同噪声模式可以使多任务模型学习广义表征,避免单一任务的过度拟合,联合学习可以通过平均噪声模式获得更好的表征;另一方面,描述偏见的特征。mtl的表示偏好会导致模型偏差。但这将有助于模型在未来推广到新的任务。在任务同源的前提下,通过学习足够多的假设空.,我们可以在未来的一些新任务中获得更好的泛化性能
当行业前景黯淡时,mtl如何解决真正的问题
由于mtl具有减少大数据样本依赖性和提高模型泛化性能的优点,因此被广泛应用于各种卷积神经网络的模型训练中。
首先,多任务学习可以学习多个任务的共享表示。这种共享表示具有很强的抽象能力,能适应许多不同但相关的目标,并且通常能使主要任务得到更好的泛化能力。
其次,由于共享表示的使用,当同时预测多个任务时,数据源的数量和整个模型参数的规模都减少了,这使得预测更加有效。
我们以mtl在计算机视觉中的应用为例,如目标识别、检测和分割。
例如面部特征点检测。因为面部特征可能会受到遮挡和姿势变化的影响。mtl可以提高检测的鲁棒性,而不是将检测任务作为一个独立的问题来处理。
多任务学习希望将优化的面部特征点检测与一些不同但略有关联的任务相结合,例如头部姿态估计和面部属性推断。人脸特征点检测不是一个独立的问题,它的预测会受到一些不同但略有关联的因素的影响。例如,一个微笑的孩子会张开嘴,有效地发现和利用这个相关的面部属性将有助于更准确地检测嘴角。
如上所示的人脸特征点检测模型(tcdcn)除了检测特征点的任务外,还有四个辅助任务,即眼镜、笑脸、性别和姿势。与其他网络相比,可以看出辅助任务使得对主任务的检测更加准确。
Mtl在不同领域有不同的应用,其模型不同,解决的应用问题也不同,但在各自的领域都有一些特点。除了上述计算机视觉领域之外,还有许多领域,如生物信息学、健康信息学、语音、自然语言处理、垃圾邮件过滤、网页检索和普适计算,所有这些领域都可以使用mtl来提高各自应用的效果和性能。
例如,在生物信息学和健康信息学中,mtl被用于识别治疗目标反应的特征机制,通过多个群体的关联分析检测因果遗传标记,以及通过稀疏贝叶斯模型的自动相关特征预测阿尔茨海默病的神经影像测量的认知结果。
语音处理中的应用。2015年,一些研究人员在国际声学、语音和信号处理会议(icassp)上分享了一篇题为《基于多任务学习的深层神经网络语音合成》的论文,并提出了一种多任务分层深层神经网络。它由几个神经网络组成。前一个神经网络使用其最高输出作为语音合成的下一个神经网络的输入。每个神经网络有两个输出单元。通过在两个任务之间共享隐藏层,一个用于主任务,另一个用于辅助任务,语音合成的准确性得到了更好的提高。
在web应用程序中,mtl可用于共享不同任务的特征表示,从而提高web搜索的排名。Mtl可以通过可伸缩的分层多任务学习算法来发现广告中变换的层次结构和结构稀疏性。
一般来说,在这些mtl应用领域中,特征选择方法和深度特征转换方法被研究者广泛使用。因为前者可以降低数据维数并提供更好的可解释性,而后者通过学习强大的特征表示可以获得良好的性能。
Mtl作为一种提高神经网络学习能力的手段,在越来越多的领域得到了广泛的应用。这实际上是人工智能在许多行业的常态化场景。
我们终于可以追踪源头,反思它。人类之所以具有灵活应用多任务学习的能力,正是因为人类所处的环境是多特征、多噪声的条件下,这就不可避免地要求我们人类能够通过类比来传递先验学习能力。然而,如果人工智能只停留在单一智能上,为每一种知识或任务建立一个单独的模型,它最终可能仍然只是一个“人工智能迟钝”的机械系统,制造“白马非马”的笑话。
当人工智能在整合方面像人类一样熟练,并在未来克服人类认知带宽和一些认知偏见时,通向敏捷智能的道路可能会迎来一线曙光。当然,这条路还很远。
标题:当AI实现多任务学习,它究竟能做什么?
地址:http://www.hcsbodzyz.com/hcxw/415.html