奎克的藏经阁 · MinerU 解析内容

智慧的疆界 从图灵机到人工智能

456 个 PDF 物理页 · 本页显示文件第 91–100 页

PDF 物理页索引 90

文件中的第 91 页 · 印刷页码:75

1957 年,在“逻辑理论家”公布后不久,纽厄尔和司马贺还发布了一款更具有普适性的问题解决程序,命名为“一般问题解决器”(General ProblemSolver,GPS)。在科学界,“一般”(General)就意味着普适,通常代表了一种非常高的目标。纽厄尔和司马贺为程序起了“一般问题解决器”这样的名字,是希望任何已形式化的、具备完全信息的问题都可以用这个程序去解决,他们给 GPS 设定的适用范围涉及从逻辑推理、定理证明到人机游戏对弈等多个领域。GPS 项目持续了十年之久,虽然最终并没有哪个领域发现有直接使用这个程序完成证明并形成特别大影响的案例,但 GPS 项目作为纽厄尔和司马贺使用心理学方法去探索机器模拟智能的一次有益尝试,很有历史意义。

GPS 解决问题的基本思路不同于“逻辑理论家”,它源于模仿人类解决问题的启发式策略,是基于心理学中的“手段 - 目的分析”(Means-Ends Analysis)理论。司马贺本身就是这方面的顶尖专家,他凭借这个理论获得了美国心理学会的杰出科学贡献奖和终身成就奖。人们通常会把要解决的问题分解成一系列子问题,并寻找解决这些子问题的手段,通过解决这些子问题,逐渐实现问题的最终解决,GPS 解决问题的方法就是模拟这个问题分解的过程,逐步分解问题空间,通过拆分子问题构建搜索树,直到到达已知条件结束搜索。在 GPS项目之后,纽厄尔和司马贺在计算机问题求解这个领域还继续提出了针对非良好结构问题(Poorly Structured Problem)的求解程序“UNDERSTAND”。

当计算机运算速度逐渐提升上去之后,人工智能确实在问题求解这个领域取得了一些具有实用价值的成果,其中最有价值的案例是计算机(在人类辅助剪枝、修正下)证明了当时世界三大数学猜想<sup>○一</sup>之一的四色猜想,尽管很多数学家认为靠运算速度暴力搜索的方法很不优雅,但这个成果依然震撼了整个数学界。

第 3 章 符号主义学派

75

○一 世界三大数学猜想:“费马猜想”“四色猜想”和“哥德巴赫猜想”。其中四色猜想的证明在 1976 年由美国数学家阿佩尔(Kenneth Appel)与哈肯(Wolfgang Haken)借助计算机完成,遂称“四色定理”;而费马猜想的证明于 1994 年由英国数学家安德鲁·怀尔斯(Andrew Wiles)完成,遂称“费马大定理”(因为之前已经有“费马定理”了)。

PDF 物理页索引 91

文件中的第 92 页 · 印刷页码:76

总体来讲,由于纽厄尔和司马贺在心理学、决策论方面有非常高深的造诣,所以由他们领导的卡内基梅隆大学一系的主要人工智能研究方向是从人类解决问题的思维活动出发,尝试将这种思维过程模型化后应用于计算机之上。他们经常基于心理学实验的结果来开发模拟人类解决问题方法的程序,这种研究方法一度成为人工智能和符号主义的主流,并在 20 世纪 80 年代发展到顶峰。在符号主义学派中,以纽厄尔和司马贺为代表的这一系又被称为“认知派”。

与“认知派”相对,符号主义学派中另外一位主要人物麦卡锡则认为机器不需要模拟人类的思想,而应尝试直接找出抽象推理和解决问题的本质,只要通过逻辑推理能展现出智能行为即可,大可不必去管人类是否使用同样的方式思考。所以,由他开创的斯坦福大学一系主要致力于寻找形式化描述客观世界的方法,通过逻辑推理去解决人工智能的问题,因此这一系在符号主义学派中又被称为“逻辑派”。

