# 加里·马库斯：走向深度学习与符号 AI 的混合

> 批评当前深度学习路线的局限，主张结合符号推理与结构化知识，走混合式的智能之路。

- 原标题：Gary Marcus: Toward a Hybrid of Deep Learning and Symbolic AI
- 期数：特别节目
- 发布日期：2019-10-03
- 嘉宾 / 主题：加里·马库斯
- 网页版：https://lexfridman-cn.pages.dev/ep/gary-marcus/
- 官方页面：https://lexfridman.com/gary-marcus/
- 精读字数：约 6407 字（阅读约 14 分钟）

> 本文为 lex.qiaomu.ai 基于原始访谈的 AI 改写中文精读，非官方翻译；引用请注明出处并链接网页版。

Anthropic 内部产品工程团队，现在有 65% 的 PR 由一个叫 Claude Tag 的机器人直接合并进主干。这个数字看起来像是机器已经能自己写代码。但加里·马库斯（Gary Marcus）会用过去二十年反复讲的一个论点告诉你：写代码这件事，机器做得再好，也说明不了它理解了任何东西。

马库斯是纽约大学荣休教授，Robust.AI 和 Geometric Intelligence 的创始人，后者是一家被 Uber 收购的机器学习公司。他写过《重启 AI》（Rebooting A.I.）和《Kluge》。多年来他一直扮演同一个角色：在深度学习最热闹的时候，指出它的边界在哪里。在这次和 Lex Fridman 的对话里，他把自己攒了二十多年的观察浓缩成一句话：**我们正在用统计相关性模仿智能，真正的理解还远在天边。**

## 智能不是一根刻度尺，上面只有冷和热

人们谈论 AI 超越人类，脑子里通常浮现一个数字。比如 IQ 到 262 的那一天，人类就出局了。马库斯说这套模型从根上就错了。

> 智能是一个多维变量。有语言智能，有运动智能，有数学智能。机器在数学智能上已经远超大多数人，下棋也是。但在理解语言这件事上，它们落后我五岁的孩子远不止一条街。（加里·马库斯）

他给了一个具体的例子。一个五岁小孩能理解“瓶子装水、人喝水解渴、人不想脱水”这一串事实。不需要解释，不需要标注数据，看一眼就知道。机器不知道这些。算力从来不是这里的问题。机器手里空空如也，它没有任何关于世界的最基础模型。

马库斯把这种东西叫常识。常识覆盖的范围极广，它是一整片海洋，远远超出任何单点式的定义。你读一本小说，看一场电影，每一个情节的推进都依赖读者自动补全大量没有说出口的背景知识。机器缺了这片海洋，连一个简单的句子都读不懂。

这片海洋还有一个反直觉的数学性质：**里面每一块知识，你告诉它，它都能判断真假；你让它主动说出来，它大概率想不起来。**像是一个巨大的隐式数据库，人类可以随时调用，却无法完整枚举。马库斯提到，Cyc 系统花了三十年试图把这些东西编码出来，最后也没成功。问题出在他们太依赖逻辑，没有充分处理概率和不确定性。

## 物理推理和心理推理，哪个更难

Lex 提了一个假设：训练一个机器人理解物理世界，可能比理解人类心理更容易。因为机器人可以动手实验，把瓶子倒过来看会不会漏水，把盖子拧上看能不能拧紧。

马库斯部分同意，同时补充了一个更尖锐的观察。物理实验可以做，心理实验做不了。你没法让机器人通过反复掐一个人类来学会疼痛是什么。那过不了伦理审查，公司会被起诉。

> 人类心理中很多深层次的东西，爱、恐惧、不安全感，能不能通过数字形式去探索？我觉得只能触及非常有限的切片。Facebook 确实在做心理实验，他们很擅长让人上瘾，理解什么能把人拉回来。但即便握着巨大的数据量，他们能触及的也只是人类经验里很小的一块。（加里·马库斯）

他摆出一个有意思的对照：机器人学不会“被掐会疼”，但能学会“输掉游戏让人不爽”。后者在人类身上高度一致，程序也容易写。一旦把范围扩大，比如性挫败、职场失意、和家人争吵，整个问题就复杂到现有技术完全接不住。

## 语言更像围棋，还是更像物理世界

Lex 提了一个分类：围棋和国际象棋是封闭问题，规则两千年没变，361 个交叉点就是全部可能。物理世界是开放的，什么都可能发生。语言站在中间某个位置。

