当前位置:昱宏生物> 产业新闻
栏目类别

如何与机器共生?机器智能必将超越人类智能

2020年,会有500亿台设备接入互联网。而在更远的未来,会有数倍于人类的智能设备与网络连接。这样巨大的网络,会带来怎样的效应?人类又会以怎样的模式存在其中?

机器智能未来必将超越人类智能

过去这些年里,机器智能的边界在不断扩展。智能机器人领域的研究已经持续了四五十年。不只是原始的工业机器人,服务机器人也有30多年的研究历史。这些研究大大增强了机器的运行能力,使机器可以替代人类自己进行活动,甚至某些能力已经超越了人类。目前,这些技术已经大量投入使用。而且近五六年来,机器学习的算法发展得很快,尽管距离机器完全理解“发生了什么”还有很长一段路要走。随着更好、更便宜的硬件和传感器出现,以及设备之间实现无线低延迟互联,还有源源不断的数据输入,机器的感知、理解和联网能力会有更广阔的发展空间。基于这些观察,我得出了这样一个结论:机器智能未来必将超越人类智能。然而,我无法确定它会在何时发生,也没有像奇点理论那样给出一个确切的时间点,比如2035年或者哪一年,但这个趋势一定是存在的。

 
如果这个趋势必然发生的话,我们就要思考:人类智能和机器智能的关系到底是什么样的?未来机器智能强大到一定程度的时候,我们要如何与机器共生?如果我们希望得到一种比较好的结果,又该怎么做?从人类个体的智能来看:人类智能的发展上限是很明显的,因为人类的脑容量有限,能够记住的东西也很受限。举个简单的例子,由于时代的发展,我们与父辈相比,或者我们的孩子与我们相比,所学知识的广泛度和先进程度是非常不一样的。也许20年后,像我们这样年纪的人,他们的智能会超过现在的我们。但是能超出多少?会是我们的2倍吗?可能没有那么多。从空间维度来看:把多个不同专业背景的人聚在一起,可以促成一些更大的事情发生,催生一些更好的创意。但人员过多可能就不行了,因为相关度下降,边际效应递减,而且不容易统一意见。我认为这个人数的上限是100人左右。
 
那么人类多年来取得的巨大进步和整个社会的发展靠的是什么?靠的是各种各样的技术突破和对工具的巧妙利用。在过去的数百年里,人类学会了使用机械能,学会了用电,学会了制造各种机械,学会了制造飞机、汽车;在过去的数十年里,人类学会了计算机、互联网、云计算、人工智能和5G通信技术。这些都是可以利用的工具,包括运用云端的智能扩展信息和知识搜索的广度、加深推理的深度、帮助我们做非常复杂的运算。我们需要更好地掌握和利用这些技术,帮助人类最大程度地发挥智能潜力。
 
人类智能的边界在于如何与越来越强大的机器连接,把机器作为人类的扩充。
 
基于这些思考,人类智能的边界其实在于如何与越来越强大的机器(这里把机器作为各种新技术的载体)连接,把机器作为人类的扩充。对于机器智能的发展,人类当然可以发挥设计者和管理者的作用。如果不能很好地运用机器智能,人类就有可能被其控制。但是我相信,在未来,人类在很大程度上可以很好地与机器连接并利用它们,而人类的智能水平也会得到大幅提升。
 
机器智能跃迁的三大要素
 
机器智能的发展与三大要素有关:第一是认知能力,第二是学习能力,第三是处理不确定性的能力。认知能力即对周围环境,包括人、物及其关系的理解能力——不只是看到,还要能够理解这里正在发生什么和未来可能会发生什么。不过,拥有认知能力不等于拥有学习能力。也许机器完全能够处理眼前的状况,但它能够自己学习与提高吗?不一定。机器学习的未来发展有三种可能:第一种可能是,机器继续在人的帮助下学习,我们通过标注一些结果、内容来训练它们;第二种可能是,我们只通过视频来展现动作,让机器自己学习;第三种可能是,机器从自身生成的样本、从自然界,或者从人类为其构造的例子中学习,并自己根据规则产生大量的例子来练习。这三类学习方法可以组合使用,来训练包含感知、认知和行为能力的机器智能。
 
