解读 · 定义、机制与实例

什么是符号 AI?

人工智能中把知识写成显式符号与规则、再用逻辑和搜索进行推理的那一支。它如何运作、一个带数学的完整例子、它与机器学习的比较、它今天在哪里运行,以及它在哪里失效。

符号 AI(symbolic AI,符号人工智能)是这样一种人工智能方法:它把知识表示为显式的、人可读的符号(对象、关系与规则),并通过逻辑、推理和搜索来操作这些符号,从而得出结论。每一个结论都可以追溯到产生它的事实与规则。它也被称为经典 AI、基于规则的 AI 或 GOFAI。

一段话说清

一个符号 AI 系统由两部分组成:一个用形式语言写成的、由事实与规则构成的知识库,以及一个推理过程,它从已有事实推出新事实,或者搜索一串能够到达目标的步骤。除非另外加入学习组件,它不会从统计中学到任何东西;系统知道的,就是某个人或某个过程写下来的内容。这让符号 AI 精确、可检查、可修正,也正因如此,它的答案会附带一份证明。同样的原因,它在写下的内容之外显得脆弱,填充知识的代价高昂,并且容易陷入组合爆炸。从 20 世纪 50 年代到 80 年代末,符号 AI 主导了这个领域;它从未停止在编译器、求解器、规划器和规则引擎中运行;如今它又作为神经符号系统中负责推理的那一半回归。

1. 精确的定义

当一个系统的知识和推理都由符号承载时,它就是符号 AI。符号是诸如 Parent、ann 或 Ancestor 这样的记号,它们代表世界中的事物,并按照明确的语法组合成更大的表达式。反复出现的要素有四个:

  1. 含义事先声明的符号。每个符号命名一个对象、一种性质或一种关系。它的含义由构建系统的人确定,而不是从数据中发现。
  2. 显式的知识。事实与规则用形式语言写成:逻辑、产生式规则、框架、带类型关系的图。每一条知识都是独立的、可读的、可删除的条目。
  3. 推理。一个通用过程借助肯定前件(modus ponens)或归结(resolution)等推理规则,从已有表达式推出新表达式。无论哪个领域,这个过程都相同;变化的只是知识库。
  4. 搜索。当单步推理无法回答问题时,系统在由可能步骤(证明、计划、着法)构成的空间中探索,直到找到可行的一条,或穷尽整个空间。

这一思想的经典表述,是艾伦·纽厄尔(Allen Newell)与赫伯特·西蒙(Herbert Simon)的物理符号系统假说,出自他们 1975 年的图灵奖演讲,于 1976 年发表:“物理符号系统具有实现一般智能行为的充分必要手段”[2]。同一篇演讲还提出了启发式搜索假说:符号系统通过生成并逐步修改符号结构、直到得到一个解,来解决问题。这一假说对人类心智是否成立至今仍有争论;而作为一种工程方法,它造就了 1990 年以前的大部分 AI。

GOFAI 这个绰号,即“好的老式人工智能”(Good Old-Fashioned Artificial Intelligence),由哲学家约翰·豪格兰(John Haugeland)在 Artificial Intelligence: The Very Idea(1985)一书中提出 [3]。这种方法也被称为经典 AI、基于逻辑的 AI、基于知识的系统,或者用它在工业中最常见的形态来称呼:基于规则的 AI。它在历史上的对手是联结主义:认为智能涌现自大量简单单元及其经学习得到的数值连接强度,这正是今天神经网络的前身。

2. 符号 AI 如何运作

每个符号系统都要回答两个设计问题:知识如何写下来(知识表示),以及如何从中产生新结论(推理与搜索)?

2.1 知识表示

2.2 推理

一些扩展处理纯演绎做不到的事:缺省推理与非单调推理(新事实到来时可以撤回的结论),以及不确定性(20 世纪 70 年代 MYCIN 的确定性因子,后来的概率图模型)。

