来源:华为2012实验室
作者:李航 张宝峰 霍大伟 李英涛
1.引言
星期六上午,叮呤一声门铃响了,小明急忙跑过去,打开家门,见到门口站着一个机器人。机器人身高一米五左右,跟小明差不多,样子有点像星球大战中的C-3PO。机器人向小明鞠了一个恭,“你好,我叫罗伯特,是你们家预订的管家机器人”。小明高兴得跳了起来。“太好啦,我们已经等你很久了。我叫小明”。罗伯特点点头,“小明,你好”。接着,小明领着罗伯特在家里转了一圈,客厅、书房卧室、厨房、卫生间都走了一遍,最后来到小明的房间。按照指引,罗伯特在小明房间里走了一圈,然后站在了落地窗前。书桌旁摆有一个鱼缸,里面养着一些热带鱼。小明指示说:“别忘了每天给它们换水”。落地床前放着一个天文望远镜,小明用手指着说:“你走动的时候注意别碰到它,是爸爸在美国给我买的呢。天气好的晚上,别忘了提醒我去观察星座”。罗伯特点点头,“明白了,你的房间真不错”,又用平缓的语气说:“不过,空调温度太低。时间长会对身体不好,建议你把温度提高”。然后慢慢转过身,像是怕碰到天文望远镜,说:“窗户也没有关好,这样会有安全隐患”,顺手把窗户关上,小明回答:“明白了”。“我再去其他地方看看”,罗伯特一边说着一边慢步地出了房间。小明坐下,开始做功课。不一会儿,罗伯特走了回来。小明问罗伯特:“我现在有一个数学问题,不知道该怎么解。你能帮我看一下吗?”罗伯特放慢了脚步,走到桌前,用亲切的声音回答:“小明,我是管家机器人。我的职责只是把你的家管理好,不负责帮助你的学习。如果是辅导功课,需要请家教机器人,公司也有相关的扩展模块可以购买”。小明微笑着答道:“你真专业,我问爸爸是不是可以买”。
以上是我们设想的未来管家机器人的使用场景,它的最大特点是基于“受教式人工智能” (Educated Artificial Intelligence,简称EAI)技术,有以下几个特点。
应用限定的智能系统:根据此原理构建的智能系统服务于不同的应用,圆满完成各自应用的任务是每个系统的终极目标,系统的智能性全部体现在完成任务的能力上,而不是一般意义上的人工智能(Artificial Intelligence),比如,管家机器人和家教机器人分管不同工作,拥有各自应用所需的智能。因此也可以称之为受教式应用智能(Educated Application Intelligence)。
接受用户教育:智能系统可以接受用户教育,快速学习,适应环境。用户承担一定的教育责任,但系统也有自主性,正如老师和学生的关系,在某些方面学生也可能超越老师。教育(educate)不同于教诲(teach),不需要给出每一条规则,用户只有在必要时提供少量的指示,比如用户只需领着管家机器人行走一遍,就能让它识别整个家庭的格局,并知道未来工作环境中的注意事项。
拥有一定的完成任务所需的自学习、推理能力:在动态变化的环境中,基于用户教育,学习所需知识,矫正错误,从而具备场景所需的学习、推理能力,比如,给用户进行推荐与提醒。
人类的“智能”工具:受教式人工智能系统的目的是成为人类的工具,在特定的应用中提升用户体验,而不是部分再现人的能力。受教式人工智能也不同于传统的机械系统重复同样的工作,而是能在动态的环境中做出判断,比如,管家机器人通过温度传感器、位置传感器来感知室温、窗户的状态,并结合用户习惯和生活要求,决定是否调节室温,关闭窗户。而且由于有应用限定,可以大幅降低复杂任务中“智能误操作”的分险。
目前,业界盛论机器具备意识,机器通过图灵测试、和机器理解猫脸概念等话题,这些并不一定有建设性,不能帮助有效解决实际问题。受教式人工智能(EAI)更强调应用智能,目的是让智能技术为产业服务。
人脑是一个只有1.5公斤左右重的人体器官,但它或许是宇宙中最复杂的系统。宇宙和人脑,对人类来说都充满着无穷的奥秘,是科学需要不断探究的对象。现在对人脑的工作原理与机制有了一定的了解,但是脑科学的研究进展距离我们能在计算机系统上再现人类智能的目标还相差甚远,很有可能,我们永远无法实现与人类同等的智能。
我们应该如何实现人工智能?理解人的大脑的工作原理和机制,在电子计算机上将其实现?这个策略即使可能,也有极其漫长的路要走。此路线依附脑科学的突破,需要切实地理解人脑智能产生的机理,单独靠电子、信息技术的发展不足以支撑。
2-1.人脑结构vs 计算机体系架构,体系结构差异巨大
人脑有很高的复杂度。人脑有10的11次方个神经元,10的15次方个突触。也就是说。平均每个神经元有1万个突触相连。据估计,整个互联网有10的12次方个网页,每个网页的平均链接少于1百个。也就是说把人脑和互联网都当作网络来看,两者有大致相同的结点数,但人脑的连接数更多,复杂度更高。
人脑比计算机有更加复杂的结构。我们知道,人脑由四个主要部分构成:脑干(brain stem)、间脑(diencephalon)、大脑(cerebrum)及小脑(cerebellum)。脑干由延髓(medulla oblongata)、脑桥(pons)及中脑(midbrain 或 mesencephalon)组成,下面连着脊髓,上面是间脑。间脑主要由视丘(thalamus)及下视丘(hypothalamus)组成,大脑位于其上。大脑分左右两个半球,中间以胼胝体(corpus callosum)连接。左半球控制右半身,右半球控制左半身。两个大脑半球的表面覆盖着大脑皮质(cerebral cortex),大脑半球又分成不同的脑叶:前额叶(frontal lobe)、顶叶(parietal lobe)、颞叶(temporal lobe)及枕叶(occipital lobe)。小脑位于大脑之下,脑干之后。而电子计算机采用冯诺依曼架构,由运算器、控制器、存储器、输入设备和输出设备五大部分组成。计算过程中,把程序和数据存入主存储器(内存)中,从主存储器中取出指令逐次执行,整个结构要简单得多。
2-2. 意识仍是所知甚少的世界
人区别于机器等非生物的一个重要特点是拥有意识(consciousness),而现实机器中不存在意识,也许永远不会。“人的意识”到底是什么?有很多研究,但没有一致性的结论,我们对意识了解还非常有限,仍然是科学的最大谜团之一。
下面总结一些被比较普遍认同的观点。意识是指人在清醒(非睡眠、昏迷、及死亡)时的感知与认知,本质是生命现象。“我思故我在”,首先它是现实存在的,是每个人以自我为中心的“精神活动”, 对每个人来说都是持续、一致、和稳定的,所以是主观的,经常被称为自我意识。但又是客观的,意识对应着大脑神经系统高层次的处理,由低层次的神经元上的生物反应支撑。意识是一个统一体,将个人的所有感知与认知联系在一起;与潜在意识密切相连交互,获得身体各个器官的信号,同时又对它们发出指令;认识自己在空间、时间、社会群体中与其他个体的关系。意识又拥有主动性,比如,意识可以做出决定,通过大脑以及神经系统,将指令传到全身,控制整个身体的运动。意识的过程可能发生在大脑的不同部位,是不同作用产生的结果,整个机制还不清楚,最近的研究发现大脑中的屏状核可能起到意识的“开关”作用。意识由生物进化得来,从简单的有机生化过程发展到极其复杂的大脑生化过程,生命与非生物的本质区别在于,生命体能够通过自身的感知、认知系统认识到自身的存在,并且做出对外界的反应与行动。没有证据表明,我们能把这么极其复杂的生物现象在非生物的计算机上实现,开发出“意识机器”。
2-3. 语言处理也面临永无止境的挑战
语言代表着人类智能的最高水准,也是人区别于动物的主要特征。有了语言,人可以传递信息,表达思想,讲授知识,传播文化。词汇和语法是语言的两个重大要素。一般成年人可以掌握五千到一万个词汇。在大脑长期记忆中记忆一个单词的时候,人不仅记住它的发音、书写形式,而且记住与其相关的单词、概念、用法、经历等,对应着对词义的理解。语法由规则组成,可以帮助人由单词出发构建语句,表达复杂的语义。语法规则指导人结构性地构建句子,理论上可以表达任意复杂的内容。但是这些规则一般都是不严格的,总有例外存在。语言的理解,不仅需要词汇和语法的知识,而且需要整个世界的知识,以及推理能力,比如,说“好热啊”,在特定场景中表述的意思可能是希望打开空调。乔姆斯基认为人的语言能力是先天就有的,观察儿童学习语言的过程就会发现,儿童不需要许多指导,只要处在适当的语言环境中,就可以学习到非常复杂的语言使用,这种现象的唯一解释就是人的语言能力是由DNA决定的。
自然语言处理是人工智能的一个分支,目的是让计算机能够像人一样地听、说、读、写,使用语言。自然语言理解从两种意义上是极其困难的。首先,语言理解理论上需要用到人的所有知识、以及所有的推理能力。所以,语言理解被认为是“人工智能完全”问题,也就是说,语言理解的实现就意味着人工智能的实现。另一个困难是,计算机上实现任何东西都需要用数学模型来刻画,但是我们还不知道如何用数学模型去刻画人的语言使用,也不知道这是否可能。语言从理论上可以无穷组合式产生,所以用穷举的方法,不可能实现自然语言处理。语言遵循一定的规则,但又有很多例外,所以用规则也不能解决问题。统计学习,特别是深度学习,为我们提供了很好的工具,理论上,如果有无穷多的训练数据,也许可以模仿人的语言处理,不断逼近人的语言能力,但现实中我们往往无法得到那么多的数据;还有,语言现象一般遵循幂律(power law)分布,永远都会存在低频的,也就是长尾的事件,无法得到充足的数据,所以完全依赖统计学习也是不可行的。如何让计算机理解语言,是我们需要不断探究的课题。
人工智能目前基本分两种流派,即所谓的强人工智能和弱人工智能。强人工智能观点认为可以制造出与人同等智能的机器,而且,这种机器拥有感觉、知觉、以及自我意识,甚至具备自我发展和进化的能力。弱人工智能观点认为不可能制造出这样的智能系统。现实中制造的机器可能在某些方面看上去与人有同等的智能,但并不真正拥有智能,也没有自我意识。产业界本质并不关心智能强弱问题,而是关注智能应用,即通过相关技术使能的智能应用体验和效果,我们希望EAI可以成为实现这一目标的正确途径。
Educated AI既可以理解为Educated Artificial Intelligence 也可以理解为Educated Application Intelligence,拥有应用限定、用户教育、自学习推理能力,能判断的智能系统等特点。EAI的目的不是再现人的智能,而是帮助人更高效、更好地完成各个具体任务或任务集,在其中部分达到人的智能或超过人的智能。
基于EAI理念的智能系统应该满足以下几个原则:1.从属于人类,2. 限定于任务(场景),3. 接受教育,4. 自我成长,5. 个性化的系统。基于EAI理念的智能系统当然不会拥有意识,也不需要拥有同人一样的普适的智能与智慧,这样的系统理解的语言也是基于任务、场景的,其理解也只是通过能够完成具体任务体现的。
有许多的应用系统可以通过EAI的理念构建,变得更加实用,更好地帮助用户解决问题,给用户带来巨大价值。智能管家机器人可以帮助用户管理好家庭,从事家居管理、日程管理、室内清洁、物品搬运、安全保障等工作,它还能在室内行走,识别室内的物体,与主人进行简单的对话和沟通。机器人基本功能在出厂时都已基本具备,但其使用由于接受各个用户不同的教育,从而形成不同的个性化系统。比如,主人引领机器人在室内行走,可以帮助机器人很快地了解家居的情况,主人介绍家庭成员,机器人可以很快知道家庭的构成,每个人的习惯、兴趣爱好等,而不需要从零学起。旅行翻译系统是另外一个例子,这个系统是在智能手机上的一个应用,用户在国外旅行时,可以通过它的翻译与外国人进行自由的对话与交流。翻译系统在出厂时已具备基本的语音识别、机器翻译、语音合成的功能,但是它还缺少个性化定制。通用的语音识别、机器翻译可能都不完美,会出现错误,当用户发现识别或翻译错误时,可以反馈给系统,系统将直接记住正确结果,下次不会犯同样的错误,这样翻译系统性能会不断提升,真正成为用户贴心的翻译。
EAI技术的基本特点是“机器学习加人工教育”,通过人工教育的方式最大的程度降低甚至克服机器学习的困难,从应用的角度出发,加速系统的智能化提升进程。
机器学习一般指统计学习,是关于基于数据构建概率统计模型并运用模型对数据进行预测与分析的技术,机器学习包括监督学习、非监督学习、深度学习、强化学习、概率推理等。这里说的人工教育是指由用户通过实际指导给出知识、实例,当作机器学习输入,用于构建系统,帮助系统进行预测、判断。人工教育可以大幅的加速学习应用场景特定的模型和参数,使机器学习快速收敛,系统快速适应到具体应用场景。这样,人机各自的长处可以被有效地结合起来。
机器学习的最大优点是它通过数据驱动的方式解决具体问题,拥有一套完整的理论体系,具有很强的鲁棒性和可扩展性。机器学习的最大缺点是它依赖于数据,数据中隐含的规律一定程度上能挖掘出来,但从实现智能的角度往往不够充分,特别是当数据缺乏的时候,机器学习就会变的无能为力。
人工教育能让我们很快地获得智能系统需要的知识(包括概念、规则)与实例。它的最大优点是“教育”的知识与实例具有很强的可读性,很简单地就具备特定场景的“语义”,因为人可以很好地理解应用要求,直接对系统的行为做出一定的指导。其缺点是人定义的知识不一定系统、无矛盾、无歧义,开发与维护知识的成本也会很高,更重要的是,人定义的知识往往没有足够的鲁棒性和可扩展性;人给出的实例会更加可靠,但是其覆盖面往往很窄,为了有效地学习可能需要提供大量的实例数据。
目前机器学习中的很多技术都应该可以直接应用,但EAI也有其独特技术难点和挑战,比如:
如何保证人工教育和机器学习的交互和知识、信息传递的有效性?人工教育往往是通过一些演示或者指令,本质上传递的是确定的知识或者信息,人工教育需要能够与传统机器学习有效对接,用这些知识或信息增加系统的整体能力。
如何保证应用中性能的单调提升?人工教育加机器学习的目标是给用户提供具体应用中的良好体验,要让用户感受到,教育和学习的过程中,系统的性能在不断上升,而没有下降。系统在自主地接受教育和进行学习过程中,这一点并不容易做到。
如何通过人工教育简化学习过程?概念和当前热门的Learning to Learn相关, 但这里强调的并不是让机器学会学习的方法,而是如何能让机器通过简单的实例就能学习到的所学的内容,如果能够达到One Shot Learning的效果最好。