处理不确定性的能力则是人类最大的一个优势。比如,你在开车时看到前方有如下场景:左边是一个骑自行车的人,右边是一个小孩,路上有一个球。此时,你需要判断小孩会不会去捡球,如果去捡球的话,汽车该如何避让,而左边骑自行车的人会不会看到,这些都属于不确定性。现在的自动驾驶软件都是根据感知输入做出确定的判断和行动规划的,并不能处理这些不确定性。但未来的机器需要并且能够对这些进行处理。尽管输入的数据中有很多是有噪声的,但我们可以用概率计算的方式来解决。对于这些被称为自主系统的智能机器,特别是自动驾驶系统和机器人来说,有些场景是有危害的,而且这些场景中都包含大量的可变因素和感知过程的不确定性。既然不能在真实场景中做实验,那就要在模拟器中做。整个训练和测试过程需要大量的计算与存储资源,这也是网络和云计算带来的便利。
 
机器是否能做到理解?
 
机器的认知能力在不断增强,现在它们已经能够识别视觉数据里的一些东西,例如人和物体。那么机器能否理解此时发生了什么?让我们来看一个例子(见图1-1),图中的英文字幕描述了其所在的视频场景中正在发生什么。这个英文字幕并不是人写的,而是机器自动生成的,由算法产生。图中显示的只是一条挑选出来的最佳描述,其实算法看到了更多的信息,包括时间维度和视频里的空间维度,因此可以给出更多的信息。我们看到,算法挑选出来的这条字幕已经和场景非常相关了。比如,当只看到一个人的时候,它会描述成“一个人在讲话”;当看到PPT的时候,它会描述成“一个人在演讲”;当看到下面观众的时候,就转而描述成“一个人在一群人面前做一个报告”。所以,机器理解环境场景里发生了什么的能力正在提高,而这项进展不过是在过去两三年内实现的。
 
图1-1 机器如何理解环境
 
我们可以预想到在未来,人类会让一台机器去了解某个环境里正在发生什么,这些人之间有怎样的关系,他们想干什么,或者说他们有什么意图。当机器对这些问题都有比较好的把握时,就意味着机器的认知能力已经达到了可用的水平。关于机器的认知能力,比较关键的一点是它有一个完整的框架(见图1-2)。图中左边是多模态信息的输入,右边是认知结果的输出,底部是知识的输入。在多模态输入这一层,视频、音频和语言文字等都是机器从现场环境中观察到的,属于感知层的输入信息。视觉识别、语音识别和文字识别的作用是较为真实地将当前场景数字化,使其成为语义信息。但这不包括历史信息和机器观察不到的知识。因此,为了让机器能够理解环境,我们需要给它连上知识库和历史信息,把它看不到的东西加进来。这样机器才能够从多模态的输入中融合已经看到过的信息和知识,并加以分析,最终达成对场景的理解。多模态的信息融合和知识图谱整合的框架对于机器认知的发展是非常关键的。关于其中使用的各种算法的选择和发展,许多人类算法工程师发挥了巨大的作用。
 
 
图1-2 多模态视频理解框架
 
机器的认知能力可以支持哪些功能呢?第一点,它可以直接把视频内容(原来是像素和颜色)转化成文字,代表语义,这样就可以进行搜索了。第二点更为重要,它能进一步生成新的语义网络的关系,支持视频内容的问答。例如,你可以问它“这里面有没有人在房间里做报告的部分”,它会帮你找出来。最重要的第三点,就是视觉关系理解。机器可以在不同的视频之间寻找相关性,具有查找相似性的能力,并且可能产生记忆。从上面的讨论可知,知识图谱对于机器智能的发展非常重要。一方面,我们可以给机器输入固定知识,例如常识和稳定的领域知识。另一方面,机器也可以自己构建知识库。机器人的深度摄像头可以看到颜色,也可以看到深度。它在一个环境里绕一圈,就能给这个环境建立一个三维的场景地图,同时也可以利用颜色数据识别出场景中的人、物体、沙发、墙壁等,从而建立起这个环境的空间知识库,再加上随时间推移记录下来的人物之间的运动和交互关系,就构成了这个环境的动态知识库。如果未来人们生活的每个房间、每个场所都有这样一个动态知识库存在,那就会形成一个高度简洁、可搜索的数字化世界。这个世界与现实世界的关系不是一种在像素级别的一一对应——不是说这儿有一棵树,数字世界里就有一棵所有细节都存在的树,而是一种对现实世界高度抽象的描述。
 