马库斯的回应把这个判断拆得更细。语言确实有约束，比如语法。可语言的句子数量在原则上是无限的，你可以无限堆叠形容词，可以构造“我认为你认为你妈妈认为”这种嵌套。而且几乎所有物理世界里的事情都能用语言描述。读一个故事，你调用的世界模型可能比下一盘棋复杂得多。

> 语言对机器来说极其困难。语言学家研究它也很吃力。可孩子学起来并不难。这正是驱动我整个职业生涯的问题。我师从史蒂芬·平克，我们想搞清楚为什么孩子能学会语言而机器不能。（加里·马库斯）

这个问题的核心，是婴儿出生时那种“blooming buzzing confusion”到底意味着什么。婴儿没有语言，却能在三年左右掌握一套复杂到任何现有模型都无法复现的系统。马库斯认为答案里没有“更多数据”或“更大模型”这种选项，因为架构本身就缺了关键零件。

## 1998 年那个实验，到今天还没被解决

马库斯在 1998 年做过一个实验，用的是当时深度学习的先驱架构，叫 auto-associator。任务是判断一个二进制数是奇数还是偶数。网络把所有偶数都学得很好，遇到奇数时完全无法泛化。

> 很多人觉得我是不是傻了，或者实验是假的。可它确实是真的。这些网络把世界看得和我们完全不一样。它们关心的是最右边那个输出节点是 1 的概率，在它们见过的所有训练数据里，那个节点从来没有被激活过。所以它们判断：为什么要现在打开它？（加里·马库斯）

一个人类看到同样的问题，会立刻知道把二进制数加一，奇偶性就翻转了。这就是代数，X 加二等于 Y。你不需要见过一百万个偶数才能理解这个操作。马库斯说，这个实验的核心结论二十一年后依然成立：**深度网络学的是输入和输出节点之间的相关性，它没有学到作用于变量之上的结构化操作。**

他提到最近有人拿 GPT-2 试图反驳这个观点。对方输入了“A rose is a rose, a tulip is a tulip, a lily is a ___”，GPT-2 正确填了“lily”。看起来挺厉害。马库斯回了一句：一个例子说明不了什么，换个新词还能行吗？二十分钟后对方回复：那些情况有些问题。

二十一年前预测的局限性，在更强的硬件、更大的数据、更多的层数面前，依然没有被打破。

## 说皇帝没穿衣服这个比喻，其实不太准

马库斯被问到是否觉得自己在扮演那个指出皇帝没穿衣服的孩子。他的回答很坦率。

> 我并没有说这个皇帝没穿衣服。准确地说，他穿着内裤。很多问题他做得确实很好，比如语音识别。但我讲的是另一组问题，人类非常擅长、机器完全不擅长的那一组。这些问题二十年前就存在，现在依然存在。（加里·马库斯）

他把任务分成两类。一类是感知分类，比如识别一张图片里有没有猫。深度学习是目前最好的工具，比任何其他方法都好。另一类是抽象推理，比如理解瓶盖为什么要拧紧、奶酪刨的把手为什么在上面、为什么所有的孔都是锋利的。深度学习对后者几乎没有贡献。

他提到一个叫 Virtual Home 的项目，让众包工人描述一段锻炼流程。工人写出来的是“走到有电视和哑铃的房间，打开电视，举起哑铃，放下哑铃”。这些描述极其细碎，完全没有抓住锻炼的本质：在特定时间段内完成一定数量的动作，针对特定肌肉群。可你要是问一个普通人刚才做了什么，他只能给你这些边角料。

**构建常识知识库的困难不止在技术层面，还在于人类自己并不擅长把内隐知识外化成机器能用的形式。**你知道很多东西，你不知道你知道。只有当别人说出来，你才能判断对或不对。这个过程没法靠简单的众包完成，它需要既懂认知又懂 AI 系统的人，才能构造出正确的知识形态。

## 专家系统错在哪里，深度学习又错在哪里

马库斯先澄清了一个常见误解：他并不主张回到 80 年代的专家系统。那些系统几乎全是手写规则，没有机器学习。现在的主流做法是几乎全是机器学习，没有规则。两边各有优势，也各有盲区。

> 如果你在讨论感知分类，怎么识别一个瓶子，深度学习是目前最好的工具。如果你在讨论推理瓶子能做什么、盖子怎么拧紧，那么更接近专家系统的方法可能仍然是最好的选择。我们需要两者的混合，而且是在两者之间找到新合成方式的混合。（加里·马库斯）

他举了一个例子说明为什么某些任务永远不该用机器学习。你不会用机器学习去构建一个网页浏览器。你不会记录所有键盘输入和屏幕截图，然后让系统去学它们之间的关系。任何理性的工程师都会直接写代码：如果 X 大于 Y，就执行这个操作。条件判断、变量比较、逻辑运算，这些东西从计算机诞生之初就存在，而且工作得很好。

