过去十几年,人类可以说是在机器智能面前节节退败,屡败屡战。而多任务处理(multi-tasking),几乎是为数不多可以让我们“天生骄傲”的能力了。
比如,人可以同时打开8个网站、3份文档和一个facebook,即使正在专心处理其中一件事,只要突然收到一条回复或更新提醒,也能够快速安排的明明白白。
对机器而言,要在同一时间完成这样的任务显然有点难。因此,多任务处理一直被视作是人类所独有的的技能点。
然而,这个优势似乎也快要失守了。
deepmind一项最新的研究成果显示,借助其开发的popart方法来训练深度学习引擎,能够培养出可进行多任务处理的智能体,并且在实际的表现中超越了人类!
让机器“一心多用”的popart,究竟是如何工作的?
关于多任务学习的研究已经持续了大概20年之久,尽管一直没能像单任务学习(如alphago)那样做出什么夺人眼球的成果,但显然更符合我们对“机器模拟人脑”的想象。
毕竟在现实生活中,各种“学习任务”之间都有着千丝万缕的联系,比如当人在玩电子游戏时,图像识别、任务理解、执行操作并追求收益最大化,这些都可以在瞬间完成的操作,并且在任何一个游戏中都可以如法炮制,而机器目前只能通过分解成单个任务去学习并处理。
怎样指导机器在同一时间完成多个复杂任务,deepmind提出了一个新的方法“popart”,据说可以让机器在多任务处理上的成绩超越人类。
如名字所示,popart(preserving outputs precisely while adaptively rescaling targets),即在自适应重新缩放目标的同时精确保留原有输出。
有人可能会说,这句话里每个汉字我都认识,但凑在一起竟然完全不知道说的是啥?
不要方,我们今天就来“庖丁解牛”,告诉大家这个能够让机器“一心多用”的popart,究竟是何方神圣?
简单来说,popart的工作机制就是在机器对不同任务的学习数据进行加权之前,先对数据目标进行自动的“归一化”调整,再将其转换成原始数据输出给机器。
这一做法有两个好处:
一是让机器对不同奖励大小和频率的多个任务进行更稳健、一致的学习。
对于机器而言,多任务学习比单一任务学习更困难的最主要原因就是,多任务学习必须要将有限的资源分配给多个任务目标,但常规算法对不同任务设置的权重也有所不同。这就导致机器智能体会根据任务回报的多寡来选择执行哪些任务。
举个例子,同样是a游戏,机器在处理《pong》(一款乒乓球游戏)时只能得到-1、0或+1的奖励,而处理《吃豆人小姐》游戏时,则可以获得上千个积分,机器自然会更专注于执行后者。
即使开发者将单个奖励设置成一样的,随着不同游戏奖励频率的不同,差距还是会越来越大,依然会影响机器的判断。
结果就是,这个智能体会在处理某些任务上表现越来越好,但在其他任务上却越来越力不从心。
但popart可以很好地解决这个机器“偏心”的问题。
deepmind将popart应用在自己最常用的深度强化学习智能体impala上,让它同时处理57个atari经典游戏,结果令人震惊——
应用了popart的impala,不仅分数远远高于原始impala的表现,甚至超越了人类的成绩!
下图中可以看到,修正游戏数据权重后的impala(蓝色)性能表现接近于0%,与popart-impala中位数101%的华丽数据形成了鲜明对比。
简单来说,就是popart自适应调整了每个游戏中奖励分支的大小,让机器认为不同任务带给自己的奖励是相同的,拥有同等的学习价值,因此,尽管这57个游戏有着巨量的环境、不一样的动态和完全不同的奖励机制,但机器都能够对它们“一视同仁”。
据我们所知,这还是当前单个智能体首次超越人类在多任务处理上的表现。
popart的第二重作用,则是能够有效增加机器学习智能体的数据效率,降低训练成本。
deepmind发现,popart-impala与像素控制技术相结合,只需要不到十分之一的数据量,就能达到原来的训练效果,这使其数据效率大幅提升。
因此,popart-impala在大型多任务训练任务中,不仅比专家智能体dqn性能更高,而且更加便宜。
如果将训练任务放到云端,popart-impala的性能只用了2.5天就超过了dqn,gpu占用空间更小,直接促使训练成本大幅降低。
deepmind和openai,技术大佬为何都对“多任务学习”情有独钟?
除了popart,今年早期,deepmind还提出了另一种用于多任务训练的新方法——distral,通过捕捉不同任务之间的共同行为或特征,让机器算法可以在被限制的条件下实现任务共享,从而进行同步强化学习。
和deepmind一样跟“多任务学习”死磕的还有openai,则是利用迭代扩增方法,不给机器学习模型提供完整的标注数据,而是将每一项任务分解成小的子任务,再为子任务提供训练信号,训练ai去完成复杂任务。
此外,mit、apple等顶尖技术玩家都在捣鼓这项技术,然而如果你把这当做一个技术领域的“荣誉保卫战”或者论文制造机,那就大错特错了。
随着ai的泛在化越来越强,有越来越多的领域都亟待“多任务学习”能力来提供新的解决方案。
这意味着,人类不需要针对每一项任务都从头开始训练一个全新的智能体,而是可以构建一个通用的智能体,来支持多个应用之间的协同工作。
比如小到一台电视,很多ai电视都整合了众多功能,比如观看视频、天气预报、事务提醒、网络购物等等,如何在既不影响用户看视频,又能够用语音唤醒其他功能?这就要依靠多任务并行处理。换句话说,不具备多任务学习能力的ai电视,有的只是一个“假脑子”。
大到一个城市。在众多关于智慧城市的假想中,都少不了这样一个场面:城市大脑将人、车、路数据都接入系统,生成一个交通实时大试图,并以此完成交通系统的智能调度和管理,治疗“交通病”。这意味着,城市大脑需要进行摄像头识别、城市空间布局和设施配置、事件预警、政务服务等多个系统的学习,能够发掘出这些子系统之间的关系,又能区分这些任务之间的差别。缺了任何一环,都有可能导致这个城市大脑做出“奇葩”的决策。
当然,对于研究者来说,在用每一点进步无限逼近人类心智的“珠穆朗玛峰”。但对产业而言,任何新技术的落地都从来容不得一丝任性,因为每一颗种子都在等待丰收。
为了满足这个前提,就意味着所采取的方法不能以无限制地增加gpu容量和训练强度为代价。因为没有企业或者机构愿意以一种不计成本的方式上马ai,即便这个ai能够处理多线程任务,那还不如“单任务ai+人工”来的更加现实。
目前看来,成本更低的popart大有可为。
说了这么多,回到最开始的问题,ai的多任务处理能力真的超越人类了吗?
从苛刻的实验室数字角度讲,是的。但从广泛定义的智慧角度看,机器的每一点进步都还依赖于不断模拟和接近人脑的水平,距离否定人类本身的价值,还早着呢。
目前看来,处理多任务的学习能力更大的作用,还是提升ai在产业应用上的工程能力,用更高的智能为生活带来便利。
在英特尔AI开发板上用OpenVINO NNCF优化YOLOv7
语音智能市场现状:亚马逊第一,谷歌第二,苹果沦为第三
光学系统的坐标系统、结构参数和光学特性参数
浅谈Wi-Fi&BT4.1嵌入式模块——EMW3239
铂电阻温度传感器故障的处理措施
AI的多任务处理能力已经超越人类
GDB调试原理是什么?
虎年手机操作系统比拼,谁与Android争锋?!
RFID电子标签的安全性思考
相位差与相位关系、相位差的数字测量
频谱仪RBW那些事
细说VL817S与VL817-Q7的区别
ntc热敏电阻B值/电阻比的详细讲解
印度部署5G应用的路线图,华为受邀参与
TA8777N引脚功能的电压资料参数
苹果Siri音箱将无缘WWDC2017?或因制造工艺太先进
VR眼镜厉害了,不仅可以治中风还能戒毒
中兴通讯在5G时代下的网络建设和网络交付所面临的挑战探讨
单片机在现代电子系统的地位综述
让我们一起来认识下微内核吧