当然,在这两个派别之外还存在一些其他的细分研究方向,譬如明斯基从连接主义学派“叛变”到符号主义学派以后,曾经一度倾向于支持认知派以心理学去研究人工智能的方法,后来他对实现人工智能的主要观点又转变为智能是极度复杂的,人类大脑中存在着许多用于解决不同问题的各有差异的结构,因此不存在任何单一的可以描述智能的机制,而是需要有不同的智能体(Agent)对人类的各种机制、能力进行组织运用,人类的智能是综合了多种智能体的宏观结果<sup>○一</sup>,这种思路逐渐发展成今天基于“智能体”实现人工智能的研究方法。明斯基提出了其中重要的“框架理论”(Frame Theory),成为“智能体”这个研究方向的开创者。尽管由于当时的历史局限,明斯基不可能凭空给出具体的、可应用于实践的智能体构造方法,但是在 2022 年生成式语言大模型与算力瓶颈相继被突破后,智能体的概念很快就被人们重新拾起并广泛接受,成为许多智能助理应用共同的理论基础。

76

第二部分 学派争鸣

○一 框架理论在明斯基 1975 年出版的 A Framework of Representating Knowledge 中提出,智能体理论在其 1986 年出版的 The Society of Mind 中提出。

PDF 物理页索引 92

文件中的第 93 页 · 印刷页码:77

无论纽厄尔、司马贺、麦卡锡、明斯基及其他人工智能学者选择的研究方向如何,至少在当时,即人工智能建立的最初 20 多年里,符号主义学派的学者首先考虑的寻找人工智能的入手点是假设所有已知的知识都可以通过形式语言精确描述,并可以全部灌输给计算机(这一点只能是假设,因为受当时计算机硬件的限制,只能从理论上或者规模十分有限的数据量上去模拟),然后通过计算机的运算能力实现在这些知识基础上的演绎推理,得出新的未知的知识,或者做出正确的决策,从而令机器展现出具有智能的行为。这个时期人工智能努力的目标,可以概括为本节标题的八个字—“描述已知,推理未知”。

下面笔者将通过“认知派”和“逻辑派”的两篇开山论文介绍这两个派系的学者当时的实践尝试,了解他们具体是如何描述已知、推理未知的。

3.3.1 常识编程

毫无疑问,能处理数学、逻辑问题的行为是具有智能的表现,但是仅仅能处理数学、逻辑等特定问题,肯定不等同于具有人类意义上的智能。人类的智能行为能够超越解决特定问题,能够展现出具有普适性的行为。在麦卡锡看来,对于特定问题的解决方法是“知识”,对于普适智能行为则需要“常识”才行,因此,当人工智能在人机对弈、计算机定理证明等几个特定领域取得了初步成果之后,麦卡锡就开始着手解决“如何才能令机器拥有常识”这个更能说明机器可以拥有智能的问题。

1958 年,麦卡锡发表了一篇名为《常识编程》(“ Programs With CommonSense”)<sup>○一</sup>的论文,文中提出了一种如何将计算机所处理问题的范围从特定专业领域推广至常识、生活等一般性问题的设想。麦卡锡设计了一个名为“ AdviceTaker”的理想系统,这是一款以形式语言(譬如以使用谓词逻辑为例)为输入和输出项的计算机程序,它基于一系列也是使用形式语言来描述的先验前提,根据逻辑规则自动推理获得问题的答案。答案可能是一个陈述句,用以回答一个具体问题;也可能是一个祈使句,用以向使用者提供一个行动建议。

第 3 章 符号主义学派

77

○一 论文地址:https://www.cs.rit.edu/\~rlaz/files/mccarthy1959.pdf。

PDF 物理页索引 93

文件中的第 94 页 · 印刷页码:78

与前文中介绍的形式科学使用公理化方法,依赖极少量公理推理出大量的定理和结论,进而构建出整套学说的过程类似,麦卡锡期望提供给 AdviceTaker 的先验知识是我们人类所了解的各种知识和常识中最基础、最本质的那一小部分。他希望 Advice Taker 先使用这些先验前提推理出简单的结论,再到复杂的结论,形成越来越多的新的知识,并根据这些知识持续改进自己的行为机制,从简单到复杂逐步获得人类的所有知识乃至超过人类现有的知识。麦卡锡将这样一套理想的系统和运作机制称为“常识编程”。