许多问题不是一次推理,而是一串选择。符号 AI 把它们表述为在状态空间中的搜索:一次证明搜索、一条路线、一棵国际象棋博弈树、一份排程。启发式搜索(A* 是标准例子)利用对剩余代价的估计,优先探索有希望的状态。带 alpha–beta 剪枝的博弈树搜索用于双人对弈。约束满足与布尔可满足性(SAT)搜索能让所有约束为真的赋值。自动规划搜索一串动作,每个动作都有明确的前提与效果,使初始状态变为目标状态。STRIPS(Fikes 与 Nilsson,1971)确立了多数规划器至今仍在使用的动作格式,如今以规划领域定义语言(PDDL)书写 [10]。

3. 一个完整的例子:规则、肯定前件与不动点

整套方法可以装进一棵家谱树。从两条事实和两条规则开始。

知识库。 事实 F0={Parent(ann,bob),Parent(bob,cal)},规则 R={R1,R2}(Parent 表示“是其父母”,Ancestor 表示“是其祖先”):
R1:∀x,yParent(x,y)→Ancestor(x,y) R2:∀x,y,zParent(x,y)∧Ancestor(y,z)→Ancestor(x,z)

3.1 唯一的推理规则:肯定前件

肯定前件(modus ponens)说:由 P 与 P→Q,得出 Q。含变量时,这条规则需要一个经合一求得的代换 θ。这就是广义肯定前件:

p1′,…,pn′(p1∧…∧pn→q) qθ 其中对每个 i 都有 pi′θ=piθ

3.2 前向链接直至不动点

前向链接一次性把每条规则应用到已知事实的每一种匹配组合上。把它写成作用于事实集合的算子 T:

T(F)=F∪{qθ:(p1∧…∧pn→q)∈R,piθ∈F 对所有 i}, Fk+1=T(Fk)

并在第一个满足 Fk+1=Fk 的 k 处停止,这就是不动点。在家谱树上:

在上述知识库上的前向链接。每条新事实都记录了产生它的规则与代换。
轮次规则代换 θ新事实
1R1{x/ann, y/bob}Ancestor(ann, bob)
1R1{x/bob, y/cal}Ancestor(bob, cal)
2R2{x/ann, y/bob, z/cal}Ancestor(ann, cal)
3R1、R2所有匹配都已知无:不动点,F3=F2

第 2 轮中,规则 R2 需要 Ancestor(bob, cal),而它在第 1 轮产生之前并不存在。这就是链接的本质:结论变成前提。到第 3 轮,每条规则仍然能匹配,但产出的都是集合中已有的事实,于是过程停止,共得到五条事实。

定理(Datalog 的终止性与完备性)。 设规则都是不含函数符号的确定子句,涉及 n 个常量与 p 个元数至多为 a 的谓词。那么前向链接在至多 p·na 个新增事实的轮次之后到达不动点 F*,并且一个基原子属于 F*,当且仅当它被 F0∪R 逻辑蕴涵 [12] [1]。
证明概要。 基原子至多有 p·na 个,而 F0⊆F1⊆⋯ 只增不减,所以它必然停止增长。可靠性:每条新增事实都由已被蕴涵的事实经广义肯定前件推出。完备性:恰好令 F* 中的原子为真的那个模型满足每条事实,并且由于 F* 是不动点,也满足每条规则;不在 F* 中的原子在该模型中为假,因此不被蕴涵。∎

对家谱树而言,p=2、n=3、a=2:至多 18 条可能的事实,而过程在 5 条时停止。这个定理还说出了统计模型说不出的话:Ancestor(cal, ann) 不在不动点中,所以它不被这个知识库蕴涵。系统并不是认为它“不太可能”,而是没有任何推导,并如实说出这一点。

3.3 同一个答案,反向求得

反向链接提问 Ancestor(ann, cal)?。R1 需要 Parent(ann, cal),这不是事实,于是该分支失败。R2 以 θ={x/ann,z/cal} 合一,留下两个子目标 Parent(ann, y) 与 Ancestor(y, cal)。第一个由 y = bob 满足;第二个 Ancestor(bob, cal) 由 R1 与 Parent(bob, cal) 推出。结论相同,证明相同,只是从另一端找到。反向链接只触及与问题相关的事实,这正是 Prolog 和诊断型专家系统采用它的原因。

