——FeynmanLecturesonPhysics(《费曼物理学讲义》)
Knowledgeispower.
知识就是力量(也是权力)。
——培根
1.费根鲍姆和DENDRAL
费根鲍姆进入卡内基理工学院(卡内基梅隆的前身)攻读电气工程(简称EE)本科时才16岁。大三时一门“社会科学的数学模型”的课设定了他的人生轨迹,那门课的老师是司马贺。本科毕业后他留校,在司马贺任院长的工业管理研究生院读博士。博士毕业后他来到加州大学伯克利分校的工商管理学院任教。他曾和师弟菲尔德曼(JulianFeldman)合编过一本论文集《计算机与思维》,这本文集的版税后来被用来在国际人工智能联合会(IJCAI)资助“计算机与思维”奖,这成为人工智能界给40岁以下青年学者最重要的奖项,初衷有点像数学界的菲尔茨奖。排在一长串获奖人第一位的是维诺格拉德(TerryWinograd),其中还有雷纳特(DouglasLenat)、英年早逝的马尔以及吴恩达,2016年度是斯坦福大学做自然语言处理的新秀PercyLiang。1962年麦卡锡从东岸的麻省理工学院搬到美丽的旧金山湾区,组建了斯坦福大学计算机系。1964年费根鲍姆响应麦卡锡的召唤,离开加州大学伯克利分校,到不远处的斯坦福大学协助麦卡锡。
费根鲍姆是学术活动家,刚到斯坦福大学就担任计算中心主任,当时这个职位比计算机系主任恐怕还更有影响力。20世纪60年代初期和中期,费根鲍姆曾两次访问苏联,对苏联的计算机科学和控制论研究印象深刻,他早就观察到苏联的研究偏理论而轻实践。但苏联下棋程序的胜利确实让世界吃惊。苏联控制论的定义太宽泛,无所不包,其结果也没有重点,难有突破性成果,而当时中国的自动化学科就是仿效苏联的。美国不存在自动化学科,无所不包的EE和自动化有很大交集。费根鲍姆意识到他的苏联同行企图利用他的名望来为苏联同行背书并争取资助。而在美国,动态规划的发明人贝尔曼则通过军方智库兰德公司给空军建议美国应该提防苏联的计算机科学研究。费根鲍姆不爽贝尔曼的报告,认为这是他利用苏联威胁论来为自己争取科研红利。而若干年后,费根鲍姆却利用日本的五代机项目宣扬日本威胁论,从而为自己在本国拉到不少军方的科研经费,这不得不让人怀疑他的动机。费根鲍姆创办的数家公司因各种原因,都没有大的成功。其中Teknowledge公司没成,倒是副产品、知识库项目SUMO留了下来,现在开源了,成为几大基础的常识知识图谱之一。
2.MYCIN
DENDRAL获得成功后,布坎南开始寻找新的方向。实验科学与理论科学比较,是相对原始的,原始经验也相对容易转换成规则。除了化学和生物学,医学是另一个可以马上利用专家系统的领域。此时的斯坦福医学院来了一位从哈佛大学本科数学毕业的高才生肖特莱福(EdwardShortliffe),他1976年在斯坦福医学院拿到医学学位M.D.,但一年前在布坎南的指导下,他已经获得了计算机科学的博士,论文就是专家系统MYCIN,一个针对细菌感染的诊断系统。MYCIN的处方准确率是69%,当时专科医生的准确率是80%,但MYCIN的成绩已经优于非本专业的医生。肖特莱福因此获得1976年ACM为青年计算机科学家设立的霍普(GraceMurrayHopper)奖。肖特莱福随后去麻省总医院做了三年内科住院医生,1979年回到斯坦福大学兼任医学院和计算机系的教授。
3.专家系统的成熟
XCON到底为DEC省了多少钱一直是个谜,最高的说法是一年省4000万美元,还有的说法是2500万美元,最低的说法是顶多几百万美元。无论如何,DEC是把XCON当作商业成功来宣传的。XCON确实体现了技术的进步,其起源是卡内基梅隆大学的R1。说来也有意思,最早的XCON居然是用Fortran语言写的,失败后居然令人发指地改用BASIC语言。纽厄尔的博士生CharlesForgy发明了Rete算法和OPS语言,极大地提高了专家系统的效率,XCON迅速采用了OPS和随后的OPS5。
20世纪80年代初到20世纪90年代初,专家系统经历了10年的黄金期,随着日本五代机的幻灭,“专家系统”变成了一个不仅不时髦,反而有负面含义的词。互联网催生的电子商务,有很多和XCON类似的应用场景,于是新瓶装旧酒,专家系统摇身一变,改名规则引擎,成为中间件的标配。征信、反欺诈和风险控制一直是规则系统擅长的领域,征信公司FICO收购了一系列一直苟延残喘的专家系统公司,包括Forgy的RulesPower。目前已经很少有独立的专家系统公司了。
4.知识表示
逻辑
逻辑是最方便的知识表示语言,从亚里士多德开始人们就熟悉,逻辑同时具有各种数学性质。任何一本逻辑入门书都会有那个著名的苏格拉底的例子:人必有一死,苏格拉底是人,所以苏格拉底必死。这个三段论表示成现代的数理逻辑就成了如下形式。
大前提和小前提:(x)Man(x)Mortal(x)&Man(Socrates)
结论:Mortal(Socrates)
一阶逻辑也称谓词逻辑,是希尔伯特简化罗素的《数学原理》中逻辑的结果。谓词逻辑没有本体,也就是没有关于特定世界的公理。也正因此,哲学家、逻辑学家蒯因(W.V.Quine)把逻辑等同于一阶逻辑。一阶逻辑只是语法,没有本体,没有语义;而高阶逻辑,在蒯因的眼里,其实是“披着伪装的集合论”(settheoryindisguise)。费根鲍姆所谓的知识就是本体。当然,费根鲍姆不是从逻辑的角度而是从心理的角度看问题,这显然受到他的老师纽厄尔和司马贺的影响。
可计算性和计算复杂性理论与逻辑密不可分。一阶逻辑是不可判定的,命题逻辑的可满足性问题是NP完全的。知识表示的一个核心问题是找到一个一阶逻辑的子集,它是可判定的,并且尽可能地有效。描述逻辑应运而生。描述逻辑可以表达实体和类以及类和类之间的关系。描述逻辑中的实体就是一阶逻辑中的常量。实体的表示在描述逻辑中也称Abox,例如“牛顿是物理学家”可以表示为:
Physicist(Newton)
描述逻辑中不需要变量,描述逻辑的术语更像是集合论,类和类之间的关系也称TBox。例如,在一个本体中,律师事务所(Lawfirm)是公司(Company)的子集,公司是组织(Organization)的子集,组织是Agent的子集,Agent是Thing的子集,这样一系列关系就可以表示为:
律师事务所公司组织AgentThing
其对应的一阶逻辑表达式为:
Lawfirm(x)→Company(x),Company(x)→Organization(x),
Organization(x)→Agent(x),
Agent(x)→Thing(x)
一阶逻辑的定理证明的TermIndex技术中有Subsumption的概念,表示Term之间的集合从属关系。Tbox表达了一种简化的Subsumption。除了ABox和TBox,还有RBox表示关系或者角色,关系之间可以有集合论中常有的子集、交集、并集等操作,例如“父亲的父亲是祖父”可表示为:
hasFatherhasFatherhasGrandFather
hasFather(x,y)∧hasFather(y,z)→hasGrandFather(x,z)
心理学与语言学
明斯基的框架
Sowa的概念图
5.雷纳特和大知识系统
在日本五代机项目带来的狂潮中,美国政府决定联合多家高新技术企业在得克萨斯大学奥斯汀分校所在地建立微电子与计算机技术公司(MCC,MicroelectronicsandComputerConsortium)以抗衡日本,海军上将英曼(Inman)被任命为CEO,当时在奥斯汀分校从事机器定理证明的资深教授布莱索(WoodyBledsoe)全职加入MCC负责研发。这让人想起“二战”时曼哈顿工程中格里菲斯将军和奥本海默的分工。费根鲍姆提议建立美国的国家知识技术中心(NationalCenterforKnowledgeTechnology),像狄德罗创建百科全书一样,把人类有史以来的知识建库,这自然对MCC的计划也有很大影响。布莱索向英曼推荐了费根鲍姆的学生雷纳特(DouglasLenat)。
雷纳特此时30岁出头,是人工智能领域的一颗新星。他在宾夕法尼亚大学得了数学和物理双学位后又拿了个数学硕士学位,毕业后他对数学和物理的学术工作都失去了兴趣,但一毕业马上就面临征兵,只得又跑到加州理工学院接着读博士。期间他对人工智能产生了强烈兴趣,遂转学到斯坦福大学想跟随麦卡锡,但正赶上麦卡锡的学术休假年,于是他变成了费根鲍姆和布坎南的学生。他的博士论文实现了一个称作AM的程序,为此,IJCAI在他博士毕业第二年就给了他一个“计算机与思维”大奖。AM就是自动数学家(automatedmathematician)的简称,它可以自动“发现”定理。雷纳特没有用“发明”这个词,从某种意义上体现了他的哲学立场。在经受了一连串关于AM不严谨的批评之后,雷纳特推出了AM的后继Eurisko。Eurisko的应用领域更加广泛,包括博弈。
当雷纳特来到MCC时,他已经有了一个新的想法:把人类的常识编码,建成知识库。这个新项目叫Cyc,这三个字母取自英文单词“百科全书”(encyclopedia)。这其实就是最早的知识图谱。雷纳特坚定地支持他老师费根鲍姆的知识原则(knowledgeprinciple):一个系统之所以能展示高级的智能理解和行为,主要是因为在所从事的领域所表现出来的特定知识:概念、事实、表示、方法、比喻以及启发。雷纳特甚至说:“智能就是一千万条规则。”
索瓦提出“知识汤”(knowledgesoup)的说法:我们脑子里的知识不是一坨知识,而是好几坨知识,每一坨内部是一致的,但坨和坨之间可能不一致,坨和坨之间是松散耦合的。古哈(Guha)在斯坦福大学的博士论文导师是麦卡锡和费根鲍姆,他的论文讲的是如何将一个大理论分解为多个“微理论”(microtheory),如何利用Cyc作为多个不同数据源的前端而不是全部,这恰是索瓦的“知识汤”的实现。Cyc由此可成为数据或信息整合的工具。雷纳特对此有点不爽,但他还是把古哈招到了门下。
倒是WordNet在各种版本的Linux配置的AppCenter里很容易找到。WordNet比Cyc更基本也更好用,当然WordNet没有Cyc那么多的推理功能。再过50年,人们对一阶逻辑也不会像对莎士比亚那么熟。也许WordNet并不是一个好的例子。Cyc的原始目标更像是当今的维基百科,不过维基百科的受众是人,Cyc的用户是机器。Cyc在20世纪90年代初期就被批评说没有成功案例,而当时的其他专家系统都有或多或少的应用。雷纳特辩解道,Cyc只有在知识量突破临界点(criticalmass)之后才能带来收益。现在距离那时的批评,已经又过去了20多年。我们还是看不到可观的应用。
Cyc现在有两个版本:企业版和研究版。企业版收费,研究版对研究人员开放。曾经有一个开源的OpenCyc,是一个简版,但试用中发现OpenCyc引发的问题太多,被停掉了,Cyc正在准备用一个云版代替OpenCyc。
雷纳特曾说:“学习只在已知事物的边缘发生,所以人们只可能学到与自己已知相似的新东西。如果你试图学习的东西与你已知的东西距离不远,那么你就能学会。这个边缘的范围越大(你已知的东西越多),就越有可能发现新的东西。”这不仅是他早期研究机器学习的感悟,也可以看作他对后来Cyc项目的体会。1984年雷纳特开始Cyc项目时,才30岁出头,现在30多年过去了,他已经年近70岁,仍然担任Cycorp的CEO。
6.语义网
其实万维网更大的功劳应该算在天才程序员安德森(MarcAndreessen)的头上,是革命性的Mosaic浏览器带来了互联网革命。年轻的安德森志在改变世界,而不是徒得虚名。在克拉克(JimClark)的指点和帮助下,他创办了互联网标志性企业“网景”,后来又经历了几次艰难但不是特别成功的创业。在第二次互联网高峰来临时,安德森与时俱进地创办了新一代风险投资公司安德森-霍洛维茨,成果和影响力直追老牌风投KPCB和红杉资本。
参考文献指南
布坎南在1991年曾接受明尼苏达大学巴贝奇研究所的口述历史采访,见“OralHistoryInterviewwithBruceG.Buchanan”(Buchanan,1991)。在布坎南的采访中,我们清晰地看到一些学术管理者在团队中举足轻重的作用,例如斯坦福大学人工智能实验室的副主任(ExecutiveOfficer,美国海军中简称XO,特指副舰长)厄内斯特(LesEarnest),他为麦卡锡和费根鲍姆打理人工智能实验室的日常事务,撰写给各种资助机构的项目计划书,而在麻省理工学院为明斯基操持这些事务的是温斯顿(PatrickWinston)。
布坎南在回忆1965年到1985年主要的人工智能事件时,提到两件事:一个是硬件进步(LISP工作站是代表例子),另一个是基于知识的系统。布坎南把计算机科学分成两个维度,横轴是处理,纵轴是数据,这多少有点像知识和推理之分。数据可按类型分成数值的和符号的,而处理则分为算法的和启发式的,那么整个计算机科学可以划分成如下4个象限:
2012年出版的第十五版《大英百科全书》是最后的纸质版,其中专门有一卷Propedia,是整个百科全书的目录或者索引,也可以被看作某种知识的本体。在Propedia中,人类积攒的知识依序被分为:逻辑、数学、科学、历史与人文、哲学,等等。当然科学又被依次细分为:物理科学、地球科学、生物科学、医学、社会科学与心理学,等等。我猜这不完全是按照学科或者智力的鄙视链来的,因为主编是一位执拗的哲学家。但《大英百科全书》的知识颗粒度太粗了,相对维基百科,数据量太小。关于大英百科全书和维基百科的比较见尼克《哲学评书》中“百科全书死了,百科全书万岁”一章。