卷积神经网络的成功恰好说明了这一点。卷积是一个先验结构，由人类专家设计进去，系统不需要自己学会“同一个物体出现在不同位置应该被识别为同一个物体”。这个抽象是人工植入的，而且极其有效。马库斯说，问题在于没人愿意做这种植入工作。

> 罗素有一句话：偷窃比诚实劳动更有优势。把因果性、容器、瓶子这些东西编程进去非常困难。Ernie Davis 和我写了一篇四十五页的论文，就为了理解容器是什么。他花了三个月才把逻辑陈述弄对。没人愿意做这种苦力活。所有人都想直接喂一堆视频，让机器自己学。（加里·马库斯）

## “苦涩的教训”到底教会了我们什么

Rich Sutton 写过一篇著名的博客叫《苦涩的教训》（The Bitter Lesson），核心观点是七十年 AI 研究告诉我们，利用算力的通用方法最终总是最有效的。Lex 把这个观点抛给马库斯。

马库斯的回应很直接：**“最有效”是对什么而言？**感知分类和一些强化学习问题，通用方法确实最有效。它在自然语言理解、常识推理、机器人导航这些领域没有带来任何实质性进展。

> 你可以造一把更好的梯子，这不意味着你能造一把通向月球的梯子。（加里·马库斯）

他承认算力越多越好，这跟钱越多越好是一个道理，没人会拒绝。可大脑只用了二十瓦就做到了深度学习做不到的事。这里藏着一个存在性证明：智能不需要谷歌规模的计算资源。

顺着这条线往下推，如果算力不是瓶颈，瓶颈就一定在架构和表示上。深度学习缺少的是对抽象概念、因果关系、变量操作的支持。这些不会因为数据变多就自动涌现。马库斯说他从未见过一个深度网络真正提取出抽象概念，只在有人明确编程进去的时候见过，比如卷积。

## 进化很慢，可它累积

马库斯对进化有一个很精确的描述。进化非常低效，一个脊椎动物大脑方案花了十亿年才出现。一旦出现，它会迅速扩散。鱼有，狗有，人有。色彩视觉出现后也迅速扩散到很多物种。

> 进化像是一套不断累积的库。一旦有了构建多指结构的库，手可以用，脚也可以用，只需要调整参数。进化速度因此会加快，因为库越来越大。（加里·马库斯）

他认为人们在进化计算上的尝试之所以失败，是因为起点太低。从几乎一无所知开始进化，进展极其缓慢，学生拿不到论文就放弃了。如果能从更丰富的初始结构出发，进化可能会快得多。

这条思路也延伸到 AI 的设计哲学。与其从零开始让机器自己学会一切，不如把生物学已经验证过的结构先搭起来。生物模仿在材料科学里很常见，AI 应该做同样的事情。认知科学、心理学、神经科学、语言学，这些都是可以借鉴的资源。他甚至开玩笑说，如果真能把狗的认知搞明白，机器人的社交能力可能都有救。

## 怎么判断一个系统真的理解了

马库斯提了一个具体的测试方案，叫理解力挑战。核心思想很简单：让机器看一集《绝命毒师》，然后问它任意关于角色动机的问题。比如沃尔特·怀特为什么要对杰西下手？

> 如果你能回答关于角色动机的任意问题，我会非常佩服。人类可以做到。看一部精心构造的电影，有人捡起一块石头，所有观众都知道他为什么要捡。这种能力如果机器能具备，而且不限于某一种类型的电影，那才叫真正的理解。（加里·马库斯）

他强调测试不能用选择题，选择题太容易被统计方法钻空子。必须是开放式问题，必须涉及多种类型的电影，必须能应对新词和新情境。

他提到《斯巴达克斯》里那个著名场景：一群人站起来喊“我是斯巴达克斯”。观众立刻明白两件事。第一，这显然不可能，他们不可能都叫斯巴达克斯。第二，他们在撒谎，为的是保护真正的斯巴达克斯，保护他们共同相信的东西。如果机器能推断出这些，那才叫理解。

他还顺便吐槽了尤金·古斯特曼那个通过图灵测试的程序。那套系统假装成一个来自敖德萨的十三岁男孩，英语不好，态度阴阳怪气，用回避和搪塞来躲开所有深层问题。它骗过了评审，却绕开了图灵真正关心的东西：怎么让机器变得智能。

## 可信 AI 的前提是深度理解