3.4 为什么推导本身就是解释

Ancestor(ann, cal) 的推导树 一棵证明树。顶部的结论 Ancestor(ann, cal) 由规则 R2 从两个前提得出:给定事实 Parent(ann, bob),以及推出的事实 Ancestor(bob, cal)。Ancestor(bob, cal) 由规则 R1 从给定事实 Parent(bob, cal) 得出。 Ancestor(ann, cal) 由 R2,θ = {x/ann, y/bob, z/cal} Parent(ann, bob) 给定事实 Ancestor(bob, cal) 由 R1,θ = {x/bob, y/cal} Parent(bob, cal) 给定事实

图 1. Ancestor(ann, cal) 的推导。每个节点要么是给定事实,要么是某条具名规则在给定代换下的结论。

问一个符号系统为什么相信 Ancestor(ann, cal),诚实的回答就是图 1。这棵树不是事后生成的摘要,它就是计算本身。这带来三个实际后果:

4. 符号 AI 与机器学习、神经网络的比较

各方法的典型形态。真实系统往往混合两者,见 §8。
维度符号 AI机器学习 / 神经网络
表示显式的符号、规则、图;每一条都可单独阅读分布在模型中的数值参数(权重);没有哪个单独的权重代表一条事实
知识从何而来由人编写,或从结构化来源编译通过优化拟合样本
学习并非内置;存在归纳逻辑程序设计等扩展核心机制
可解释性推导本身就是解释至多是事后近似
数据需求很少或不需要;一条规则覆盖无穷多情形大规模的有标注或无标注数据集
杂乱的感知输入(图像、语音、自由文本)弱:符号必须由外部提供强
脆弱性一旦超出写下的内容便骤然失效超出训练分布时性能下降,而且常常悄无声息
保证可靠性,以及逻辑允许时的完备性统计性的:在相似数据上的期望误差
当它不知道时没有推导:它可以说“不被蕴涵”除非另加弃权机制,否则仍会输出最可能的答案
改变行为修改一条规则;效果即时且局部重新训练或微调;影响可能扩散
擅长之处验证、规划、配置、合规,以及对结构化数据的精确推理感知、语言,以及从复杂到无法写成规则的模式中进行预测

两者与其说是对手,不如说是互补。神经网络擅长把原始信号变成类别;符号系统擅长在类别已经存在之后,做精确、可检查的工作。长期以来,这种分野被称为符号主义与联结主义之争。今天构建的大多数有意思的系统同时使用两者,而设计上的关键问题是:哪一部分拥有“什么算作真”的决定权。

5. 今天仍在使用的符号 AI 实例

符号 AI 从未消失。它一旦奏效就不再被称为 AI,并在大多数人每天使用却浑然不觉的软件中运行。

6. 长处与局限

6.1 符号 AI 的长处

6.2 它在哪里失效

7. 容易混淆的概念

8. 今天的符号 AI,以及一段简史

当前这一波 AI 是神经网络的;而在其上构建的最强系统,越来越多地依靠符号机制来完成必须精确的部分。大语言模型会把计算器、代码解释器、数据库和求解器当作工具来调用。DeepMind 的 AlphaGeometry(2024)把一个负责提出辅助构造的语言模型与一个负责证明的符号演绎引擎结合,解出了 30 道近年奥赛几何题中的 25 道 [21]。AlphaProof 用 Lean 书写证明,因此每一份被接受的证明都经过证明助手内核的检查。阿图尔·达维拉·加塞兹(Artur d’Avila Garcez)与路易斯·兰姆(Luís Lamb)把这种结合称为 AI 的“第三次浪潮”[7]。这些部件如何组合、又会在哪里出错,是我们神经符号 AI 一页的主题。