关于常识编程,麦卡锡在论文中也承认目前这只是一个框架性的构想,以至于他也不得不说“这个思路还有若干关键的问题没有得到解决”。对于常识编程的具体理论,笔者就不再做过多的枯燥阐述了,仍然通过一个简单例子来介绍一下这套机制大体上是如何工作的。

请读者设想一个场景:“你现在正在家里的书桌旁边看书,接到电话要去所在城市的机场接一位朋友,你应该怎样做?”

这个场景已经算是一个非常生活化的常识性问题了,听起来与任何学术都不会有半点联系。那就来看一下这个问题应该如何输入给 Advice Taker,以及它会输出怎样的结果:

● 首先,Advice Taker 中应该事先预置了几个最基础的行为规则。在这个场景中用到的包括:谓词“ can(x)”表示“如果可以实现 x 动作”、谓词“ do(x)”和“ did(x)”分别代表“执行x 动作”和“完成x 动作”,这几个谓词与任何特定问题无关,可作为公共的规则预置在系统中。

● 接下来,需要定义几个与问题相关的先验的前提,这里我们定义一个谓词“ at(x, y)”,表示“x 在y 旁边”。显然,at(x, y) 是具有传递性的,x在y 旁边,y 在z 旁边,可以推出x 在z 旁边的结论,用谓词逻辑来表达就是:

$$
\operatorname { a t } ( x , y ) , \ \operatorname { a t } ( y , z ) \to \operatorname { a t } ( x , z )
$$

● 在这个基础上,我们可以给 Advice Taker 输入一些常识来描述客观世界,如:

78

第二部分 学派争鸣

PDF 物理页索引 94

文件中的第 95 页 · 印刷页码:79

at(我,书桌)at(书桌,我家)at(汽车,我家)at(我家,城市)at(机场,城市)

● 我们还可以使用谓词 at 来定义一些新的规则,如令谓词“ go(x, y, z)”表示“从 x 通过 z 的方式到达 y”,即以下式子:

$$
\mathrm { d i d } ( \mathrm { g o } ( x , y , z ) ) { \to } \mathrm { a t } ( x , y )
$$

● 那么代表“步行可达”和“驾车可达”含义的谓词“ walkable”和“drivable”就可以这样来定义:

● 然后用这些规则进一步定义两个事实:“家附近是可以走路到达的”与“城市里则需要开车到达”:

● 再定义一个谓词“ canachult”表示“如果x 可以进行y 动作,就可以通过完成y 来获得 $z ^ { \dprime }$ ”,即:

$$
( x \to \mathrm { c a n } ( y ) ) , ( \mathrm { d i d } ( y ) \to z ) \to \mathrm { c a n a c h u l t } ( x , y , z )
$$

● 显然,canachult 也是具有传递性的,如果x 可以通过y 动作来得到z,z又可以通过 u 动作来得到 v,那么,x 依次经过y、u 动作就可以得到 $\nu _ { \mathrm { ~ o ~ } }$ 如果使用谓词“ prog(y, u)”来表示依次完成 y、u 动作的话,上面这句话可以用谓词逻辑表示为:

第 3 章 符号主义学派

79

PDF 物理页索引 95

文件中的第 96 页 · 印刷页码:80

● 最后,我们再定义一个谓词“ want(x)”,表示“要获取 x 而采取的行动”,它的具体定义如下:

● 这样,所有的前提都建立完毕,把“我要去机场”这个意愿表达出来,看看机器会给你什么建议:

根据以上定义,Advice Taker 就可以自动推理出“我要去机场”所要做的行为,下面是依次推理的步骤,最后一个输出的步骤就是结论,即“我要去机场”这个行为应该去做的第一个动作:“从书桌步行到汽车”。

  1. at(我,书桌)→ can(go(书桌,汽车,步行))
  1. at(我,汽车)→ can(go(我家,机场,驾车))
  1. did(go(书桌,汽车,步行)→ at(我,汽车))
  1. did(go(我家,机场,驾车)→ at(我,机场))
  1. canachult(at(我,书桌),go(书桌,汽车,步行),at(我,汽车))
  1. canachult(at(我,汽车),go(我家,机场,驾车),at(我,机场))
  1. canachult(at(我,书桌),prog(go(书桌,汽车,步行),go(我家,机场,驾车))→ at(我,机场))
  1. do(go(书桌,汽车,步行))

