第一章:图灵的困惑与知识的觉醒
第一章:图灵的困惑与知识的觉醒
> *"The question 'Can machines think?' is about as meaningful as the question 'Can submarines swim?'" — Edsger Dijkstra
艾伦·图灵的世纪之问
1950年深秋,剑桥大学的空气中弥漫着潮湿与墨水的味道。艾伦·图灵(Alan Turing)正坐在打字机前,修改他那篇即将改变计算机科学命运的论文。在《计算机器与智能》(Computing Machinery and Intelligence)这篇发表于《Mind》期刊的文章中,他并没有直接回答"机器能否思考"这个古老而深邃的哲学问题。相反,他提出了一个更具操作性的实验——如果一台机器能够在一场对话中让人类无法区分对方是机器还是人,那么我们就有理由说这台机器能够"思考"。
这就是著名的图灵测试(Turing Test),也被称为模仿游戏(Imitation Game)。图灵预测,到2000年,经过5分钟对话后,普通人类裁判的正确判断率不会超过70%。换句话说,一台足够聪明的机器将能够骗过大多数人的眼睛。
七十年后的今天,我们拥有了能够与人类进行流畅对话的大型语言模型,拥有了在围棋和星际争霸中击败人类冠军的AI系统,拥有了能够生成逼真图像和视频的生成式模型。然而,当我们在手机上询问智能助手"乔布斯在哪里出生的",它可能给出一个看似正确却毫无意义的回答;当我们在搜索引擎中输入"苹果公司CEO的第一辆车是什么品牌",它会困惑于这个问题背后复杂的语义关系;当我们在对话机器人中说"小明把球扔了,它滚到了桌子下面",我们必须费力地解释"它"指的是什么。
为什么连最简单的常识性理解,对机器而言都如此困难?
这个问题,恰恰是图灵在1950年那篇论文中被掩盖的核心困惑。图灵测试关注的是"行为模仿",而非"理解本身"。一台机器可以通过巧妙的模式匹配和话术技巧通过测试,却可能对世界一无所知——它既不知道苹果是一种水果,也不知道CEO意味着什么,更不理解"扔"和"滚"之间的因果关系。这就像一个从未见过大海的人,能够完美地背诵所有关于海洋的诗篇,却无法真正理解波浪的意义。
要理解为什么知识图谱会在人工智能的发展历程中诞生,我们必须回溯到这场知识觉醒的起点,理解机器在"理解"知识时面临的重重困境,以及人类为了克服这些困境所走过的曲折道路。
图灵测试背后的知识深渊
一句话的重量:一个思想实验
让我们暂时放下历史的宏观叙事,从一个简单的思想实验开始。请阅读以下句子:
> "小明把红色的球从桌子上拿起来,扔向正在玩耍的小狗。球弹了一下,滚进了沙发底下。"
这句话对任何一个三岁的人类孩子来说都容易理解。我们知道小明是一个男孩,他用他的手拿起了球(因为球之前在桌子上,所以他必须弯腰或伸手),然后通过手臂动作将球抛出(球从桌子移动到了别处),小狗被吓到或试图接球,球落地后弹起,最终停在了沙发下面那个黑暗的缝隙里。
理解这段话需要大量的背景知识和常识推理:
物理常识:球从高处落下时会受到重力作用;抛出的物体会沿抛物线运动;球碰到地面会弹起;物体会停在有遮挡的地方而不是穿过它们。
空间认知:桌子和沙发是不同的家具;球从桌子上到沙发底下需要水平移动;从桌子上扔东西意味着某种程度的"用力";"底下"是一个三维空间关系。
意图理解:小明扔球是有目的的行为,可能是玩耍、驱赶或其他意图;小狗的行为(玩耍)是对小明行为的反应。
因果推理:球从桌上消失是因为被拿走了;球滚进沙发底下是因为运动方向和障碍物的位置关系;小狗的行为是小明行为的潜在原因或结果。
现在,让我们想象如何让一台机器理解这段话。传统的方法是进行句法分析——识别句子中的主语、谓语、宾语,标注名词短语和动词短语,建立语法树结构。这种方法在20世纪60到70年代的自然语言处理领域占据主导地位。然而,句法分析只能告诉我们"谁做了什么",却无法回答"为什么会这样"和"这意味着什么"这类更深层的问题。
一台仅依赖句法分析的系统可能会将上述句子解析为一堆离散的符号序列:`[小明][红色的球][桌子上][拿起来][扔向][小狗][球][弹了一下][沙发底下]`。它能够识别出"小明"是主语,"扔"是动词,"球"是宾语,却无法真正理解这些符号所代表的概念——球是一个可以抛掷的圆形物体,桌子是一个有腿的平面家具,沙发底下是一个小孩子可能够不着的地方。
语言理解的核心不是符号操作,而是知识表征。当我们听到或阅读一段文字时,大脑会激活与之相关的知识网络:一个关于"扔球"的动作图式、关于"桌子"和"沙发"的空间知识、关于"小明"可能是一个男孩的文化假设、关于因果关系的逻辑推理能力。这些知识不是以离散符号的形式存储的,而是以高度互联、上下文敏感的方式组织的。
SHRDLU的短暂光芒
1968年,麻省理工学院的Terry Winograd开发了一个名为SHRDLU的系统,这或许是迄今为止最接近"真正理解"目标的对话系统之一。SHRDLU运行在一个模拟的"积木世界"中,这个世界只包含简单的几何物体——方块、锥体、棱柱、金字塔——以及它们在空间中的各种排列。用户可以通过自然语言命令与SHRDLU交互,让它"拿起红色的方块"或"把蓝色的锥体放在绿色的块上面"。
SHRDLU的惊人之处在于,它不仅能够执行这些命令,还能够解释它在做什么和回答关于世界状态的问题。当用户问"你刚才把哪个块放在绿色锥体上面了?"SHRDLU能够正确回忆并回答。当用户说"抓住那个你用来支撑另一个块的东西",SHRDLU能够正确理解"那个东西"指的是什么,因为它知道之前为了完成某个任务,曾将某物作为支撑。
为什么SHRDLU能够表现出一定程度的"理解"?关键在于Winograd为它构建了一个完整的世界模型:
``` .Block (B1, Red, Small, Cube) .Block (B2, Green, Small, Cube) .Block (B3, Blue, Large, Cube) .Block (B4, Yellow, Large, Box) .Pyramid (P1, Red, Small) .On (B1, Table) .On (B2, B3) .Holding (Robot, B4) ```
在这个简化的世界中,每种物体的属性和关系都是明确已知的,没有歧义,没有隐藏的复杂性。SHRDLU知道蓝色的大块(Box)和蓝色的小块(Cube)的区别,知道物体只能放在其他物体上面,知道"支撑"意味着什么物理关系。
然而,当我们试图将SHRDLU的方法推广到真实世界时,问题出现了。真实世界没有清晰的边界——什么是"桌子"?是只有四条腿的平面结构才算桌子,还是包括柜台、架子、甚至地面?真实世界充满歧义——"苹果"可以是一种水果、一家公司、一个手机品牌、或者一个音乐播放器的型号。真实世界知识是动态变化的——什么是"总统"?在2021年和2023年,这个问题的答案可能完全不同。
SHRDLU的光芒照亮了一个重要的真理:要理解语言,必须先理解世界。但它也暴露了一个残酷的现实:我们无法为真实世界中的每一个概念、每一种关系、每一个上下文变化手工编码所有必要的知识。
这就是图灵测试背后隐藏的知识深渊——一个远比表面看起来更加深邃、更加复杂的挑战。
人工智能的三次浪潮与两次寒冬
第一次浪潮:符号主义的辉煌与局限
人工智能作为一个正式学科,通常被认为诞生于1956年的达特茅斯会议。在这次由约翰·麦卡锡(John McCarthy)、马文·明斯基(Marvin Minsky)、克劳德·香农(Claude Shannon)和纳撒尼尔·罗切斯特(Nathan Rochester)组织的夏季研讨会上,"人工智能"这个术语首次被正式提出。与会者对机器智能抱有极高的期望——十年之内,机器将成为国际象棋冠军,机器将能够证明数学定理,许多重要的语音识别问题将得到解决。
这种乐观主义有其坚实的技术基础。20世纪50到70年代的AI研究主要建立在符号主义(Symbolicism)范式之上,其核心假设是:智能行为可以通过符号操作(symbol manipulation)来实现。人类的思想可以被理解为对符号的操纵——概念是符号,推理是符号转换的规则,而智能就是正确运用这些规则的过程。
这一时期的标志性成果包括:
通用问题求解器(GPS, 1959):由Allen Newell和Herbert Simon开发的GPS是一个能够解决"手段-目的分析"问题的通用程序。给定一个初始状态、目标状态和一组操作,GPS能够规划出从起点到终点的路径。虽然GPS的实际能力远不如其名称暗示的那样"通用",但它展示了通过形式化表示问题并搜索解空间来解决问题的思路。
ELIZA(1966):MIT的Joseph Weizenbaum开发的ELIZA是一个模拟心理治疗师的对话程序。ELIZA通过模式匹配和简单的替换规则,能够与用户进行看似有意义的对话。有趣的是,许多与ELIZA交互的用户——包括心理治疗师——开始认为他们是在与真人交流,甚至在得知真相后依然恋恋不舍。ELIZA证明了一个重要原则:对话中的智能感可以在缺乏真正理解的情况下被创造。这一发现对后来的聊天机器人设计产生了深远影响,但也埋下了"图灵测试可以被欺骗式地通过"的隐患。
定理证明器:这一时期的数学定理证明程序取得了一些令人瞩目的成果。1958年,Newell、Simon和Cliff Shaw开发了"逻辑理论家"(Logic Theorist),能够证明《数学原理》中的部分定理。1976年,Kenneth Appel和Wolfgang Haken使用计算机辅助证明了四色定理,成为计算机证明数学定理的重要里程碑。
然而,第一次AI浪潮也暴露出符号主义的根本局限:组合爆炸(combinatorial explosion)问题。当问题空间变得足够大时,穷举搜索变得不可行。以国际象棋为例,一盘棋的平均步数约为80步,而每一步平均有35种可能的走法,这意味着一盘棋的可能局面数约为$35^{80}$,这个数字远远超过了宇宙中原子的数量。
更重要的是,符号主义系统在处理常识知识方面表现糟糕。要让一台机器回答"把玻璃杯放在桌子上会发生什么"这样的问题,需要的常识知识量是天文数字——包括物理知识(玻璃易碎、桌子是硬的)、几何知识(放在上面意味着支撑关系)、意图知识(通常我们是想把杯子留在那里)等。而当时的研究者发现,人工编码这些知识的工作量几乎是无穷无尽的。
1974年,第一次AI寒冬降临。问题主要来自几个方面:英国政府削减了对AI研究的资助(以Lighthill报告为代表),因为研究者未能兑现那些宏大的承诺;计算能力的不足限制了复杂系统的实现;更重要的是,符号主义方法在处理真实世界问题时的失败让人们开始怀疑这一范式的前途。
第二次浪潮:连接主义的复兴
第一次寒冬持续了大约十年,直到20世纪80年代后期,随着计算能力的提升和新的技术范式的出现,AI研究开始复苏。这一次,引领潮流的是连接主义(Connectionism),也称为神经网络(Neural Networks)方法。
连接主义的核心思想来源于对大脑工作方式的类比:信息处理是由大量简单单元(神经元)通过加权连接进行并行分布式处理的过程。与传统AI的符号操作不同,神经网络通过调整连接权重来"学习"输入与输出之间的映射关系。
这一时期的标志性成果包括:
反向传播算法(Backpropagation):虽然这一算法的理论基础在20世纪60年代就已经提出,但直到1986年David Rumelhart、Geoffrey Hinton和Ronald Williams的论文发表后,它才被广泛应用于训练多层神经网络。反向传播解决了多层网络训练的难题,使得"深度"学习的概念成为可能。
卷积神经网络(CNN)的早期发展:Yann LeCun等人在20世纪80年代末到90年代开发的卷积神经网络,展示了神经网络在图像识别任务上的潜力。LeNet(1998)最终被用于手写邮政编码识别,成为第一个实现商业应用的深度学习系统。
循环神经网络(RNN)和长短期记忆网络(LSTM):这些架构被设计用于处理序列数据——语音识别、自然语言处理、时间序列预测——开启了深度学习在序列建模领域的探索。
连接主义方法相比符号主义有几个重要优势:
学习能力:传统AI系统需要人工编码所有规则,而神经网络能够从数据中自动学习特征表示。这解决了"知识获取瓶颈"的问题——不再需要专家手工编写每一条规则。
容错能力:神经网络的分布式表示使得系统对噪声和部分损坏的输入具有一定鲁棒性,不像符号系统那样脆弱。
泛化能力:经过适当训练的网络能够对未见过的输入做出合理响应,而不是像穷举搜索那样只对预定义的情况有效。
然而,连接主义也有其固有缺陷。黑箱问题——我们很难解释一个训练好的神经网络为什么会做出某个特定决策,这在医疗诊断、法律判决等需要可解释性的领域成为严重障碍。脆弱性问题——对输入的微小扰动可能导致完全不同的输出(对抗样本问题),表明网络学到的是表面模式而非深层语义。常识知识的困境——神经网络能够识别图像中的物体、翻译句子、生成文本,但它们对世界的理解依然停留在统计相关性层面,无法真正理解"重力"、"因果"、"意图"这些常识概念。
20世纪90年代到21世纪初,AI研究进入了一个相对低调的时期。符号主义因常识知识获取困难而失势,连接主义因计算资源限制和表现不佳而受限。业界对AI的态度从狂热转向务实,从"通用智能"转向"狭义应用"——语音识别、垃圾邮件过滤、推荐系统等具体任务成为这一时期AI应用的主流。
2006年,Geoffrey Hinton发表了关于深度信念网络(Deep Belief Networks)的论文,提出了逐层预训练的方法,为深度学习革命的到来吹响了号角。2012年,AlexNet在ImageNet图像分类挑战赛上以压倒性优势夺冠,深度学习正式登上历史舞台的中央。
第三次浪潮:知识革命的兴起
2012年之后的深度学习浪潮取得了令人目眩的成就。ResNet在图像分类上的错误率降至3.6%,超越了人类平均水平。AlphaGo在围棋领域击败了人类世界冠军。BERT、GPT等大型语言模型展示了令人惊讶的语言理解和生成能力。生成式AI在图像、代码、音乐等领域不断突破人们的想象边界。
然而,学术界和工业界逐渐认识到,深度学习的能力边界正在显现。大型语言模型虽然能够生成流畅、连贯的文本,但它们对事实的把握依然不稳定——它们可能自信地陈述错误信息("幻觉"问题),可能无法正确执行涉及精确数值或最新事件的任务,可能在简单的逻辑推理或多步骤问题求解上犯错。
一个广为流传的例子是关于GPT-3的测试:被问到"我的手有几种颜色",GPT-3可能会困惑,因为它不知道手的默认颜色是什么;但当被问"我的脚有几种颜色"时,它可能会自信地给出某个答案,却不知道"脚"和"手"在这个问题上没有任何本质区别。系统的反应高度依赖于训练数据中"脚"和"手"出现频率的统计差异,而非对"手"这个概念的真正理解。
这促使研究者重新审视知识在人工智能中的地位。知识图谱(Knowledge Graph)作为一种新的知识表示和推理范式,在这一背景下获得了前所未有的关注。
回顾AI发展的三次浪潮,我们可以看到一个清晰的规律:符号主义过度依赖人工编码知识,遭遇了知识获取瓶颈;连接主义/深度学习过度依赖数据驱动学习,陷入了统计相关性而非因果理解的泥潭;而第三次浪潮试图在两者之间找到平衡——将符号主义的结构化知识表示与连接主义的学习能力结合起来。
知识图谱正是这一结合的关键技术。它提供了一种将世界知识编码为机器可处理的形式的方法,同时又具有足够的灵活性来处理不完整信息和动态变化的知识。更重要的是,知识图谱的图结构天然适合表示实体之间的复杂关系,非常适合进行推理和问答。
让我们通过一个具体案例来理解知识图谱如何工作:
```mermaid graph LR A[苹果公司] -->|founded_by| B[史蒂夫·乔布斯] A -->|founded_by| C[史蒂夫·沃兹尼亚克] A -->|founded_by| D[罗纳德·韦恩] A -->|headquartered_in| E[加利福尼亚州库比蒂诺] A -->|CEO| F[蒂姆·库克] F -->|born_in| G[阿拉巴马州罗伯茨代尔] B -->|born_in| H[旧金山] B -->|co_founder_of| A ```
在这个简化的知识图谱中,"史蒂夫·乔布斯"和"苹果公司"是节点,"出生于"、"联合创始人"、"CEO"等是边(关系)。基于这样的结构化知识,机器可以回答复杂问题:
- "苹果公司的CEO出生于哪里?" → 沿着"CEO → 出生于"的路径查找
- "谁既是苹果公司的创始人,又是皮克斯的CEO?" → 在"苹果公司"和"皮克斯"之间寻找共同的"创始人"关系
这正是知识图谱的核心价值——将离散的、碎片化的信息整合为相互关联的知识网络,使机器能够进行有意义的推理。
专家系统的兴衰:知识工程的第一次尝试
专家系统的黄金年代
如果要寻找知识图谱在技术史上的前身,专家系统(Expert Systems)是最不可忽视的篇章。20世纪70年代末到80年代,专家系统被视为人工智能最有前途的应用方向,无数企业和政府机构投入巨资开发这类系统。
什么是专家系统?简单来说,专家系统是一种将某个领域人类专家的知识编码为规则或事实,并据此进行推理的计算机程序。它试图捕获专家的"经验法则"(heuristics)——那些在长期实践中形成的、不成文的、直觉性的判断规则——并将其转化为可执行的逻辑。
专家系统的典型架构包含以下核心组件:
知识库(Knowledge Base):存储领域知识,通常表示为"如果-那么"(IF-THEN)规则或事实陈述。例如,医学诊断专家系统可能包含这样的规则:
``` IF 患者症状包含 [发热, 头痛, 颈部僵硬] AND 患者未曾接种腮腺炎疫苗 AND 脑脊液检查显示淋巴细胞增多 THEN 诊断结论 = 病毒性脑膜炎 (置信度 0.85) ```
推理引擎(Inference Engine):负责根据知识库中的规则和输入的事实进行推理。推理引擎需要处理冲突解决(当多条规则同时适用时选择哪一条)、不确定性推理(如何处理概率性信息)、推理方向(正向链接还是反向链接)等复杂问题