用一段话讲完历史:1956 年的达特茅斯研讨会为这个领域命名;纽厄尔、肖(Shaw)与西蒙在同一时期的“逻辑理论家”(Logic Theorist)通过启发式搜索证明了《数学原理》(Principia Mathematica)中的定理。20 世纪 60、70 年代带来了归结、Prolog、框架和规划器;80 年代迎来专家系统的商业热潮,随后是专用硬件市场的崩溃,以及第二次“AI 寒冬”。从 90 年代起统计机器学习领先,2012 年起则是深度学习。带日期的完整故事见符号 AI 的历史。关于符号系统与知识表示的基础理论,见符号系统;关于如何把符号步骤串成确定性流水线,见符号流。

9. 符号 AI 与失效安全模型

失效安全模型是这样一种 AI 模型:当它失败时,失败会把它推向受控的安全状态;证据缺失时它弃权,它的学习可以收窄它的行为,却永远不能扩大它被授权做的事。符号 AI 是构成这种安全状态的天然材料,理由本页前文都已出现:

关键词是决定权。在语言模型旁边加一个规则检查器,并不能让这个组合成为失效安全的,只要模型的输出仍然可以不经检查地到达用户或执行机构。只有当符号层是决定“什么算作真”的那一方时,这个性质才成立:模型可以提议;只有地板能接纳一条事实。这也是一条诚实的局限。符号地板的好坏取决于它的来源和规则;它并不能让系统正确,而是让系统的失败终结于“未知”,而不是一个自信的错误。我们的论文《编排层的鸿沟》论证了为什么链级不变量需要这样一层,而魔方对比用一幅画面展示了其中的差别:一个不可能的魔方被点名拒绝,这是置信度分数无法表达的。

Perslis Research 的 Peel 就是这样构建的。据我们所知,它是第一个失效安全模型(确切的主张与最接近的更早工作,见什么是失效安全模型?)。做决定的回路中没有神经网络;知识是有类型、有来源的卡片;学习是可读的计数。Peel 是研究原型,并非经过认证的安全系统。关于 Perslis 如何使用符号层,更多内容见Perslis 的符号 AI。

每一种技术,一页讲清。从 A* 与 alpha–beta 到 Rete、STRIPS、描述逻辑与 CDCL:符号 AI 技术大全收录 130 多种技术,按十个家族分别详解。

10. 常见问题

用简单的话说,什么是符号 AI?
符号 AI 是这样一种人工智能:它依据用形式语言写下的显式事实与规则工作,并通过对它们运用逻辑与搜索得出结论。由于每个结论都是从明确陈述的事实与规则一步步推出的,系统能够准确展示它为什么得出这个结论。
什么是 GOFAI?
GOFAI 是 Good Old-Fashioned Artificial Intelligence(好的老式人工智能)的缩写。哲学家约翰·豪格兰在 1985 年的著作 Artificial Intelligence: The Very Idea 中提出这个词,用来指称经典符号 AI:把知识表示为符号、并通过操作符号进行推理的系统。
ChatGPT 是符号 AI 吗?
不是。ChatGPT 和其他大语言模型是在大量文本上训练的神经网络;它们的知识存储在数值权重中,而不是显式规则中。它们可以调用计算器、代码解释器、数据库或求解器等符号工具,把两者结合起来的系统被称为神经符号系统。
符号 AI 如今还在使用吗?
是的,而且应用广泛,只是常常不以这个名字出现。SAT 与 SMT 求解器、Lean、Rocq 和 Isabelle 等证明助手、自动规划器、编译器与类型检查器、业务规则引擎和知识图谱,都是每天都在使用的符号 AI。
符号 AI 与联结主义 AI 有什么区别?
符号 AI 把知识表示为显式的符号与规则,并用逻辑推理。联结主义 AI 是今天神经网络背后的传统,它把知识表示为分布在大量简单单元之间、经学习得到的数值连接强度。符号系统精确、可解释,但脆弱;联结主义系统能从数据中学习、能处理带噪声的输入,但提供的保证较弱。
符号 AI 可解释吗?
可以,这是由其构造决定的。符号系统通过一串规则应用得出结论,而这串应用本身就是解释:它列出了用到的每一条事实与规则,并且可以由独立的检查器验证。解释的质量取决于规则的质量,但它永远不是对系统所做之事的近似。
符号 AI 有哪些例子?
历史上的例子包括逻辑理论家、DENDRAL、MYCIN 和 XCON。当下的例子包括 Z3 等 SAT 与 SMT 求解器、Lean 等证明助手、PDDL 规划器、CLIPS 与 Drools 等规则引擎、Wikidata 等知识图谱,以及国际象棋引擎中的搜索部分。
符号 AI 有哪些局限?
它的主要局限是:超出所给知识时的脆弱性、从专家那里获取并维护这些知识的高昂代价、把符号与世界联系起来的符号接地问题,以及搜索中的组合爆炸。它在感知方面也很弱,例如识别图像或语音。

