一、核心参考书
人工智能领域的五本核心参考书:
- Russell & Norvig《人工智能:一种现代方法》(第四版,2004年):对2000年前的人工智能技术做了系统性整理,但已不适合深度学习时代。
- Bengio《Deep Learning》(俗称”花书”):内容好但写得比较生硬,不易阅读。
- Bishop《Pattern Recognition and Machine Learning》:经典机器学习著作。
- 统计机器学习教材(UC Berkeley 多位学者合著):理论性较强,难度高于 Bishop。
- LISP 语言相关参考书:代表符号主义的编程语言。
二、人工智能的历史渊源
2.1 学科诞生:1956年达特茅斯会议
人工智能学科诞生的标志是 1956年在美国达特茅斯学院(Dartmouth College,常春藤盟校之一)举办的一次为期一个月的会议。这次会议后来演变为 IJCAI(International Joint Conference on Artificial Intelligence),是人工智能领域最老牌的综合会议。
与会的关键人物包括:
- John McCarthy(麦卡锡):当时是达特茅斯学院数学助理教授,发明了 LISP 语言——这是人工智能第一个学派(符号主义)的代表性编程语言,后来所有符号主义学派的语言都可视为 LISP 的变种。因这一贡献于1971年获图灵奖。
- Marvin Minsky(马文·明斯基):当时是哈佛大学数学与神经学初级研究员。1951年设计并构造了第一个神经人工神经网络机器,用 LOGO 语言构造了一个名为”海龟”(turtle)的机器人。1969年获图灵奖。Minsky 的一篇论文后来攻击了神经网络,给神经网络的发展带来了灾难性的影响。
- Rogers:当时是 IBM 的信息主管,编写了第一个汇编语言,并参与了人工智能学科的诞生。
- Claude Shannon(香农):通讯数学理论的奠基者,信息论的奠基者。
2.2 普罗米修斯隐喻
普罗米修斯的画作可用以说明人工智能在西方文化中遭遇的阻力。普罗米修斯为人类盗取火种,还想将”intelligence”(智能/智慧)赋予人类。在西方神话和现代文明中,很多人认为赋予人类智慧这件事”跟上帝的意志相违背”,因此反对人工智能。类似普罗米修斯因盗火被宙斯惩罚——每天被老鹰啄食肝脏——追求智慧的人往往结局悲惨。但到了现代,”能够推理的动物已经是不可避免的”。
人工智能的终极目标就是”制造有类似人类智慧的机器人”。
三、人工智能的三种实现思路
3.1 三大流派概述
人工智能历史上存在三种实现智能的手段和思想:
| 流派 | 英文 | 核心思想 | 渊源 | 比喻 |
|---|---|---|---|---|
| 符号主义 | Symbolism | 将人类知识转化为形式化系统,通过字符串改写实现推理 | 哲学与数理逻辑 | “少林派”——历史悠久、正宗 |
| 连接主义 | Connectionism | 模拟大脑神经元之间的连接关系,通过调整连接权重实现学习 | 仿生学/神经科学 | 仿生派 |
| 进化主义 | Evolutionism | 通过模拟自然进化的原理(选择、交叉、变异)产生智能 | 达尔文进化论 | 进化派 |
连接主义(神经网络)目前处于强势地位,在后续内容中会占据大部分篇幅。其他两个学派也会用一定篇幅介绍。
四、符号主义(Symbolism)详解
4.1 核心思想
符号主义(Symbolism)的核心思路是:
- 把人类的知识或语言转化为某种形式化系统(formal system)
- 这种形式化系统是可计算的,在计算机内部可以通过字符串改写的方式完成类似人的推理过程
- 证明过程只是字符串的改写,不需要依赖于人的直觉或对定理本身的理解
4.2 从亚里士多德到形式化系统
符号主义的思想源远流长,关键节点包括:
- 亚里士多德(Aristotle):提出三段论(syllogism)。核心思想:考察命题的正确性与其他命题之间的关系,具体知识本身不重要。例如:
- 大前提:所有人都会死
- 小前提:苏格拉底是人
- 结论:苏格拉底会死
亚里士多德认为”所有人都会死”和”苏格拉底是人”这两个具体知识不重要,重要的是将具体命题格式化为”所有 A 都是 B,X 是 A,所以 X 是 B”这样的思维形式。
-
哥白尼、伽利略、笛卡尔:进一步明确了”思维过程最重要”的思想启蒙。
-
莱布尼茨(Leibniz):第一个相信思维可以简化为某种运算形式。他认为如果思维过程可以简化为计算过程,那么人们就不再需要辩论——”我们只要算算就行了”。莱布尼茨还发明了人类历史上第一个计算器。
-
布尔(George Boole):提出布尔代数。布尔代数的重大意义在于:证明了二值逻辑(binary logic)足以具备所有的逻辑学能力。
逻辑学系统有几百种乃至几千种变体,但布尔逻辑证明了二值逻辑(binary logic)足以具备所有逻辑学能力。
- 弗雷格(Frege):一阶谓词逻辑的发明者。
4.3 命题逻辑与字符串匹配推理
以发烧诊断为例,把自然语言规则转化为形式化系统:
1
如果 一个人发高烧 并且 温度达到39度 → 吃阿司匹林
形式化后: \(\alpha \land \beta \rightarrow \gamma\)
其中 $\alpha$ = “person has a fever”,$\beta$ = “fever is greater than 39 degrees”,$\gamma$ = “take aspirin”。
关键洞察:计算机不需要知道 $\alpha$ 和 $\beta$ 在真实世界中是什么意思(”发高烧”对计算机来说只是一串字符)。只要通过符号匹配的方式,就能完成类似人的推理。
4.4 命题逻辑的局限与一阶逻辑的引入
命题逻辑有一个关键局限:无法区分集合和个体。
以三段论为例:
- 前提:所有人都会死
- 前提:苏格拉底是一个人
- 结论:苏格拉底会死
“man”是一个集合(set),”苏格拉底”是这个集合中的一个个体(element)。单纯的字符串匹配无法建立这种联系——因为 “Socrates is a man” 中的 “man” 和 “All men are mortal” 中的 “men” 在字符串上并不完全匹配。
为了解决这个问题,引入了一阶谓词逻辑(First-Order Logic),核心扩充包括:
- 全称量词 $\forall$(Universal Quantifier):”对所有 x 成立”
- 存在量词 $\exists$(Existential Quantifier):”存在某个 x 成立”
用一阶逻辑表示”所有人都会死”: \(\forall x \, (\text{man}(x) \rightarrow \text{mortal}(x))\)
其中 $x$ 可以被任何个体代入。当将”苏格拉底”代入 $x$ 后: \(\text{man}(\text{Socrates}) \rightarrow \text{mortal}(\text{Socrates})\)
因为 $\text{man}(\text{Socrates})$ 为真,根据推理规则(modus ponens),可以推导出 $\text{mortal}(\text{Socrates})$——而计算机不需要理解”苏格拉底”是谁。
4.5 塔斯基语义:前提何时蕴含结论
塔斯基语义(Tarski Semantics)解决了一个核心问题:在什么情况下,前提能够蕴含结论?
塔斯基语义的定义:前提为真的所有世界中,结论也必须为真。
以”天下雨 $\rightarrow$ 地湿”为例:
| 天下雨 | 地湿 | 该世界是否可能 | 前提为真时结论是否为真 |
|---|---|---|---|
| F | F | 可能(天没下雨,地也没湿) | — |
| F | T | 可能(天没下雨,但倒了一盆水) | — |
| T | T | 可能(下雨了,地湿了) | 是 |
| T | F | 不可能(除非雨从地往上喷) | 否 |
比喻:”天没有下雨但地湿了”——在门口倒一盆水地也会湿,所以这种情况不影响逻辑蕴含的判断。我们只关心例外情况(前提为真、结论为假)不要出现就可以了。
塔斯基语义的两大贡献:
- 在不知道 ABC 的语义的情况下,明确定义了逻辑表达式之间的蕴含关系
- 大幅降低了计算复杂度:系统只需检查前提为真的那些世界,前提为假的世界可以忽略。但在逻辑学里这被称为善意推定(closed-world assumption 的一种体现)。
注意:这个设计也为形式化系统埋了一个坑——如果系统是不相容的(有矛盾),前提为假时结论无论真假都无所谓(即所谓”爆炸原理” ex falso quodlibet),这可能导致推导出任何结论。
4.6 符号主义的形式化推理框架总结
符号主义将推理完全变成了一种机械性的字符串改写过程:
- 所有定理和规则被看作字符串形式
- 证明过程只是这些字符串的改写
- 不需要人的直觉或对定理含义的理解
- 可以自动推导
符号主义的局限性:
- 知识获取瓶颈(Knowledge Acquisition Bottleneck):要把人类所有知识都写成形式化规则”永远列举不完”。历史上 CYC 项目坚持了二三十年,试图把人类所有常识知识都符号化,但明显走不通——知识越来越多,且知识之间会冲突。
- 不可判定性(Undecidability):一阶逻辑系统在推理过程中可能永远不会停下来(停机问题)。例如证明”每人都有一个母亲”时存在全称量词:母亲的母亲也有母亲……无穷递归,计算机无法停机。
- 存在量词也难处理:证明”存在某个人符合某个条件”同样困难,因为需要遍历所有可能的个体。
4.7 符号主义的两条技术路线
符号主义内部有两个分支:
- 基于逻辑学:从数理逻辑演化而来,代表性编程语言是 Prolog(Programming in Logic)
- 基于心理学/认知科学:研究人类的信息处理过程和解决问题的策略,归纳为 IF-THEN 规则,代表性系统是产生式系统(Production System),编程语言是 CLIPS(C Language Integrated Production System)
4.8 产生式系统与专家系统
产生式系统(Production System)由 Newell 和 Simon 在卡内基梅隆大学提出,他们参加了1956年的达特茅斯会议,并带去了第一个可以工作的推理程序 General Problem Solver。
当时其他参会者都在”动嘴皮子”幻想人工智能,而他们俩拿了一个能跑的程序——这也是为什么卡内基梅隆大学在人工智能和计算机科学领域那么强的原因。
产生式系统的结构:
- 知识库(Knowledge Base):包含大量 IF-THEN 规则
- 工作记忆(Working Memory):只激活当前问题相关的规则
- 推理引擎(Inference Engine):执行推理
- 解释系统(Explanation System):解释推理结果
- 知识获取模块:不断补充新知识
三个重要的历史成就:
- MYCIN 系统(1970年代,斯坦福大学):医疗诊断专家系统。9位斯坦福博士与 MYCIN 分别诊断10个病人,MYCIN 十个全对,3位博士诊断错误,7位博士在用药精度和分量上不如系统。
- PROSPECTOR 系统(1979年):自动分析矿产数据库,发现了一个当时价值100万美金的钼矿。
- XCON 系统(1981年,卡内基梅隆与 DEC 公司合作):个人计算机配置专家系统。当时个性化订单组合错误率达30%,使用 XCON 后错误率降至接近零。
五、连接主义(Connectionism)
5.1 核心思想
连接主义(Connectionism),即神经网络学派,核心思路是:研究神经元之间的连接关系,通过调整连接权重(connection weights)来实现学习。
5.2 生物学基础
生物神经元的基本结构:
- 树突(Dendrites):接收来自其他神经元的输入信息
- 细胞体(Soma/Cell Body):处理信息
- 轴突(Axon):将信号传递给下游神经元
- 突触(Synapse):轴突与树突之间的狭小缝隙,是信号传递的关键结构
当刺激达到一定强度时,神经元会发生动作电位(Action Potential),信号沿轴突传递到后续神经元。神经元的工作方式更像数字电路(要么激发、要么静息),而非模拟电路。
5.3 生物学习机制:赫布学习
根据目前的神经科学理论,学习和记忆主要发生在突触处:
比喻:一个小孩看到草却说”花”,母亲纠正说”这是草”。经过多次输入(看到草)和输出(听到”草”这个标签)之间的对应关系后,从视觉输入到”草”这个标签的神经链路上的突触活性增加了。下一次再看到草时,就能自动说出”草”——因为这条链路上的权重被加强了。
这本质上就是赫布学习(Hebbian Learning)的核心思想:”Fire together, wire together”——反复同时激活的神经元之间的连接会增强。
5.4 从仿生到机器学习的偏离
关键事实:早期的神经网络确实受生物学启发(仿生),但当前的深度学习已经跟人类大脑的运作方式完全没有关系。深度学习不再追求生物可行性(biological plausibility)或生物合理性,而只追求完成任务。深度学习在生物学上的启发仅停留在1950年左右的生物学发现,之后的所有生物神经元发现都与深度学习无关。
Hinton 早年最主要的研究想法就是”想得到一个跟人脑一样的学习方式的性能”,但晚年也承认这条路没有实现。
偏离生物学的三个原因:
- 规模巨大:人脑神经元约 $10^{11} \sim 10^{12}$ 个,每个神经元与其他神经元的连接数量约为 $10^3 \sim 10^4$ 个。以当前 CPU 的算力根本无法完全模拟。
- 机制未明:人类还没搞清楚大脑的学习机制。即使找神经科学家讨论,他们也说不清楚大脑是怎么做各种流通(信号传播)的。静态的拓扑结构都难以可视化(纳米级别的空间精度),更不用说信息处理时的动态信号传播了。
- 早期夸大宣传:早期神经网络研究者为了吸引 funding,过度夸大说”我们的神经网络就是人脑的工作机制”,后来发现都是”吹牛”。
六、进化主义(Evolutionism)
6.1 核心思想
进化主义(Evolutionism),代表性方法是遗传算法(Genetic Algorithm, GA),核心思路是:通过模拟达尔文自然进化理论中的种群竞争、繁衍、变异过程来解决优化问题。
达尔文原文:”No limits to the power of the slowly and beautifully adaptation of each form to the most complex relations of life.”——进化是一种没有上限的缓慢而优美的过程,能使简单的形式演化为最复杂的形式。
6.2 遗传算法的三个算子
以最大化 $f(x) = x^2$($x \in [1, 31]$)为例:
编码:将自变量 $x$ 用一个 5 位二进制编码表示(如 01101 代表 $x = 13$),这相当于生物中的基因(gene segment)。
第一步:选择(Selection)
- 将每个个体的基因解码为十进制值,计算适应度函数(fitness function,即 $x^2$)
- 将所有个体的适应度求和作为分母,计算每个个体被选中的概率:$P_i = \frac{f_i}{\sum_j f_j}$
- 用轮盘赌(roulette wheel)方式按概率随机选择繁殖个体:产生随机数,落在哪个概率区间就选哪个个体
- 适应度低的个体可能被淘汰,适应度高的个体可能被重复选中
关键:进化论的核心不是种群之间的竞争,而是种群内部的竞争——同一个种群内个体争夺繁衍的权利。而且它是随机的——适应度最高的个体不一定能繁衍,只是概率更大。
第二步:交叉(Crossover)
- 模拟生物中的有性繁殖
- 在每一对选中的父代基因的每个位置产生随机数,若小于交叉概率则在该位置交换基因片段
- 产生携带两个父代基因特征的新个体
“强强联合”——因为第一步已经把特别弱的个体淘汰了。
第三步:变异(Mutation)
- 在子代基因的每一位产生随机数,若小于变异概率阈值则进行翻转(0变1、1变0)
- 变异概率通常设置得很小(否则会过于”过敏”)
迭代多代后,种群会收敛到最优解。
6.3 遗传算法的优势
总结:遗传算法最大的好处是——在整个算法过程中没有非常复杂的数学推导(不像梯度法/牛顿法那样需要求导和矩阵逆运算)。只要给定一个适应度函数描述优化的方向,算法就能不断迭代进化。这使得它特别适合解决组合爆炸问题。
6.4 应用示例
- 坦克对战参数优化:坦克有多项控制参数(移动、射击、瞄准等),参数越多越是一个组合爆炸问题。用遗传算法可以让坦克在模拟对战中以胜率作为适应度函数,自动优化这些参数。初始代的表现非常杂乱,到第22代后已经表现出一定的智能行为。
- 机器人结构设计:用遗传算法优化机器人的刚体结构、自由度参数,让机器人跑得更快。
- 蛇的模拟进化:演示了遗传算法如何使蛇在环境压力下进化出抗毒(resistance to poison)、长翅膀(grow wings/feathers)等特征。
说明:进化主义这两年非常不受重视,但我们只要有了解即可。
七、多智能体系统(Multi-Agent System)
7.1 传统多智能体系统的定义
关键:现在大模型时代的 “agent” 一词已经被”用烂了”。传统人工智能中 agent 的概念早在 MIT 就由一位女学者提出了,远早于当前热潮。
传统智能体(Agent)需满足五个条件:
- 自主或半自主行动
- 情境化(Situated):处于特定环境中
- 交互性(Interactive):Agent 之间互相交互
- 结构化分工:Agent 之间有分工和组织结构
- 群体智慧涌现:各智能体在各自有限信息下,通过交互产生群体智慧(swarm intelligence)
举例:股票市场——每个投资者根据自己所掌握的信息做自主决策,但在群体层面能涌现出有效的资本配置。选举也是如此——每个人有各自利益,但机制能发挥群体智能。
评价:传统多 Agent 系统的终极目标是1+1 > 2——各司其职、通过协作涌现出群体智能。而现在的多 Agent 系统本质上只是一堆大模型,能力都差不多,只是 prompt 上下文不一样。理论深度远未达到早期研究者考虑的水平。
八、图灵测试与智能评估
8.1 评估智能的两条思路
由于”什么是智能”至今没有清晰的定义,评估人工智能系统的智能性存在两条思路:
- 跟人脑对比:如果系统机制和人脑一样,就认为它有智能。但这条路径操作难度极大——因为人类大脑的学习和记忆机制都没搞清楚。
- 实用主义:只看系统输出的答案跟人是否一样。
图灵测试(Turing Test)属于第二条思路。
8.2 图灵测试的操作方式
- 招募一批人类评估者
- 让他们分别与随机选择的机器或人(坐在隔壁)进行对话
- 对话完毕后,评估者判断刚才对话的对象是机器还是人
- 用统计方法(如 paired t-test)检验:如果正确判断为人的比例与正确判断为机器的比例之间没有显著差异(no significant difference),则认为机器通过了图灵测试
8.3 图灵测试的设计智慧
总结:图灵测试最大的贡献在于它回避了几个困难的问题——”什么是 thinking?”“什么是 machine?”“什么是 intelligence?”——图灵不做本质上的回答,只建立一个可操作的黄金标准。正是因为”说不清楚智能是什么”,图灵测试用双盲评估的方式给了一个准绳,从而极大促进了人工智能的发展。
8.4 图灵测试的问题
-
测试被人为对抗:早期图灵测试中,反对人工智能的人故意报名参加评估,他们问机器”1256 × 366 ÷ 566 等于多少”——如果对方不是中国神童,人类算不出来但机器能秒答,从而轻易识别机器。后来研究者也给系统加了计算能力测试模块,如果人的计算能力超过机器的计算能力,系统就故意编一个题目来反制。但这带来更深层的问题:你难道希望机器智能就是这个样子吗?
-
将研究带入歧途:图灵测试本质上是”不追问原因和原理,只要能骗过人就认为有智能”。很多严肃的学者认为图灵测试”把人工智能带入了深渊”——研究者都在拼命刷表面指标,而非追求智能本质。就像今天的深度学习时代,大公司因商业目的去刷 benchmark。
-
只能测试语言能力:人的智能有多方面表现。例如闭着眼睛伸手去握水瓶——”心灵手巧”(embodied intelligence)。图灵测试无法衡量这类能力。目前具身智能(embodied AI)在精细抓取方面还是大难题——特斯拉在这个方向上投入了过半研发经费在设计手上。
观点:真正实现智能可能需要等待脑科学的发展突破——了解了大脑的工作原理后才能造出跟人一样的机器。
8.5 当前AI评估困境
说明:评估至今仍是人工智能的大难点。大模型时代的评估变成了”套娃”——用一个大模型去评估另一个大模型好不好,美其名曰”评估比生成难度低”。虽然目前大模型评估的结果确实比人类评估好,但直觉告诉我们这好像有问题。
九、课程内容框架与预告
9.1 三大流派的课时分配
课程将以连接主义(神经网络)为重点,同时兼顾其他两个学派:
- 符号主义:学习两种编程语言——Prolog(基于逻辑学)和 CLIPS(基于产生式规则)
- 进化主义:了解遗传算法的基本原理
9.2 应用领域概览
人工智能的应用领域包括:
- 国际象棋与规划(Planning)
- 机器学习
- 定理自动证明
- 专家系统
- 前瞻规划与机器人
- 自然语言处理(NLP)
9.3 课堂演示
展示了两个应用演示:
- 符号主义——用 CLIPS 实现的动物推理系统:通过与用户问答交互,猜测用户脑中想的是哪种动物
- 进化主义——机器人结构进化、坦克对战参数优化的视频演示