上面笔者列举的这个例子,来自麦卡锡《常识编程》论文的原文,定义和推理过程虽然对人类来说会觉得很烦琐,但这些“烦琐”对机器来说并不存在任何困难。从这个角度看,机器用逻辑推理模拟人类思考,似乎确实具备可行性。可是,Advice Taker 其实并未解决“常识源自哪里?”这个真正的难题,上面这个例子中,诸如 go、walkable、drivable、canachult、want 这些谓词的定义,都是人类总结后灌输进去的,而不是计算机从某种“公理”或者“公设”性质的常识中推导而来的。使用一小撮最小化、最本质的公理定义和规则的集合就可以推理出人类的所有常识,这样的思路在数学、几何这些抽象世界虽然行得通而且常见,但也是经过了上千年时间和无数数学家的智慧才成功完成的,要在具体的现实世界里做到这点谈何容易。麦卡锡在论文中也承认了现在并不能解决这个问题,所以 Advice Taker 只是给出了一个让计算机获得常识的理论上的可行性,而暂时无法作为一个真正去实施的指导方法。

80

第二部分 学派争鸣

PDF 物理页索引 96

文件中的第 97 页 · 印刷页码:81

但即使是为了验证这种计算机自动推理知识的可行性,麦卡锡也做了相当多的工作。他借鉴了纽厄尔和司马贺之前提出的 IPL(见第 2 章关于人工智能这门学科名字之争那部分),在 1960 年又发表了一篇名为《递归函数的符号表达式以及由机器运算的方式,第一部分》(“ Recursive Functions of SymbolicExpressions and Their Computation by Machine, Part Ⅰ”)的论文。论文中阐述了只通过七个简单的运算符以及用于函数的记号来构建一个具备图灵完备性的语言的想法(这其实就是通过计算机实现邱奇的 Lambda 演算),并将这种语言命名为 LISP(LISt Processing 的缩写,链表处理)。麦卡锡自己并未提供 LISP的实现程序,但他的学生史帝芬·罗素(Steve Russell)阅读完此论文后,在麻省理工学院的 IBM 704 计算机上成功完成了最初版本的 LISP 编译器,实现了最初版的 LISP。

LISP(及其方言变种,如 Clojure)直至现在仍然是活跃的编程语言,以前从事传统人工智能领域开发工作的程序员一般都要掌握 LISP,大量老式的人工智能软件系统都是用 LISP 编写的,与今天 Python 在人工智能编程中的地位相似。

假如有人说 Prolog 是最适合人工智能的编程语言,那么任何使用过 Prolog的人都不会怀疑这一点,因为 Prolog 就是为了逻辑推理而生的,解决类似上面“如何去机场”这种问题会显得无比流畅、自然。但许多编程语言书籍中还会讲到“ LISP 也是最适合人工智能的编程语言”。如果抛开 LISP 的作者是麦卡锡这个传承因素的影响,真的接触或使用过 LISP 的程序员可能看到这里也会对这种表述感到奇怪:LISP 与人工智能之间到底“适合”在哪里?

它们之间的联系可以从 LISP 的名字“链表处理”开始说起,LISP 是历史上第二悠久而且迄今仍然被广泛使用的高级程序语言,如果把它与另一门最为古老的语言 FORTRAN(1957 年发明)相比较,容易看出 FORTRAN 基本上是围绕处理数组建立的,LISP 则是围绕处理链表来实现的。数组和链表是两种最常用的线性数据结构,它们各有特点,但如果仅讨论用来存储逻辑推理涉及的符号的话,那链表显然要比数组合适得多,因为数组要求每个元素具有相同的数据结构,而多种多样的符号即使能设计成一种统一的数据结构来存储,空间效率也必定不会高到哪里去。

第 3 章 符号主义学派

81

PDF 物理页索引 97

