当AI实现多任务学习,它究竟能做什么?

简介: 多任务学习,让AI更具实用价值

云栖号资讯:【点击查看更多行业资讯
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!

编者按:本文来自微信公众号“脑极体”(ID:unity007),作者:海怪,36氪经授权发布。

提到AI领域的多任务学习,很多人可能一下子就想到通用人工智能那里了。通俗意义上的理解,就像《超能陆战队》里的大白这样一种护理机器人,既能进行医疗诊断,又能读懂人的情绪,还能像陪伴机器人一样完成各种复杂任务。

不过大白毕竟只是科幻电影当中的产物,现有的AI技术大多还处于单体智能的阶段,也就是一个机器智能只能完成一项简单任务。工业机器人中做喷漆的就只能用来喷漆,做搬运的只能用来搬运;识别人脸的智能摄像头只能进行人脸,一旦人类戴上口罩,那就要重新调整算法。

v2_33c1ed44f48a46e3952f67293791d89c_img_000_jpeg

当然,让单个智能体实现多种任务也是当前AI领域研究的热点。最近,在强化学习和多任务学习算法上成绩最好的是DeepMind公司的一款名为Agent57的智能体,该智能体在街机学习环境(ALE)数据集所有57个雅达利游戏中实现了超越人类的表现。

当然,多任务学习不止用在游戏策略上。相对于现阶段的AI,我们人类才是能够进行多任务学习的高手。我们既不需要学习成千上万的数据样本就可以认识某类事物,我们又不用针对每一类事物都从头学起,而是可以触类旁通地掌握相似的东西。

AI在单体智能上面确实可以轻松碾压人类,比如可以识别成千上万的人脸;但AI在多任务学习上面就要向人类的这种通用能力看齐了。

什么是多任务学习?

多任务学习(Multi-Task Learning,MTL),简单来说,就是一种让机器模仿人类学习行为的一种方法。人类的学习方式本身就是泛化的,也就是可以从学习一种任务的知识迁移到其他的相关的任务上,而且不同的任务的知识技能可以相互帮助提升。多任务学习涉及多个相关的任务同时并行学习,梯度同时反向传播,利用包含在相关任务训练信号中的特定领域的信息来改进泛化能力。

v2_fb8e8f8c3a0c4beeb4fface2fa729e17_img_000_jpeg

(单任务学习和多任务学习的模型对比示意)

做一个形象的类比。我们知道人类不如虎豹擅跑,不如猿猴擅爬,也不如鲸豚擅游,但是人类是唯独可以同时做到奔跑、攀援和游泳的。用在人工智能和人类智能上,我们通常认为AI更擅于在单一任务上表现优异并超越人类专家,如AlphaGo一样;而人类则可能在各种任务上都能胜任。

MTL正是要让人工智能来实现人类的这种能力。通过在多个任务的学习中,共享有用的信息来帮助每个任务的学习都得到提升的一个更为准确的学习模型。

这里需要注意的是多任务学习和迁移学习的区别。迁移学习的目标是将知识从一个任务迁移到另一个任务,其目的是使用一个或多个任务来帮助另一个目标任务提高,而 MTL 则是希望多个任务之间彼此能相互帮助提升。

这里我们就要搞清楚MTL的两个特征:

一、是任务具有相关性。任务的相关性是说几种任务的完成模式是存在一定的关联性的,比如,在人脸识别中,除了对人脸特征的识别,还可以进行性别、年龄的估算识别,或者,在不同的几类游戏中识别出共通的一些规则,这种相关性会被编码进 MTL 模型的设计当中。

二、是任务有不同的分类。MTL的任务分类主要包括监督学习任务、无监督学习任务、半监督学习任务、主动学习任务、强化学习任务、在线学习任务和多视角学习任务,因此不同的学习任务对应于不同的MTL设置。

共享表示和特征泛化,理解MTL 优势的两个关键

为什么在一个神经网络上同时训练多个任务的学习效果可能会更好?

我们知道,深度学习网络是具有多个隐层的神经网络,逐层将输入数据转化成非线性的、更抽象的特征表示。而各层的模型参数不是人为设定的,而是给定学习器的参数后在训练过程中学到的,这给了多任务学习施展拳脚的空间,具备足够的能力在训练过程中学习多个任务的共同特征。

v2_bb331b2d157749e9a332770b676ebbe6_img_000_jpeg

例如在上面的MTL的网络中,后向传播并行地作用于4个输出。由于4个输出共享底部的隐层,这些隐层中用于某个任务的特征表示也可以被其他任务利用,促使多个任务共同学习。多个任务并行训练并共享不同任务已学到的特征表示,这样多任务信息就有助于共享隐层学到更好的内部表示,这成为多任务学习的关键。

那么MTL是如何产生效果的?