接下来的一个问题是:如此大量的知识要怎么存放呢?想一想,人类的大脑能存储多少知识?其实不是很多。例如,我的脑中有一些与IT相关的知识,却放不下多少金融知识和医学知识。但这对机器而言是可能实现的。全部的人类知识可以分成两大类:第一类是稳定知识,包含通用知识和领域知识。通用知识是人们从小学开始学习的不变的知识,领域知识则是从大学开始学习的分专业的知识。这些都是比较固定的知识,可以自上而下地构建知识图谱。第二类是动态知识。这类知识不是在常规学习过程中学到的,而是随着整个社会场景发展,甚至是随着人的不同而改变的。想象这样一个场景:当一个机器人或者一辆无人驾驶车在为客户提供服务时,根据它服务的个人或家庭的不同,它会习得截然不同的知识。这些就属于动态知识。动态知识还包括群体性知识。40多岁的人的知识范围,与十几岁的人完全不一样。不同地域的人,他们的知识范围也是不一样的。动态知识是自下向上动态构建的,并且在不停地更新。
 
机器可以涵盖全部这些知识,但在信息世界中,这些知识不可能都存放在终端内。一是有一些在云端,有一些在终端。因为在服务具体个体的时候,考虑到网络延迟的影响,将所有知识都存放在云端的话,响应度是不够的。这时,我们就要充分利用通信和网络技术发展带来的好处了。你可能听说过边缘计算,它指的是在5G时代可以很好地利用接入网的边缘加入计算和存储的功能。于是我们可以把知识按照访问需要分布式存放在云端-边缘-终端内。云端存放全部稳定知识,终端和边缘存放部分稳定知识与全部动态知识。那么我们要如何在终端、边缘和云端存放知识?以下三个例子会帮助你理解。第一个例子与自然语言交互相关。你家里可能会有一台小的智能音箱,它通过语音交互帮你提供一些信息。这其实是调用了云端的服务来实现的。有时你会感觉它的响应速度有些慢,这是因为碰上了网络慢的情况。处理请求要从家里的小音箱到达云端的服务器(通常有几十、数百公里的距离),网络速度慢的时候,整个交互过程当然会变慢。如果将你的服务部署在距离你只有几公里远的边缘服务器上,从而进行快速处理的话,那么响应速度会大幅提升。第二个例子与地域性相关。通过边缘计算,我们可以创建与各地方言相关的语音服务和知识库。第三个例子与场景相关。就拿基于语音的生活服务来说,在北京提供服务的知识库和四川、广东的肯定不一样。比如大家都说要吃辣一点的菜,然而每个人所指的辣度是不一样的。这就是与地域性相关、与场景相关的知识,最适合用边缘计算做服务,具体方式是增强与地域人群的相关性,也可以增强服务的适应性。
 
机器学习的方式
 
目前,机器学习的常用方式有四种。第一种是无监督学习,需要机器自己去发现数据之间的关系,主要用于聚类。第二种是监督学习,需要有人告诉它这个是什么,这类是什么。打上标签以后,机器可以通过训练把这个中间的识别过程用模型表示出来。第三种是自监督,关联学习。机器不需要人教,而是通过观察几种对象的相关性、前后的因果关系,自动生成一些关联。比如说打方向盘时,车轮就会转,前置摄像头看到的景象都会偏移。关联学习就会发现其中的关系。第四种是强化学习,机器会通过跟环境交互,观察按照当前模型决策产生的一些影响,来优化动作序列或者决策序列。在机器学习过程中,它们会根据数据特点和应用需求来具体问题具体分析,融合使用这几种机器学习的方式。除了上述学习方式之外,机器学习未来发展的潜力还在于模仿学习和生成式学习。模仿学习是指不需要人去标注数据,也不需要人去写执行算法,机器能够直接从人的示范中学习。人只要通过示教(直接拖动或者通过视频),做出动作让它看,机器就能自己学习。
 