文件中的第 98 页 · 印刷页码:82

LISP 在人工智能中还有另一个优势,即它可以很好地把麦卡锡设想的“符号推理能够从已知的知识推理出新的知识,乃至自我改进推理系统自身的行为”实现出来,LISP 中程序(行为)和数据(符号)是高度相似且可以互相转化的,麦卡锡把两者分别描述为“ M- 表达式”和“ S- 表达式”(现代 LISP 编程中只使用 S- 表达式了),其中 M 指“ Meta”,而 S 指“ Symbolic”。LISP 的重要特点“元编程”(Meta Programme)就源于它的数据可以变为程序、符号可以修改自身的行为这种能力,使用这个特性,程序可以很方便地实现新知识改进程序本身这个目标。

麦卡锡提出的常识编程即使以今天的视角来看也完全看不到实现的希望,很有可能人类的思维就不是逻辑推理能够模拟的。但麦卡锡为了验证常识编程而提出的 LISP 却将他在计算机编程语言领域的地位推向了一个几乎可以与“人工智能之父”这个头衔媲美的程度,可谓失之东隅,收之桑榆。

3.3.2 物理符号系统

物理符号系统是纽厄尔和司马贺提出的一套尝试解释智能来源机制的理论,它试图模拟人类如何获取、存储、传播和处理信息,并提供了一种将这个过程中的各种现象模型化,迁移到计算机中实现的途径。从人类心理的智能活动中提炼出智能机制是“认知派”的一贯研究思路,而将这种思想公开、完整、系统性地总结出来,则可以追溯到纽厄尔和司马贺 1975 年获得图灵奖时发表的演讲稿《作为经验主义探究的计算机科学:符号和查询》<sup>○一</sup>(“Computer

82

第二部分 学派争鸣

○一 演讲稿下载地址:http://dl.acm.org/citation.cfm?id=360022。

PDF 物理页索引 98

文件中的第 99 页 · 印刷页码:83

Science as Empirical Inquiry: Symbols and Search”)。也是在这篇演讲稿发表之后,符号主义学派的核心观点才算被完整地呈现出来,即“认知的本质是处理符号,推理就是采用启发式知识及启发式搜索对问题求解的过程”,甚至连“符号主义学派”这个名字本身也是从这篇演讲稿公布之后,才在人工智能研究中广泛流传开来的。

物理符号系统的理论主要由两种假说构成,分别是物理符号系统假说(Physical Symbol System Hypothesis)和启发式搜索假说(Heuristically SearchHypothesis)。名字很有专业感,不过没关系,既然这两套假说来源于对人类智能的模拟,它们就肯定可以用我们日常所能接触和理解的概念来类比解释。

在研究某个系统的时候,科学家通常都会建立一个简化的、去掉与研究内容无关特性的模型来定性地描述这个系统的性质,科学里把这个研究方法称为“结构性定律”。譬如,要去研究人类身体结构的功能,需要知道心脏用于供血、大脑用于思考、骨骼用于支撑,在这样的模型上研究不同人种的身体结构和功能就都比较简单了。虽然每一种器官、器官中的每一个组成部位,甚至每一个细胞本身都有着各不相同的和极其复杂的种类、形态、用途,但是这些与目的无关的信息并不影响我们对最终结果的研究和处理。

同样,“智能”是一个相当抽象的、让人难以下手的研究对象,物理符号则是用来描述智能的,相对而言更简单且更容易理解的模型。从这个角度出发,物理符号与我们前面讨论的数理逻辑符号其实没有太大的区别,逻辑符号可以理解为去除了自然语言中大量不精确的、有隐含意义和歧义的成分之后得到的一种精确的抽象表示,物理符号只是把自然语言换成了我们所能接触的各种物理实体。举个例子,人类见到苹果,脑海里会出现一个认知判断:这是可以吃的带甜味的水果。能得出“苹果有甜味”这个结论,通常人类的大脑里面的信息处理过程肯定不是“分布在舌头味蕾的 G 蛋白偶联受体与苹果中含有多个羟基的醛酮的甜味剂发生反应,激发形成神经信号传递到大脑形成甜味感”,而是“苹果”这个实体在人脑里本来就有“可以食用”“具有甜味”等属性,人脑可以把它与其他实体分辨出来,在这个分辨过程中,就可以将人脑视为能处理苹果这个物理符号的系统。