MTL的方法中引入了归纳偏置(inductive bias)。归纳偏置有两个效果,一个是互相促进,可以把多任务模型之间的关系看作是互相先验知识,也称归纳迁移(inductive transfer),有了对模型的先验假设,可以更好的提升模型的效果;另外一个效果是约束作用,借助多任务间的噪声平衡以及表征偏置来实现更好的泛化性能。

首先,MTL的引入可以使得深度学习减少对大数据量的依赖。少量样本的任务可以从大样本量的任务中学习一些共享表示,以缓解任务数据的稀疏问题。

其次,多任务直接的相互促进,体现在:①多个模型特性互相弥补,比如在网页分析模型中,改善点击率预估模型也同时能促进转化模型学习更深层的特征;②注意力机制,MTL可以帮助训练模型专注在重要特征上面,不同的任务将为这种重要特征提供额外证据;③任务特征的“窃听”,也就是MTL可以允许不同任务之间相互“窃听”对方的特征,直接通过“提示”训练模型来预测最重要的特征。

再次,多任务的相互约束可以提高模型的泛化性。一方面多任务的噪声平衡。多任务模型的不同噪声模式可以让多个任务模型学到一般化的表征,避免单个任务的过度拟合,联合学习能够通过平均噪声模式获得更好的表征;另一方面,表征偏置。MTL的表征偏好会造成模型偏差。但这将有助于模型在将来泛化到新任务。在任务同源的前提下,可以通过学习足够大的假设空间,在未来某些新任务中得到更好的泛化表现。

行业场景落地,MTL如何解决现实问题

由于MTL具有减少大数据样本依赖和提高模型泛化表现的优势,MTL正被广泛应用到各类卷积神经网络的模型训练当中。

首先,多任务学习可以学到多个任务的共享表示,这个共享表示具有较强的抽象能力,能够适应多个不同但相关的目标,通常可以使主任务获得更好的泛化能力。

其次,由于使用共享表示,多个任务同时进行预测时,减少了数据来源的数量以及整体模型参数的规模,使预测更加高效。

我们以MTL在诸如目标识别、检测、分割等场景为主的计算机视觉的应用为例。

比如脸部特征点检测。因为脸部特征可能会受到遮挡和姿势变化等问题的影响。通过MTL能够提高检测健壮性,而不是把检测任务视为单一和独立的问题。

多任务学习希望把优化脸部特征点检测和一些不同但细微相关的任务结合起来,比如头部姿势估计和脸部属性推断。脸部特征点检测不是一个独立的问题,它的预测会被一些不同但细微相关的因素影响。比如一个正在笑的孩子会张开嘴,有效地发现和利用这个相关的脸部属性将帮助更准确地检测嘴角。

v2_034458bbfd6d4db998b7b3052e07829a_img_000

如上图人脸特征点检测(TCDCN)模型,除了检测特征点任务,还有识别眼镜、笑脸、性别和姿态这四个辅助任务,通过与其它网络的对比,可以看出辅助任务使主任务的检测更准确。

MTL在不同领域有不同应用,其模型各不相同,解决的应用问题也不尽相同,但在各自的领域都存在着一些特点,除上面介绍的计算机视觉领域,还有像生物信息学、健康信息学、语音、自然语言处理、网络垃圾邮件过滤、网页检索和普适计算在内的很多领域,都可以使用 MTL 来提升各自的应用的效果和性能。

比如,在生物信息学和健康信息学中,MTL被应用于识别治疗靶点反应的特征作用机制,通过多个群体的关联性分析来检测因果遗传标记,以及通过稀疏贝叶斯模型的自动相关性特征,来预测阿尔茨海默病的神经成像测量的认知结果。

在语音处理上的应用。2015年,有研究者在国际声学、语音与信号处理会议(ICASSP)上分享了一篇《基于多任务学习的深度神经网络语音合成》的论文,提出一种多任务叠层深层神经网络。它由多个神经网络组成,前一个神经网络将其最上层的输出作为下一个神经网络的输入,用于语音合成,每个神经网络有两个输出单元,通过共享两个任务之间的隐藏层,一个用于主任务,另一个用于辅助任务,从而更好地提升语音合成的准确度。

在网络Web应用程序中,MTL可以用于不同任务共享一个特征表示,学习web搜索中的排名提升;MTL可以通过可扩展分层多任务学习算法,用于找到广告中转换最大化的层次结构和结构稀疏性等问题。

总体上来说,在这些MTL的应用领域中,特征选择方法和深度特征转换方法得到研究者的普遍应用。因为前者可以降低数据维数并提供更好的可解释性,而后者通过学习强大的特征表示可以获得良好的性能。

v2_3f198afa0b48483ab3cfd19fdadbb8c0_img_000_jpeg

MTL正在越来越多的领域作为一种提高神经网络学习能力的手段被广泛应用。这其实正是AI在众多行业实际应用中的常态化场景。