生成式学习是指机器从自己生成的样本中学习。机器从自然界中和从人给它构造的例子中获得的数据量不够,但它可以自己根据规则产生大量的例子来练习。机器自己会产生大量真实场景中很少出现的例子。典型的例子是自动驾驶领域,有些场景是有危害的,不可能在真实场景中去实践,那就要在模拟器中做。我们可以在模拟器中模拟极端的场景,还可以在模拟器中反复训练机器。同时,有了实时通信的无线网络,就可以把多个智能机器放在一起,练习它们之间的协同交互。例如,A机器人要把物品递给B机器人,这个过程可以通过编程实现,但是编写的程序泛化能力和适应性都不强。更高级的方法是,通过设置基本的学习方法和奖励规则让机器人在模拟器中学习:A把一个东西抓起来递给B,配合好了就能接住,配合不好东西就会掉落。经过多次练习,它们就知道如何做到完美配合。然后,再把算法转移到真实环境里测试。
 
图1-3中的例子展示了如何通过人的简单示范,让机器人学会做一件比较复杂的事情。左图的研究员通过拖拉示范,告诉机器人怎样把一个杯子里的球倒进地上的碗里。之后,这个机器人通过在模拟器里反复训练,学会了去做这件事情的方法。更有趣的是,这不是一个固定动作。人在教它的时候,地上的碗是放在固定位置上的。而在机器人练习的过程中,碗的位置是可以改变的,而且位置的改变不是一个固定变量。机器人要自己调整适应,找到将球倒进去的方法。即使机器人已经根据现在的位置规划好了运动轨迹并启动执行,我们临时改变底下小碗的位置,它也能够及时调整自己运动的轨迹。[插图]图1-3 机器人如何模仿学习用手工编程做出这套控制算法还是很困难的,并且很难考虑到多种场景。但我们可以让机器人通过模仿学习加上强化学习,在模拟器里反复训练,这样它们就可以学会这项技能。
 
处理不确定性
 
人类是最擅长处理不确定性的。比如驾驶员在复杂路况下开车时,要不停地处理不确定性。例如前面行驶中的车会不会减速?骑自行车的人会不会转弯?这些是不确定的。现在的计算机系统都是按照确定性在做事,处理人工生成的数据,执行确定的工作流程。但未来的机器要在真实的物理世界中和人、物交互工作,所以未来的机器智能必须能够处理不确定性。未来的机器智能必须能够处理不确定性。从计算的角度,我们可以用概率计算的方式来处理不确定性。概率计算的关键在于预测与调整。一个简单的思路是,先根据目标场景的已有数据样本产生一个概率模型,并用它生成一个预测,然后通过观察这个预测与实际发生场景之间的差异去调整概率模型,使之与实际发生的场景相符。这种概率计算的方式计算量很大,以前的机器运行速度很慢,基本没法实现。现在,机器的整体计算能力大幅提高,还可以设计专门的加速硬件,概率计算的方式就变得可行了。
 
从互联的角度,我们可以通过变未知为已知来处理不确定性。机器之间相互连接的方式有很多种,从有线连接到无线连接。有线连接可分为多个级别(芯片内部、芯片之间、机器之间),利用不同的介质与协议实现不同的数据传输带宽和延迟,让机器之间进行快速可靠的通信。无线连接可以使机器之间跨越空间距离、跨越物理传输介质去传递信号,带来更大的想象空间。有了这些连接之后,人与机器之间、机器与机器之间可以实现无缝通信,各取所长地处理信息,把原本对于个体来说不确定的情况变成确定的。图1-4展示了一个非常好的例子。右边的4个视频是普通的十字路口摄像头拍摄的视频。以前,这些摄像头被用来检查有没有车闯红灯、有没有套牌车等情况。现在,我们可以利用通信技术同步处理4个摄像头的视频数据,检测车辆、行人及其运动轨迹,从而将这个场景实时重建成左边这个虚拟的、完整的全方位视图,并且实时追踪各个车辆、行人的运行。然后,利用短距离的实时无线通信技术,可以把这些信息发送给进入这个路口的车辆。这样,每辆车都会知道其他方向有什么车可能与它发生碰撞,即使它被公交车、大卡车挡住视线也能看到,因为智能的机器给了它一个“上帝视角”,还给出了预测,这是人类无法做到的。
 
图1-4 智能交通路口
 
一个典型的通过计算和连接把未知、不确定性转变为已知、确定性的例子,让我们看到了“技术+网络”可以带来的力量。
 