马库斯和 Davis 那本书的最后一章是乐观的，描述了一个真正实现了常识推理和混合架构的世界。那种乐观带着一个前提：**我们必须先能用代码或某种形式表达“伤害”“公平”“意图”这些概念。**

> 你不能和一个只处理相关性、不理解瓶子也不理解伤害的系统谈对齐。阿西莫夫的第一定律是不得伤害人类，可如果你连伤害是什么都没法在 Python 或 TensorFlow 里表达，谈何让 AI 遵守这条规则？如果做不到，我们就是在骗自己。（加里·马库斯）

他设想了这样一个流程：先有一个由伦理学家、技术专家和广泛代表组成的委员会，讨论规则应该是什么。然后有工程师把这些规则翻译成机器能执行的形式。最后这一步目前根本不存在。你可以在自然语言里写“不得伤害”，你没法把它翻译成可执行的代码，因为机器手里没有伤害这个概念。

这里又回到他反复强调的那条主线：没有对世界的深层理解，就谈不上真正可信的 AI。深层理解需要符号操作、结构化表示和因果模型，而这些恰好是当前深度学习最缺的东西。他还顺便提醒，制定规则这件事不能只交给软件工程师，也不能只交给掌握大公司的技术老板，伦理学家的位置不可替代。

## 给普通人判断 AI 新闻的几个问题

马库斯在书里给非专家读者提供了一套判断方法，其中最实用的一条是找 demo。

如果某家公司宣称实现了某种能力，却没有提供可以让你自己试用的 demo，那它大概率还没真正跑通。如果 demo 只在一个极窄的场景下有效，比如 Google Duplex 最初只能在预约理发店和餐厅、查询营业时间这三件事上工作，那它离通用智能还很远，属于高度特化的脚本。

马库斯对 Sophia 这类项目的态度很明确：它拿到了很好的剧本，却根本不理解自己在说什么。面对一个宣称拥有对话能力的系统，你要问：我能试试吗？它泛化得怎么样？换一个新话题还行不行？换一种问法还行不行？

这些问题背后站着一个更根本的标准：**如果一个系统只在被训练过的分布上表现良好，那说明它还没理解，它在做的不过是在训练分布里记忆和插值。**

## 什么才是真正值得投入的方向

马库斯反复强调，他对深度学习并没有全盘否定，他要做的只是指出它的边界。他的立场可以概括成三点。

第一，感知归感知，推理归推理。深度学习在感知分类上做到了前人做不到的事，这个成就应该被承认。但感知分类的方法论搬不到推理和语言理解上。

第二，符号操作、变量绑定、因果模型这些工具从 McCarthy 时代就存在。它们被冷落，真正的原因是深度学习的商业成功太耀眼。Cyc 的失败被当成整个符号方法的失败，而 2010 年之前所有深度学习的失败却没有人这样记账。这是双重标准。

第三，未来的突破大概率来自混合架构。它既会有符号的成分，也会有神经网络的成分，两者有机结合。AlphaGo 就是一个例子：它同时用了深度学习和蒙特卡洛树搜索，后者属于经典的符号 AI 技术。只是人们习惯性地把它称为深度学习系统，模糊了其中的混合本质。

> 我担心的是，不管未来出现什么新方法，人们都会把它重新包装成深度学习。就像 IBM 把 Watson 从一个具体系统变成了整个认知部门的名字。这不会改变技术本身，却会让公众和投资人更难看清真正的进展在哪里。（加里·马库斯）

## 给读者的行动清单

- 下次看到“AI 实现某某能力”的新闻，先找 demo。没有 demo，默认它还没成功。demo 只在极窄场景下有效，那它只是脚本。
- 用“换个新词还行不行”来测试语言模型。如果换一批训练集里没出现过的新词、新情境，系统立刻崩，那它学的是相关性，谈不上理解。
- 把 AI 的能力拆开看。数学和棋类一类，感知分类一类，语言理解和常识推理是完全不同的另一类。不要用某类问题的成功去推断另一类问题也会成功。
- 不要用机器学习去解决本该写代码解决的问题。条件判断、变量操作、逻辑推理，写代码比训练模型更可靠，也更可解释。
- 如果你在做 AI 产品，问自己一个问题：用户能不能通过某种方式验证系统真的理解了他的意图？如果不能，用户迟早会发现系统只是在做模式匹配。
- 对“AI 威胁论”和“AI 万能论”保持同样的警惕。两者都忽略了同一个事实：我们连伤害是什么都还没法用机器可执行的形式表达出来。
- 关注那些在做混合架构的团队，别只盯着谁的模型参数更大。参数规模的增长有上限，架构的突破没有。