我们可以最终溯源反思一下,人类之所以能够具有多任务学习的灵活应用的能力,恰恰是因为所处环境正是处在多特征、多噪声的状况之下,这样必然要求我们人类必须能够触类旁通地进行先验的学习能力的迁移。而如果人工智能仅仅停留在单体智能上面,为每一类知识或任务都建立一套单独的模型,最后可能仍然只是一套“人工智障”的机械系统,闹出“白马非马”这类的笑话来。

当AI未来真正既能在融会贯通的方面像人类一样熟练,又能克服人类认知带宽和一些认知偏见,那通向AGI的前路才可能迎来一丝曙光。当然这条路还相当遥远。

【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/live

立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

原文发布时间:2020-05-06
本文作者:脑极体
本文来自:“36Kr”,了解相关信息可以关注“36Kr

相关文章
|
10天前
|
机器学习/深度学习 数据采集 人工智能
AI赋能教育:深度学习在个性化学习系统中的应用
【10月更文挑战第26天】随着人工智能的发展,深度学习技术正逐步应用于教育领域,特别是个性化学习系统中。通过分析学生的学习数据,深度学习模型能够精准预测学生的学习表现,并为其推荐合适的学习资源和规划学习路径,从而提供更加高效、有趣和个性化的学习体验。
61 9
|
4天前
|
人工智能 自然语言处理 搜索推荐
AI辅助教育:个性化学习的新纪元
【10月更文挑战第31天】随着人工智能(AI)技术的发展,教育领域迎来了一场前所未有的变革。AI辅助教育通过智能推荐、语音助手、评估系统和虚拟助教等应用,实现了个性化学习,提升了教学效率。本文探讨了AI如何重塑教育模式,以及个性化学习在新时代教育中的重要性。
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
探索AI驱动的个性化学习平台构建###
【10月更文挑战第29天】 本文将深入探讨如何利用人工智能技术,特别是机器学习与大数据分析,构建一个能够提供高度个性化学习体验的在线平台。我们将分析当前在线教育的挑战,提出通过智能算法实现内容定制、学习路径优化及实时反馈机制的技术方案,以期为不同背景和需求的学习者创造更加高效、互动的学习环境。 ###
26 3
|
23天前
|
机器学习/深度学习 人工智能 Cloud Native
在AI师傅(AI-Shifu.com)学习通义灵码的旅程
在这个数字化时代,编程技能愈发重要。通过AI师傅平台,我接触并学习了阿里云推出的通义灵码。从初识到深入学习,我系统掌握了云计算基础、云原生技术、数据库管理和大数据与人工智能等方面的知识。通过实践项目,我不仅巩固了理论,还提升了实际操作能力。通义灵码的易用性和强大功能,让我对云计算有了全新认识。感谢AI师傅提供的学习机会,推荐大家参与征文活动,共同分享学习成果。
|
22天前
|
人工智能
|
10天前
|
安全 搜索推荐 机器学习/深度学习
AI赋能教育:深度学习在个性化学习系统中的应用
【10月更文挑战第26天】在人工智能的推动下,个性化学习系统逐渐成为教育领域的重要趋势。深度学习作为AI的核心技术,在构建个性化学习系统中发挥关键作用。本文探讨了深度学习在个性化推荐系统、智能辅导系统和学习行为分析中的应用,并提供了代码示例,展示了如何使用Keras构建模型预测学生对课程的兴趣。尽管面临数据隐私和模型可解释性等挑战,深度学习仍有望为教育带来更个性化和高效的学习体验。
35 0
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
AI大模型学习
本文概述了AI大模型学习的五个主要方向:理论基础、训练与优化、特定领域应用、伦理与社会影响,以及未来发展趋势与挑战。
61 1
|
4天前
|
存储 XML 人工智能
深度解读AI在数字档案馆中的创新应用:高效识别与智能档案管理
基于OCR技术的纸质档案电子化方案,通过先进的AI能力平台,实现手写、打印、复古文档等多格式高效识别与智能归档。该方案大幅提升了档案管理效率,确保数据安全与隐私,为档案馆提供全面、智能化的电子化管理解决方案。
78 48
|
4天前
|
机器学习/深度学习 人工智能 自然语言处理
当前AI大模型在软件开发中的创新应用与挑战
【10月更文挑战第31天】2024年,AI大模型在软件开发领域的应用取得了显著进展,从自动化代码生成、智能代码审查到智能化测试,极大地提升了开发效率和代码质量。然而,技术挑战、伦理与安全问题以及模型可解释性仍是亟待解决的关键问题。开发者需不断学习和适应,以充分利用AI的优势。
|
4天前
|
人工智能 安全 测试技术
探索AI在软件开发中的应用:提升开发效率与质量
【10月更文挑战第31天】在快速发展的科技时代,人工智能(AI)已成为软件开发领域的重要组成部分。本文探讨了AI在代码生成、缺陷预测、自动化测试、性能优化和CI/CD中的应用,以及这些应用如何提升开发效率和产品质量。同时,文章也讨论了数据隐私、模型可解释性和技术更新等挑战。

热门文章

最新文章

下一篇
无影云桌面