未来十年,谁拥有芯片,谁就将制胜于更长远的未来
 
任何智能发展都离不开硬件基础。除了现在人们熟知的CPU(中央处理器)、GPU(图形处理器)、FPGA(现场可编程门阵列)、专用加速器等智能计算的硬件基础外,一些硬件架构技术也在不断加速发展。例如英特尔公司最近推出的Loihi神经拟态芯片(Neuromorphic Research Test Chip),就是模仿人脑神经元的构造、连接方式和工作方式设计实现的。神经拟态计算从人脑的信息处理机制中获得灵感,来构建人工智能系统。Loihi是目前最先进的神经拟态计算处理器,它采用英特尔领先的14纳米工艺制成,集成度高,在60平方毫米的芯片上有13万个神经元和1.3亿个神经突触(见图1-5)。它能达到什么效果呢?Loihi支持多种脉冲神经网络架构,可以在很低的功耗下工作(这一点和人脑非常相似)。最重要的是,它具有可编程学习能力,能够在线自主训练,并且支持多种学习算法,包括监督学习、非监督学习、增强学习等。Loihi的能效比通用处理器高1000倍。目前,一块小芯片能使13万个神经元互相连接。英特尔公司在2019年7月宣布,包含64块Loihi研究芯片、代号为“Pohoiki Beach”的800万神经元神经拟态系统已经可以供广大研究人员使用。
 
图1-5 Loihi芯片和64芯片神经拟态系统
 
那么未来十年,智能计算会发展到什么程度呢?我大胆地预测一下。假设未来芯片的晶体管密度按照摩尔定律的速度发展——10纳米、7纳米、5纳米,十年之内一定会超越5纳米,那么晶体管密度至少会提高8倍。然后,我们还可以用3D芯片制造技术,在一颗芯片内封装多层内核。假设十年后,通过3D芯片技术可以让计算密度再提高64倍,我们便可以像Pohoiki Beach一样设计多芯片互联的系统;假设十年后,我们可以互联1000块芯片,那么这样的系统尺寸会做到多大呢?可能比我们现在用的桌面型打印机还要小。这样的系统可以容纳670亿个神经元,已经很接近人脑的神经元量级了!当我们展望下一个十年或者更长远的未来时,随着人工智能应用变得愈加广泛和深入,仅靠一种架构的AI芯片是不能解决各种问题的。同时,随着创新速度越来越快,设备种类越来越多,其要求的迭代速度也越来越快,我们不会再有一个独立的平台(例如20世纪90年代到2000年的PC,2005年到现在的手机)。传统的异构计算已经不能满足日益发展的人工智能计算需求,我们正在迈入超异构计算时代。
 
异构计算在20世纪80年代就已出现,它是指在完成一个任务时,采用一种以上的硬件架构设计,把它们组合在一起。组合方式主要包括:一体化SoC(系统级芯片),它的专用性最强、能耗最低,性能也很好,能效比非常高,但只有应用范围很广时,投入产出比才会更高;分体式板卡,它的优势在于灵活,可以在需要的时候随意组合,但板与板之间连接的功耗、带宽速度都要大打折扣。超异构将提供更多的灵活性和更快的技术应用周期,推动计算创新发展。它包含三大要素:多架构、多功能芯片,多节点和先进封装技术,统一的异构计算软件。在多架构、多功能芯片方面,有标量、矢量、矩阵、空间等多种计算架构。例如,CPU是标量架构,GPU是矢量架构,深度神经网络的专用加速芯片是矩阵架构,FPGA是空间架构。在多节点和先进封装技术方面,传统的封装就是把芯片平铺在一起,这种方式存在一些缺点:一是增加了面积,二是芯片之间的连通带宽还需要加速。2.5D和3D封装的出现解决了这些问题,不只是把计算芯片和内存连接起来,还能把计算芯片互相连接,并像高楼一样分成几层堆起来,这就是先进封装技术。同一个异构系统中需要使用多种架构的芯片来完成计算任务,而对于开发者来说,掌握多种架构的软件优化技巧比较困难。统一的异构计算应用程序接口(API)可以解决这个问题,它利用预先研发的软件库来封装不同种类的硬件架构,从而为软件开发者提供统一的编程接口,降低开发难度并提高效率。未来的人工智能芯片会将这些技术综合使用,获得性价比、能耗比最优的智能计算方案。
 
