Cyc:终极专家系统
Cyc工程可谓知识型人工智能时代最著名的实验了,Cyc工程是天才的人工智能研究员道格·莱纳特(Doug Lenat)的智慧结晶,莱纳特拥有卓越的科学能力、坚定不移的信心以及优秀的说服能力,让旁人能够接受他的愿景。在20世纪70年代,他凭借一系列令人印象深刻的人工智能系统崭露头角,1977年,他荣获计算机与思想奖,这是能够授予年轻人工智能科学家的最具声望的奖项。
在80年代初期,莱纳特确信“知识就是力量”理论的应用应该远远超过大家所关注的、狭义的专家系统。他确信,这个理论可以成为打开通用人工智能——人工智能的宏伟梦想的钥匙。他在1990年写下这样的话〔合著者为拉曼内森·古哈(Ramanathan Guha)〕[40] :
我们不相信任何通往智能的捷径,世界上不存在尚未被发现的麦克斯韦思想方程式之类的通解……任何强大的思维体都无可避免地需要大量知识。我们所说的知识,不是指枯燥的、专业领域内的知识;更确切地说,是现实世界中的各种常识……它们太普通了,所以参考书里面找不到。例如:生命不可永恒,任何实体不可能同时出现在两个不同的地方,动物不喜欢承受痛苦,等等。恐怕人工智能所面临的最艰难的事实——过去34年来人工智能领域一直致力于摆脱的事实——其实是,要获取如此庞大的知识库,没有一种优雅、轻松的方式。相反,大部分工作(至少在初期)必须经过人类判断以后手工输入。
因此,在80年代中期,莱纳特和他的同事给自己立下了艰难的挑战任务,创建“包罗万象的知识库”, Cyc工程应运而生。
Cyc工程的雄心壮志确实令人难以置信,要实现莱纳特的构想,Cyc的知识库需要对“共识现实”,即我们所理解的整个世界进行完整描述。现在让我们暂停阅读,思考一下这个挑战有多难,也就是说,必须有人明确告诉Cyc很多对人类而言理所当然的常识,比如:
在地球上,一个悬在空中的物体会落地,它落到地面时会停下来;而在太空里面,悬空物体则不会落地。
燃料耗尽的飞机会坠机。
坠机事故会让人丧生。
食用你不认识的蘑菇是危险行为。
红色水龙头往往通的是热水,蓝色的往往是冷水。
……
一个受过良好教育的人在生活中所认知的日常知识,在Cyc系统里面必须由人用特殊的语言明确地写下来,并且输入系统中。
莱纳特预估这个输入的工程需要至少200人经过多年的努力来实现,大部分的时间和人力都会消耗在手动知识录入上,即告诉Cyc我们的世界是怎样的,以及我们是怎么理解它的。莱纳特乐观地认为,用不了多久,Cyc就可以实现自我学习。一个以莱纳特设想的方式自主教育、自我学习的系统,就意味着通用人工智能的设想成为现实。这就是说,莱纳特假设通用人工智能的问题主要是知识储备问题,它可以通过一个合适的基于知识的系统来解决。Cyc假设是一场豪赌,高风险、高收益,如果被证明成功,它就能改变整个世界。
科研界,包括科研投资的悖论之一就是,有时候,宏伟的目标会掩盖其荒谬的本质。事实上,正是某些研究机构不遗余力地支持和鼓励那些雄心勃勃的、步子迈得太超前的科研者,而摒弃了一些安全但是进度缓慢的研究。也许Cyc就是这样一个案例。不管怎么说,1984年,Cyc工程从得克萨斯州奥斯汀市的微电子和计算机联合会那里获取了资金,项目启动了。
当然,它失败了。
首要的问题在于,以前从来没人试图将人类所有的基础常识组织汇编,你到底该从哪里开始?第一步,你得定义将使用到的所有词汇,还有各种术语,它们之间是怎么关联的。定义基本术语和概念,并围绕它们组织整个知识体系,被称为本体工程 。而Cyc的本体工程面临的挑战,比此前所有的其他项目都庞大得多。很快,莱纳特和他的同事就发现,他们关于如何构建Cyc的知识体系,以及如何获取知识的想法都太过天真和粗糙。并且,随着项目的推进,时不时还得推翻重来。
尽管经历各种挫折,在项目实施10年后莱纳特仍然保持乐观。1994年4月,他的乐观预期引起了斯坦福大学计算机科学教授沃恩·普拉特[41] (Vaughan Pratt)的注意。普拉特是一名颇有威望的计算理论专家,习惯用精准而严谨的数学语言来思考计算机的本质。普拉特对一次Cyc的展示会颇感兴趣,他要求现场观看一次程序演示。莱纳特同意了。
在访问之前,普拉特给莱纳特写了封信,根据公开发表的有关Cyc项目的科学文章,普拉特列举了一个清单,包含他期望Cyc能够实现的功能。普拉特写道:“我认为,如果我的期望和Cyc的能力相匹配,那么这个演示程序将发挥最佳效果。如果我的期望太高了,那肯定会令我失望。但如果我低估了它……我们可能花费太多时间在不公正地质疑这个项目上了。”但他没有收到回复。
1994年4月15日,普拉特见到了Cyc项目的演示。演示从一些很简单的例子开始,展示了Cyc系统看似不够亮眼但真正富有技术含量的成就——识别出数据库中需要Cyc运用推理能力才能识别的细节差别。真是一个良好的开端。然后莱纳特开始演示一些扩展能力,让Cyc识别出用自然语言编写的需求,按照需求检索图片。“放松的某人”的查询结果是三个穿着沙滩服的男人拿着冲浪板的照片——Cyc正确地将冲浪板、冲浪和放松联系起来。普拉特简略书写了一下Cyc推理到这个环节的推理链,它需要运用近20条规则,其中某些规则在我们看来可能挺奇怪的——“所有哺乳动物都是脊椎动物”是完成这个推理链所用到的规则之一(普拉特看到的Cyc版本有50多万条规则)。
到目前为止进展得不错,不过,普拉特想了解Cyc最核心的特征之一:它对世界的实际认知。然后,普拉特询问Cyc是否知道面包是食物。主机将问题翻译成Cyc使用的规则语言。“是的,
”Cyc回答说。“那么,Cyc认为面包是一种饮料吗?”普拉特问道。这次Cyc卡住了。他们试图明确地告诉它面包不是饮料。普拉特在报告里写道:“在稍加调整之后,我们放弃了这个问题。”他们继续进行演示,Cyc似乎知道各种活动会导致死亡,但并不知道饥饿也是死亡的一个原因。事实上,Cyc似乎没有“饿死”这个概念。普拉特继续询问有关行星、天空和汽车的问题,但很快就发现,Cyc的知识储备十分粗略和难以捉摸。
例如,它不知道天空是蓝色的,也不知道汽车通常有四个轮子。
在观看过莱纳特的演示以后,普拉特拿出了准备好的,包含100多个问题的清单,他希望这些问题能够探索Cyc到底对这个世界的常识了解多少,理解到何种程度。例如:
如果汤姆比迪克高3英寸[6] ,迪克比哈里高2英寸,那么汤姆比哈里高多少?
本书评论