11. 参考文献

  1. S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach, 4th ed. Pearson, 2020.
  2. A. Newell, H. A. Simon. Computer Science as Empirical Inquiry: Symbols and Search. Communications of the ACM 19(3):113–126, 1976. doi:10.1145/360018.360022
  3. J. Haugeland. Artificial Intelligence: The Very Idea. MIT Press, 1985.
  4. J. McCarthy. Programs with Common Sense. In Mechanisation of Thought Processes: Proceedings of the Symposium at the National Physical Laboratory (Teddington, 1958). HMSO, London, 1959.
  5. J. A. Robinson. A Machine-Oriented Logic Based on the Resolution Principle. Journal of the ACM 12(1):23–41, 1965. doi:10.1145/321250.321253
  6. S. Harnad. The Symbol Grounding Problem. Physica D 42:335–346, 1990. doi:10.1016/0167-2789(90)90087-6
  7. A. d’Avila Garcez, L. C. Lamb. Neurosymbolic AI: The 3rd Wave. Artificial Intelligence Review 56(11):12387–12406, 2023. doi:10.1007/s10462-023-10448-w. arXiv:2012.05876
  8. M. Minsky. A Framework for Representing Knowledge. MIT AI Laboratory Memo 306, 1974.
  9. M. R. Quillian. Semantic Memory. In M. Minsky (ed.), Semantic Information Processing. MIT Press, 1968.
  10. R. E. Fikes, N. J. Nilsson. STRIPS: A New Approach to the Application of Theorem Proving to Problem Solving. Artificial Intelligence 2(3–4):189–208, 1971.
  11. C. L. Forgy. Rete: A Fast Algorithm for the Many Pattern/Many Object Pattern Match Problem. Artificial Intelligence 19(1):17–37, 1982.
  12. M. H. van Emden, R. A. Kowalski. The Semantics of Predicate Logic as a Programming Language. Journal of the ACM 23(4):733–742, 1976.
  13. M. Davis, G. Logemann, D. Loveland. A Machine Program for Theorem-Proving. Communications of the ACM 5(7):394–397, 1962. doi:10.1145/368273.368557
  14. L. de Moura, N. Bjørner. Z3: An Efficient SMT Solver. TACAS 2008, LNCS 4963. doi:10.1007/978-3-540-78800-3_24
  15. L. de Moura, S. Kong, J. Avigad, F. van Doorn, J. von Raumer. The Lean Theorem Prover (System Description). CADE-25, 2015.
  16. E. H. Shortliffe. Computer-Based Medical Consultations: MYCIN. Elsevier, 1976.
  17. J. McDermott. R1: A Rule-Based Configurer of Computer Systems. Artificial Intelligence 19(1):39–88, 1982.
  18. E. A. Feigenbaum. The Art of Artificial Intelligence: Themes and Case Studies of Knowledge Engineering. Proceedings of IJCAI-77, 1977.
  19. J. Lighthill. Artificial Intelligence: A General Survey. In Artificial Intelligence: a paper symposium. Science Research Council, 1973.
  20. M. Schmidt, H. Lipson. Distilling Free-Form Natural Laws from Experimental Data. Science 324(5923):81–85, 2009. doi:10.1126/science.1165893
  21. T. H. Trinh, Y. Wu, Q. V. Le, H. He, T. Luong. Solving Olympiad Geometry without Human Demonstrations. Nature 625:476–482, 2024.