量子计算,重构AI的算法和思路
 
量子计算是另一个维度的突破,它与传统计算模式都不一样。量子不是一个物理粒子,而是指通过技术手段让微小的粒子(如电子、光子等)或者电路系统形成量子态,从而同时处于多个状态,构成一个量子比特(qbit)。然后进一步地,通过让多个量子比特纠缠在一起,就可以进行大规模的并发计算,同时计算非常多的状态组合。例如,如果有50个量子比特纠缠在一起,那么计算系统就可以同时表示250个状态。所谓的量子霸权(quantum supremacy)就是指在某个领域,量子计算拥有的能力远远超过经典计算。如今,在业界发展的前沿,已经有50~100个量子比特可以用来做计算,做一些模拟,但是还不能说达到了量子霸权。另外,量子比特的纠错能力仍需要提高,量子计算的系统目前并不稳定,难以提供足够长的量子纠缠时间来执行有价值的任务。虽然量子计算距离商业化使用还很远,但我们不可小看它的潜力。
 
图1-6 量子芯片
 
量子计算的诱人之处在于:第一,它具有超大规模的并行计算能力;第二,利用量子计算的模型去重构人工智能的算法,会产生非常大的突破,这种解决问题的思路与现在使用经典计算机的思路完全不一样。我们可以期待,机器的学习能力和处理不确定性的能力会有突破性的进展。
 
预测边界,驾驭未来的机器智能
 
总体而言,我认为机器智能仍然会呈现指数型发展。人工智能的算法、智能芯片的算力、实时的互联和虚实结合的计算环境这四个因素都在促进机器智能的发展。可穿戴式设备和脑机接口(Brain-Computer Interface)技术的发展为人类充分利用机器智能搭建了桥梁。对于人类和机器的共生未来,我们可以有多种预测,包括正面的和负面的。但对于一名科技人员来讲,理解智能产生和发展的底层逻辑和演进路径,更多的是要去驾驭它的走向,而不是害怕和拒绝。对于各种技术,要预测其发展的可能性和边界,做好风险管控的准备。同时,要与社会学家、心理学家、经济学家等各领域的专家交流,探讨科技发展对社会的影响,保证技术发展的正向的社会效益,共同驾驭未来的机器智能。
 
 
新思维
 
算力主导的世界,更应该不断被异构一些关于摩尔定律或者制造工艺的宣传都指出,某些厂家可以将芯片的直径做到10纳米、7纳米、5纳米,甚至3纳米的小尺度——他们以为到了3纳米时,算力就会遭遇瓶颈,其实并非如此。制造工艺的进阶只是说晶体管制作的尺寸最小可以小到多少,这也包括中间互连的线,但是算力不会受限于此,因为我们还可以用很多其他技术来让芯片的算力继续扩展。举例来说,现在我们的制造工艺可以将尺寸做到7纳米,可以把芯片里面的晶体管线路的单位再提高一倍,但这只是在单芯片的面积上增加了一倍的算力而已。那么,这一倍的算力是否能支持未来的需求呢?可能不行,因为现在算力也在经历一个指数型的发展,甚至比摩尔定律迭代得更快。
 
另外两个办法,分别是:架构创新和3D堆叠。
 
第一,架构创新。原来我们只是用CPU,现在可以用GPU或者其他专用芯片来对某些运算的负载做专门的优化,现在的1000个晶体管也许相当于以前的10万个晶体管,这是从架构角度讲如何设计芯片的结构。
 
第二,3D堆叠。在平面上,单位面积密度的增长是十分有限的,但是如果进行堆叠,我们还可以增加算力。同样,我们可以把不同工艺,比如7纳米、10纳米、14纳米的芯片通过先进的封装技术再封在一起。最近出现的超异构的概念表明,有好多种技术可以用来对算力进行支撑,以保证支撑爆炸性增长的算力要求。工艺上的要求是到7纳米,其实到5纳米就很难推进了。一个原因是这在物理上很难实现,另一个原因是建造这种工厂的成本越来越高了,比如,建造一个10纳米工艺水平的工厂需要高达100亿美元的花费。


34