可以把任何信息加工系统都看作一个具体的物理系统,如人脑的神经系统、由计算机硬件构造的系统等。所谓符号就是用于匹配物体的“模式”(Pattern)。对于任何一种模式,只要系统能把它和其他模式区别开来,它就可以形成一个符号。对于人来说,苹果、香蕉是不同的符号,不同的英文字母也是不同的符号。物理符号系统的最根本任务和功能是对符号进行操作,辨认相同的符号以及区分不同的符号。根据纽厄尔和司马贺的设想,一个物理符号系统由“符号”(Symbol)、“表达式”(Expression)和“操作过程”(Process)三部分构成。多个符号组合起来就成了表达式,组合方式可以是多种多样的,系统在任意时刻都在对这些表达式执行操作,这个过程具体可以归纳为对表达式进行“创建”(Creation)、“修改”(Modification)、“复制”(Reproduction)和“销毁”(Destruction)这四个基本操作的不同顺序组合。

第 3 章 符号主义学派

83

PDF 物理页索引 99

文件中的第 100 页 · 印刷页码:84

物理符号系统假说的核心观点是认为物理符号系统就是普遍智能行为的充分且必要条件。在这句话里,“必要”意味着任何实现了智能的系统都可以被视为一个物理符号系统,这是现在的认知科学<sup>○一</sup>要去研究和证明的问题;而“充分”是指任何具有足够尺度的物理符号系统都可以经适当组织之后展现出智能,这是人工智能这门学科要去研究和证明的问题。另外,名字里的“物理”一词还强调了系统必须从根本上遵从物理学定律,即强调了认知与心灵、灵魂等唯心因素无关,因此智能可以由任何物质材料构成的系统来实现,而不限于人脑实现并使用的符号系统。

关于物理符号系统对信息的处理过程,纽厄尔和司马贺进一步提出了启发式搜索假说来进行解释,如果说物理符号系统是智能行为的抽象模型,那启发式搜索就是解决问题或做出决策的抽象模型,纽厄尔和司马贺认为,一个系统能表现出智能行为总是通过解决问题来体现的。

虽然根据纽厄尔和司马贺的观点,人类和计算机都是物理符号系统,但人类和计算机解决问题的方式其实有非常大的差异。举个例子,假设你在北京要从阜成门桥去故宫博物院,如果靠导航软件,它可能这么告诉你:“沿阜成门桥向东行驶 2 公里,右转进入西黄城根北街,左转沿西黄城根北街向南行驶180 米,左转进入西安门大街,右转沿西安门大街向东行驶 1.1 公里,右转进入北长街;沿北长街向南行驶 840 米,到达终点。”而如果你找人问路,他可能会说:“朝东一直开,到了北海大桥右转不久就可以看到西华门了,到时候停车找买票的地儿就行。”从这个例子可以看出,两者对精确性的定义完全不同,但是你依然有可能通过找人问路得到的结果到达目的地。这背后还隐含着精确性带来的成本问题:计算机解决问题的一贯方式是靠“蛮力”搜索问题空间,假如有无限的时间、无限的存储空间与无限的能量供应,那么确实可以通过穷举的方式遍历问题空间中的所有路径来找到最优解,但是人类思考问题的方式显然不是这样,人脑总是在有限的时间中搜索得出结论,即使这个结论不是最精确的、最优的。从人类拥有智能但计算机暂时还没有智能这一点就说明并不是搜索越多就意味着智能越高,相反,智能高的表现恰恰是不用经过大量搜索也能解决问题,这就是启发式搜索假说的基本观点。启发式搜索得到的结果不一定是最优的、最精确的,但是它的成本是可以负担的,而且结果一般而言是有效的。

84

第二部分 学派争鸣

○一 认知科学(Cognitive Science)是 1973 年克里斯多福·希金斯(Christopher Higgins)在评注莱特希尔报告时提出的,但是认知科学的研究工作其实很早之前就已经出现了。