30 秒看懂
在第二次做客 Lex Fridman Podcast 时,Keras 的作者 François Chollet 讲解了他 2019 年的论文《论智能的度量》(On the Measure of Intelligence)。他认为,智能要看的是系统获取新技能的效率:面对那些包括其开发者在内的所有人都没有为它准备过的任务,它能学得多快、多好。他用一个名为 ARC 的基准测试(benchmark)来衡量这种能力,孩子们觉得它很容易,机器至今大多做不好。他想借此修正多年来 AI 进展报告中的一个常见误区:这些报告把一项已经定型的技能,和产生这项技能的过程混为一谈。
- 1Jean Piaget 真正留下的,是一个观点:智能和心智是在一生中分阶段建构起来的。而这正是造一个人工心智所面对的问题。
- 2Chollet 把语言看成心智的操作系统,一种以词语为键、用来检索的查询语言。它架在认知之上,而不在它下面。
- 3心智地图(mind map)几乎没有句法约束,段落的句法约束却很重。他的挑战很直接:如果你没有把某件事写下来,你怎么知道自己对它究竟怎么想?
- 4深度学习运行在几何之中,靠的是向量、距离和点积。离散空间已经不可微分,所以除非把它的拓扑结构嵌入一个更大的连续空间,否则没法在其中做深度学习。
- 5智能是一个过程,技能是这个过程留下的产物一个国际象棋程序,就是一条从 A 到 B 的路。程序员则是那家能在任何地方修路的公司。
- 6一个公平的智能测试,要求的是顾及开发者的泛化(developer-aware generalization):测试中的新颖之处,系统从没见过,它的创造者也无法预料。
按章节阅读整理后的全文
智能是孩子自己建构起来的,不能像安装程序那样装进去
Lex Fridman 在与 François Chollet 的第二次对话中开场。Chollet 是谷歌的 AI 研究员、Keras 的作者,也是论文《论智能的度量》的作者。Fridman 先问,哪些思想家塑造了他。Chollet 首先提到 Jean Piaget,这位瑞士心理学家常被称为发展心理学之父。他十几岁时就读过 Piaget。这些著作大多写于 1930 年代和 1940 年代,后来的发展心理学已经修正了其中不少具体结论。但真正让他印象深刻的,是一种观念:智能和心智要在一生中逐步建构起来,而孩子正是分阶段完成这种建构的。
他对 Fridman 说,这个观点与 AI 直接相关。造一个人工心智,本质上就是让一个合成系统经历类似的建构过程。大约在同一时期,他读了 Jeff Hawkins 的 On Intelligence。书中把心智描绘成一个由时间预测模块构成的多尺度层级结构。“认知就是预测”这一说法,当时对他来说还很新鲜,他非常喜欢。AI 中的层级结构其实并不新,早在 1980 年代就有了,但 Chollet 说,它们是后来在深度学习中才找到了实际的实现方式。
Fridman 接着问到记忆,这是 Hawkins 理论的另一半。Chollet 同意,神经网络确实会记忆,但大脑的记忆似乎不是那种方式。大脑更像是一个访问稀疏的存储:你可以精确地调出某段经历,进行内省,并且向自己提问。从这个意义上说,你可以给自己的记忆编程。而你用来做这件事的工具,就是语言。
语言是心智的操作系统,它位于思维的上层,并非最底层的那只乌龟
Chollet 把语言称为“一种心智的操作系统”。它的一个用途,是对自己的记忆运行查询:词语成为钥匙,检索出特定的经历、概念和想法。语言既是你存放思想的方式,不只是写在纸上,也存在于心智之中,同时也是你再次找到这些思想的途径。试想一下,如果没有语言,你就失去了一种由内部主动调取过往思想的办法,只能等外部线索出现,比如一个熟悉的景象或一种气味,记忆才会被勾起来。
Fridman 抛出一个乔姆斯基式的问题:语言是不是认知最底层的那只乌龟?Chollet 的回答是否定的,他不同意 Noam Chomsky 的看法。语言是建立在认知之上的一层。用计算机来比喻,先有计算机,之后才有操作系统,操作系统让机器真正好用。他开玩笑说,这个操作系统很可能是 Windows,而不是 Linux,因为语言杂乱,很难做内省。
他认为,在用语言思考之前,我们先用情绪、空间和身体动作来思考。婴儿在能用词语表达想法之前很久,很可能就已经用自己见过或能做的动作,以及周围物体的运动来表达想法。视觉类比和运动是心智的基本构件,日常语言里充满了空间隐喻,也能看出这一点。Chollet 自认是一个视觉型思考者,在一个二维的概念空间里穿行。Fridman 说,他必须把想法写到纸上,只能在纸面上移动。Chollet 管他叫“平面国居民”,然后问:即使在写论文,Fridman 心里是不是也装着一张地铁图,标出各个想法在拓扑上的位置?Fridman 承认确实如此。对他来说,写论文就像双向路径搜索:从两端同时用 A* 搜索,直到两条路径相遇。
没有写下来,就不知道自己到底怎么想
Chollet 说,心智地图就是把脑子里缠成一团的东西搬到纸上,好让你能够掌控它。你先写下一个核心概念,比如智能,再添上联想出来的连接:语言、运动,或者任何冒出来的东西。它更接近图,而不是树;更像地铁图,而不像组织架构图;而且你既能画,也能写。Fridman 自称对分类有强迫症,担心地图里隐含的层级会让他僵住。Chollet 的回答很随意:这是你自己的地图,想画什么连接都可以。如果中心节点选错了,就另画一张。
更深一层的问题在于句法。如果你用段落来组织想法,行文会强加一套很重的句法结构,而这些想法可能还不配承受这样的结构。心智地图则是一种更底层、更随性的排布方式;想法落到纸上之后,再把它们组织成段落也不迟。Chollet 对这个挑战的表述很简洁:如果没有写下来,你怎么知道自己对一件事到底怎么想?Fridman 手里攒着几千份满是要点列表的谷歌文档,他说,要点列表就是一棵没有视觉布局的树。Chollet 同意,两者并不是同一种东西。心智地图会迫使你在语义上说得具体,这一点是零散的诗化笔记做不到的。
这就引出了他在 AI 问题上很在意的一个区分。他认为,假设大脑中存在某种拓扑式的处理,是讲得通的,因为大脑的联想性很强。拓扑空间用连接来编码思想:两个点要么相连,要么不相连,就像地铁图上的站点。几何关心的则是距离。深度学习就是在几何中工作的:概念向量、词向量,关系则用点积来表示。一切都必须是向量,因为一切都必须可微。如果空间是离散的,它就不再可微,除非把这种拓扑结构嵌入一个更大的连续空间,否则没法在其中做深度学习。Chollet 认为,拓扑空间比几何空间更适合承载思想。
智能衡量的是,你学习自己尚不会做的事情有多高效
Fridman 把视角拉远,回到 2019 年 11 月的那篇论文,问了一个有点荒诞的教科书式问题:两百年后,如果有一章讲生物心智,Chollet 的照片旁边会配上什么样的引语?Chollet 的定义很简洁:智能是你在一项以前没接触过、事先也没有准备过的任务上获取新技能的效率。它衡量的是你学习新东西的速度和质量,衡量的既不是技能本身,也不是你已经知道什么、已经会做什么。每当一个人或一个 AI 适应了其创造者没有预料到的环境,这种智能就显现出来。即兴应变和泛化能力,就是这种信号。一个只能按照硬编码或训练内容行事、无法偏离的系统,算不上智能。
爱因斯坦有句话,“智能的度量,是改变的能力”,抓住了这个想法的一部分。Chollet 想要一个更精确的版本:适应的效率,掌握环境的效率,习得新技能的效率。他反复做的区分,是把智能看成一个过程,把技能看成这个过程的产物。一个聪明的程序员看了国际象棋,写出一个静态程序来下棋。智能体现在开发的过程中,程序则是凝固下来的成品。让它去下围棋,没有人类进一步介入,它就会失败,因为有能力完成那个过程的,是程序员。不要把修路公司和某一条具体的路混为一谈。一条路只能带你从 A 到 B,而修路公司能在任何两点之间修出一条路。
Chollet 说,这篇论文的目标,是澄清 AI 界长期以来在如何概念化智能、如何衡量进展这两方面的误解。近来的机器学习成果让人很容易推断,通用智能就快要解决了。要检验这个说法,就需要一个精确的定义,以及一套可靠、可操作的度量标准。需要的是一个能指引人们去打造更智能系统的反馈信号,这比非黑即白的徽章有用得多。技能是唯一能客观测量的东西,这正是人们很想拿技能来计分的原因。对人来说,一个棋艺高超的棋手可以作为智能的证据,因为你知道他不是生下来就会下棋。但对计算机来说,就不能做这样的假设了。它可能是“生下来就会下棋”的,只不过是人类把对棋局的理解成果,编码进了一个静态程序里。
放大语言模型,换来的只是更像样的文本,得不到对任务本身的建模
Chollet 勾勒出两种关于心智的历史图景,至今仍在 AI 领域分庭抗礼。一种是进化心理学的观点:心智是一组相当静态、各有专门用途的机制,经过漫长的物种演化被硬编码进来。Marvin Minsky 等早期的 AI 研究者就持这种看法。他们用大型机来比喻心智:静态程序在类似数据库的记忆上运行,把学习当成单纯的记忆。直到 1980 年代,学习在 AI 教科书里几乎都不占篇幅。另一种图景是白板说(tabula rasa),也就是 Locke 提出的观点:心智是一块信息海绵,起初空无一物,然后吸收世界的复杂性。联结主义,以及后来的深度学习,让这种观点重新焕发了生机。Chollet 说,今天很多研究者在概念上把心智看成一个随机初始化、再用数据训练的网络。
当时刚刚走红的 GPT-3 就是一个例子。Chollet 感兴趣的,是它据称只看几个例子就能学会新任务的说法。如果这真的发生了,那就很新颖,值得研究。但他并不认为这已经得到了证明。考虑到模型训练的数据量,它很可能做的是:把提示词(prompt)匹配到一个它已经见过的任务上,也就是识别出任务,而不是对任务建立模型。Fridman 提出过一种早先的比喻:也许提示词就是对一个巨大联想记忆做的 SQL 查询,而当记忆足够大时,它看起来就像智能了。Chollet 承认,智能的很大一部分,可能就是巨大的联想记忆。但他不认为智能只有这些。
在他看来,GPT-N 的上限,是越来越可信、越来越懂上下文的文本。单纯放大 Transformer 和数据量,修不好真正的缺陷。文本受到的约束只有合理性,别的什么都不管,既不管事实是否准确,也不管前后是否自洽。所以很容易诱导它说出错误或相互矛盾的话:同一个问题,用两种对抗性的问法去问,就会得到两个答案。程序合成也是同样的情况:模型在见过的程序上表现不错,却无法在非插值的程序空间里泛化。瓶颈不在模型规模,也不在训练时间。OpenAI 已经在用几乎整个网络的抓取数据来训练了,再想获得百倍的数据,已经不可能了。质量比数量更重要。Chollet 回忆说,他在谷歌时,有一个图像分类模型是用约 1.5 亿张标注有噪声的图片训练的。后来换成一个规模更小、经过人工标注的数据集,效果反而胜过了噪声更多的数据,训练还更快。
他认为,1990 年代的语义网,也就是给互联网附上机器可读的含义,永远不会成功,因为工作量太大,也没有人有动力去做。相比语义网,无监督的深度学习更大程度上让网络知识变得可供机器使用。但这仍然不是推理。你在 GPT-3 身上看到的各种推理形式,只是训练数据中模式的再现,一遇到真正新颖的情况就会崩溃。如果用 2002 年的数据训练一个这样的模型,然后拿到今天来用,它会缺少很多事实和词汇,甚至连新冠疫情都不知道。智能需要持续学习和即兴应变。仅仅假定你将被问到的,是你见过的东西,或者是它的简单插值,是不够的。
L5 级自动驾驶证明不了通用智能,让它去学开飞机才算数
Chollet 说,插值假设在一些看上去简单的任务上已经失效。几年前,谷歌的一篇论文显示,约 3000 万种不同的路况,也不足以训练出一个驾驶模型,而且那还达不到 L2 级。这比人学会开车所需的二三十个小时多得多,当然,人类在学车时已经积累了很多东西。特斯拉押注基于学习的 Autopilot,也没能改变他的看法。L4 级大概可以实现。L5 级,也就是可以在车里睡觉的全自动驾驶,如果打算靠训练数据预见每一种情况,大概实现不了。仿真可以帮忙,但工作量巨大。更有适应性的系统,应当让深度学习负责感知和直觉,再把它和一个关于车辆周围环境的显式模型配对起来。他说,今天 AI 中的强泛化,往往来自人类心智中以程序形式编码的抽象,而不是来自网络学到的那些弱抽象。
Fridman 指出,人其实也在“作弊”:在我们“学开车”之前,就已经看过车、坐过车,也在电影里见过车。神经网络对数据做的,也是类似的事。开车本身到底需要多少天才般的推理跳跃?Chollet 用一个迁移的故事来回答。假设你是在硅谷学的车,现在去东京租了一辆车。车辆靠左行驶,路标不一样,路也更窄。一个普通人应该能零样本(zero-shot)上手,尽管这里的复杂性是全新的,并不是美国驾驶经验的插值。这才是他在意的测试。开车本身并不是很好的智能测试,因为任何特定任务的技能都证明不了智能,除非这个任务本身就是学习新技能的元任务。只要有无限的训练数据,你就能训练一个端到端的网络来开车。唯一的问题是覆盖长尾。这是规模问题,而且会遇到收益递减。一种更多依靠工程设计的混合方案,会更早开始泛化。
他坚持认为,哪怕是 L5 级的自动驾驶,也证明不了通用性。唯一可行的测试,是看它在未知任务上的技能习得:让 L5 的整套系统去学开商用客机,然后测量需要多少人工介入、多少训练数据。Fridman 提出异议,开车是个黑箱,会不断冒出各种边缘情况,所以它确实有新颖性。Chollet 同意,开车的长尾非常长。但这并不意味着你不能用统计模型加上海量数据去解决它。如果数据集大到几乎不会再出现新情况,那就谈不上智能。如果学会一项技能所需的训练集,要覆盖大多数可能的情况,系统基本上就是一张查找表。如果需要工程师写出覆盖大多数情况的规则,那么系统就只是工程师脑中某个过程的产物。真正的智能,应当是自主地产生这些抽象。
Fridman 说,这条界线看上去是灰色的。Chollet 同意,深度学习确实会形成抽象,也确实有泛化能力,只不过很有限。泛化是一个连续的谱,而不是二元的开关。智能就是你在远远超出已见事物分布的范围之外泛化的效率:既要看新颖之处离已知有多远,也要看效率如何。他给出一个信息转换比。想象一个由各种可能情况组成的空间。你一开始掌握的覆盖范围,来自已经知道的情况,加上系统内嵌的先验知识。任务是把这些信息转换成一个行为程序,让它覆盖空间中很大的一片区域。这片区域的面积,与你起初掌握的信息量之比,就是智能。一个聪明的智能体(agent),只用很少的信息和很少的先验知识,就能覆盖大量未来的情况,而且事先并不知道那些情况会是什么。
g 因子作为统计量是真实的,但这并不构成把人类心智称为通用的理由
如果目标是类人的 AI,Chollet 希望有一套测试,既能用在机器上,也能用在人身上,这样两者就能相互比较。两者的约束条件并不相同,测试必须把这一点考虑进去。实验者可以通过把程序员脑中的硬编码先验注入人工系统,或者用更多数据来训练,从而随意堆出某种技能,比如让它学下无穷无尽的围棋对局。而人类棋手是在有限的一生中,从另一套先天先验出发,发展出这项技能的。要比较两者,就必须控制先验和经验。先验,是你在开始学习某个任务之前,已经掌握的关于它的一切信息。经验则是后天获得的:你下过、看过或模拟过的对局。如果想衡量一种类人的智能,那么 AI 就应该从与人类相同的先验出发,而且这些先验必须写明白。
就人类这一边来说,相关领域是心理测量学(psychometrics):心理学中试图量化认知能力、智力和人格特质的一个分支。心理学常因结果难以复现而声名不佳。但 Chollet 说,心理测量学其实有一些相当扎实、可以复现的结论。一个好的测验应当可靠、有效(测的确实是它宣称要测的东西,并且与学业和职场成功等指标相关)、标准化,而且没有偏差。比如一份英文测验,对不懂英语的人就有偏差。并非每个测验都能达到这些理想,但这个领域清楚自己的弱点。大规模地做许多不同的测验,比如语言、空间视觉、心理旋转、数字,你会看到一簇簇的相关性。数学好的人往往物理也好,从统计上看,写英语作文也往往不差。解释“你能设计出的每一种智力测验,最后都彼此相关”这一事实的潜变量,就是 g 因子。它是一个统计构造。你没法像测量身高那样,直接在一个人身上测量它。但在大规模数据中,它确实存在。
Chollet 不关心用心理测量学去刻画某一个个体。对他来说,一个智商分数或人格测评,并不能说明你这个人是什么样的。这些工具在大规模时才有用:把许多人的结果交叉关联起来,读出人类认知能力的结构,而这才与 AI 相关。关于这一结构,主流的图景是 CHC 理论,它以 Cattell、Horn 和 Carroll 三人的名字命名:这是一个三层层级,顶层是 g,中层是流体智力等广义能力,底层是更窄、更针对具体任务的能力。不同的统计分析会得出略有差异的理论,但它们都描述了一个顶端有 g 因子的层级结构。
这并不意味着人类智能在很强的意义上是通用的,也不意味着智商高的人能解决任何问题。Chollet 用体能(physical fitness)来类比。体能是一个有用而直观的概念。我们没有一个人会飞。如果你是一名科学家,想测量体能,就会做一组测试:100 米短跑、足球、乒乓球、游泳。你会看到它们之间的相关性,还能找到肺活量等生理指标上的相关性,顶端则是一个体能层面的 g 因子。即便体能很高,也不代表你能飞、能在海底生活,或者能在金星上生存。人类的身体结构高度专门化。但令人惊讶的是,它的适用范围远远超出了我们演化所适应的环境。大致说来,我们是为了在草原上追赶猎物而演化出来的,可我们也能爬山、游湖,还能打乒乓球。认知也是如此。我们能写小说,能去火星,远远超出了心智“本来是为了”做的事情。而我们仍然有很强的认知偏差,使我们在某些问题上非常擅长,在另一些问题上却毫无用处。泛化能力本身也是演化的一项约束,因为环境多变且不可预测。结果就是,身体和心智的适用范围,都比它们演化时所针对的要宽广得多,但离普适还差得很远。
没有本质上就难的问题,只有相对于你已经知道的东西而言才难的问题
Chollet 说,智商题通常长这样:给出几组示范用的输入-输出对,再加上一道需要补全的题目。在这个狭窄的框架里,一道难题,是指它的题目相对于训练样例来说非常出人意料。给出两个旋转的例子,然后把其中一个拿来当题目,那泛化难度就是零:你只要认出训练样例,照抄答案即可。更难的题需要在测试时即兴适应。同样的道理也适用于量子物理考试。如果你想考察理解,就得出一道和学生死记硬背的模拟题完全不同的题。如果想让题目变简单,就对模拟题做插值。即便是一场迫使你即兴发挥的考试,本身也谈不上真的难。对一个在职的物理学家来说,它并不新鲜。难度始终是相对的,取决于应试者的先验,以及他们对任务已有的信息。这就是他所说的控制先验的意思。
Fridman 了解到,编写高难智商题的人都严加保密答案,因为一旦知道了解题思路,题目就废了。Chollet 对这一点的说法更尖锐:解题思路已经隐含在训练样例里,所以公开这些样例本身就是泄露。这就是 ARC 保留一套没人见过的私有测试集的原因。他并不喜欢测试题里有歧义。不用歧义,也能做出难度,办法是让人对样例做大量外推。他想要的测试未必对人难,毕竟人类智能就是基准;它应当让机器在人很容易做到的事情上栽跟头。而且,它应该是可操作的:要能告诉你,还需要朝哪个方向推进。
新颖性是一项硬性要求。如果你能提前练习将要参加的测试题,那你展示的就不是智能。你只是在检索你接触过的东西,就像一个深度学习模型在把所有可能的答案都训练过之后,考出高分一样。一个学生可以靠背下一百套模拟题,指望真题能由它们插值得出来,从而过关,而对内容毫无理解。现实中确实有很多学生就是这样过关的。因此,机器智能测试首先必须承认它所需要的先验。如果目标是比较机器和人类的智能,就要假设人类的认知偏差。然后测试的应该是技能习得的效率,而不是技能本身:每个任务都应当是新颖的、无法预料的,不能事先靠蛮力穷举,而且不只是对系统来说,对系统的创造者也一样。
Fridman 说,把这些先验写明白,是这篇论文中最有力的一步。在人类天生知识先验方面做得最多的研究者,是哈佛大学的 Elizabeth Spelke。她的核心知识理论列出了四个系统,我们要么天生就有,要么很早就被硬连线了,以至于两者之间的区别几乎没有意义。第一个是物体性(objectness)与基本物理:一个整体性运动的东西就是物体,物体会相互碰撞,也会彼此遮挡。第二个是主体性(agentness):有些物体有目标。两个大致同步运动的点,会让你推断出这是一场追逐。Spelke 的研究表明,三个月大的婴儿就能辨认出主体,以及目标导向的行为。第三个是基本的几何与拓扑,比如距离和导航,背后有海马体中的网格细胞和位置细胞支撑。第四个是数量:即便没有文化教我们算术,我们也能做基本的计数,比较数量的多少。这份清单未必穷尽。Spelke 还考虑过一个处理社会关系的系统,不过对 ARC 来说,它的作用没那么大。1970 年代有一项心理旋转实验发现,判断一个图形是否为另一个图形的旋转版本,所用的时间与旋转角度成线性关系,仿佛大脑里有一个转速固定的转盘。
ARC 是一套把先验知识写明白的智商测试,机器的成绩却仍停在 20% 左右
ARC,即 Abstraction and Reasoning Corpus,是 Chollet 在现实约束下,尽可能把这些原则体现出来的一次尝试。他并不认为它已经完美。它的形式接近经典的智商测试,尤其是瑞文推理测验(Raven's Progressive Matrices)。每道题都有几组训练用的输入-输出对,都是大小不一、带颜色的网格。你先看到示范,再看到一个新的输入,然后必须给出正确的输出。硬性要求是,每道题只能用核心知识先验,不能涉及语言,不能涉及英文,也不能出现取自人类生活经验的树、狗或猫,只能依靠建立在这四个系统之上的推理。有些题目是专门用来考察某种特定抽象形式的。他说,做 ARC 的一个动机是,像自主抽象这样模糊的问题,必须与它的测试一同演化。设计题目本身,也帮他理清了自己的想法。人类,包括小孩子,都觉得其中很多题很容易;机器则几乎无从下手。
这与智商测试的主要区别在于,先验是明确写出来的。ARC 还更加多样,而且解题往往需要大量点击操作;网格最大可达 30×30。大约有一千道题,其中还包括一套私有测试集。出题很难,因为每道题都必须新颖、独特、无法预料。如果不小心做出一个小世界,它简单到让人可以逆向推出一个算法,由它生成所有 ARC 题目及其答案,这套测试就作废了。Chollet 发现,人并不是产生难以想象的新颖性的好来源。一天之内能想出的真正独特的题目就那么多,所以得控制节奏。他把 ARC 看成一项仍在进行中的工作,里面有他想继续打磨的冗余和不完美之处。众包加上几层筛选,或许能做出一个更大、更多元的题库,并冲淡他个人的一些偏见。但有一部分必须保密:用来给算法做基准测试的题目,不能让开发这些算法的人看到。否则,工程师就会自己解出题目,并把答案编码进去。那样一来,你测量的其实是人脑中的智能,只是它被固化成了一个产物,而这个产物本身并不智能。
一个意料之外的副作用是:包括孩子在内的许多人开始把 ARC 当成游戏来玩。Chollet 发布它时,本意是把它作为流体通用智能的基准测试。他觉得这种被当作游戏来玩的情形令人鼓舞。Fridman 指出,因为 ARC 身处机器智能测试的语境中,人类解题时就不得不内省自己是怎样找到答案的,去观察自己的心智如何生成抽象表示。Chollet 认为,原因在于先验的集合很小:一切都只是极少数假设的重新组合。他把 ARC 作为 Kaggle 竞赛办过,还打算继续迭代它,并且正在与纽约大学的心理学家合作收集人类数据,包括人类感受到的难度是否与机器感受到的难度相一致。
机器的成绩一开始是零,而人类觉得这些题很容易,这就像一盏闪烁的警示灯,提示有什么东西缺失了。但成绩并没有一直是零。在 Kaggle 竞赛开始的两周之内,就出现了非零的分数。在这次对话时,最好的成绩在测试集上约为 20%,而人类的表现接近 100%。这正是他想要的特征:难到足以说明需要进步,又没有难到让人无从下手,而且离被攻克还远。竞赛也表明,并没有明显的捷径。拿到分数的人,在某种意义上是在利用漏洞,通过预判测试集可能包含什么来取胜,这是人对基准测试的钻空子,之后的版本必须加以应对。Chollet 认为,要达到人类水平还需要一段时间;等到那时,我们拥有的系统,其泛化程度将与人类的流体智能相当。它们未必会被称为 AGI,也未必会长得像我们。
稳健性应付的是已知的未知;极端泛化则是一台为做饭而造的机器自学园艺
在机器学习里,如果一个系统能够理解它没见过的输入,就说它“泛化”了。Chollet 把这种泛化称为以系统为中心的泛化:新颖性是相对于这个系统而言的。他认为,一个好的智能测试应该要求更强的东西,也就是顾及开发者的泛化。系统必须应对的新颖性或不确定性,不仅是它自己从未见过的,也是它的开发者同样没有见过的。这正是自动驾驶中边缘情况问题的一种定义方式:训练数据的设计者,以及训练集的内容,都不知道这种情况。但系统仍然得应对。
他把泛化的程度看成一个谱。最低的层级,是机器学习通常想做到的:假设新情况是从一个静态分布中抽取的,而你已经手握这个分布的代表性样本,也就是你的训练数据。你所做的,是对同一已知分布上的新抽样进行泛化,沿着开发者已经理解的新颖性维度展开。这就是稳健性:在一个固定、已知的任务上,能扛住噪声和小幅变化。更高一层是灵活性:比如 L5 级的汽车,或者能通过“泡咖啡测试”的机器人,即把它放进全国某个陌生的厨房里,它能自己泡出一杯咖啡。灵活性要处理的是未知的未知,也就是创造者无法预见的变化维度,但仍然限定在一个任务之内。开车的长尾,就属于灵活性的范畴。
极端泛化,就是去掉单一领域的篱笆之后的灵活性。一台本来为做饭而设计和训练的机器人,买回家后能在一两周内自学园艺,就算展示了这种能力。终极目标,是一个系统在任意任务和领域上都能达到人类的技能水平,遇到新情况时能像人一样即兴应对,覆盖的工作范围与人类大致相当,所需的练习量也大致相当。这就是人类水平的极端泛化。Chollet 认为,人类距离最优的智能上限还很远,哪怕这样的上限确实存在。智能大概有一个硬性上限,人类远远没有到达那里。人的智能受制于自己的环境,以及我们所要解决的问题。
Fridman 问到 Neuralink 以及把脑力外包的问题。Chollet 对神经接口持怀疑态度,因为它们瞄准的带宽瓶颈,在他看来目前并没有那么紧要。我们已经有能采集到远超自身处理能力的信息的传感器。他同意,维基百科确实让人变得更聪明,但那是通过信息系统实现的外化认知,和脑机端口并不是一回事。你的大脑已经能通过手机、双手、眼睛和耳朵,比较直接地接入维基百科。速读行不通:读得越快,理解得越少。大脑很慢,最快的事件也要以几十毫秒计,形成一个有意识的想法则要以秒计,而训练有素的打字员,输出想法的速度已经和想法形成的速度差不多。增强人类智能确实是一条可行的路。计算机本来就是这样的东西,文化和文明也是如此。文化就是外化的认知,语言和书籍都是它的形式。文明本身拥有远超任何个体大脑的能力,而且它并不局限于某一个大脑。搜索引擎已经是这个有机体的一部分。
图灵测试把智能的定义交给了碰巧担任裁判的人
Fridman 问到图灵测试(Turing Test)和勒布纳奖(Loebner Prize):由人类评委给开放式对话打分。Chollet 不喜欢这个测试,也不喜欢它的各种变体,理由有两条。第一,它把整个问题交给一个评审团,从而回避了对智能下定义、进行测量这件事。这些评委可能没有方法,没有对智能的定义,也没有可靠性,这已经违背了心理测量学的核心原则。有偏差的人类评委,也违背了标准化和无偏差的要求。你等于是把一切真正重要的东西,包括对智能的精确描述,以及针对它的独立测试,全都外包给了人。Chollet 提醒 Fridman,图灵从来没有把模仿游戏当作这个领域的目标,也没有把它当作真正的智能测试。在 1950 年的那篇论文里,它是一个哲学论证中的思想实验:某种在外人看来与人类心智无法区分的东西,理论上可以被编码进图灵机。在当时,这是一个大胆的主张。如今,人们已经普遍接受:心智是一个信息处理系统。
第二个理由是激励机制。如果目标是让评委相信他们在和人类对话,那就有动机去耍花招。Chollet 打了个比方:如果物理学里检验瞬间移动的办法,是说服一个坐着的评审团相信瞬间移动发生了,那么 David Copperfield 在拉斯维加斯就能做到。那个表演设计得很精巧,但它不是物理学,也无助于增进我们对宇宙的理解。Fridman 提出反对意见,也许与其持续欺骗大量评委,不如把问题真正普遍地解决掉,那样反而更容易。Chollet 不同意。在实践中,骗人其实很容易。我们有心理理论(theory of mind)。我们会不断地把情绪、意图,以及主体性(我们天生的先验之一),投射到周围的一切事物上。在石头上画个笑脸,石头就显得开心了。正是这种拟人化的偏差,让这些花招得以奏效。
他更喜欢 Alexa Prize,因为它更务实:它鼓励的是一种有用的人机交互界面,而不是单纯的模仿。他认为,能以假乱真,是创造机器智能的最后一步,前面还有很多步要走。最先展现出强泛化能力、实现了类人广义认知能力的系统,不会长得像我们。一个好的测试,应当把你指向梯子的第一级,而不必直奔顶端。Fridman 为交互性辩护:对话会在一种博弈论式的环境里迫使系统去适应,而 ARC 的网格就像一道沉默的谜题,永远不会变化。Chollet 认同这一点。交互是迫使泛化的好环境,但它既不可扩展,也不可靠,因为它依赖人类评委。他原本想做一个 ARC 变体,按照找到正确答案之前的尝试次数来计分,这样就能运用类似科学方法的流程:提出假设、试探、更新,甚至还能容忍更多的歧义。如果再去衡量每次尝试的质量,就更好了,但也会更主观。他很想做出这样的东西,只是实际操作起来会非常困难。
认知用到压缩,却不等于压缩;一个人的意义,是他在文化中留下的涟漪
Marcus Hutter 设立的 Hutter 奖,要求参赛者压缩英文维基百科,理由是认知就是压缩,大脑就是一种压缩算法。Chollet 说,这是一个有趣、醒目的老观点。他以前也信过,现在已经不信了。这个观点之所以容易让人相信,是因为我们一直在压缩,我们偏好简洁,而 Hawkins 的“认知即预测”,就是加上了时间轴的压缩。压缩是人类认知工具箱里的一种工具,但它本身并不是认知。认知关乎的是,在包含根本不确定性和新颖性的未来情境中运作。拿一个十岁的孩子来说,他经历了十年的奖惩。如果把孩子的心智看成压缩算法,它为这十年得出的最短最优行为程序,用在接下来的七十年里,会完全不合适。我们为世界建立的模型,并没有被完美地压缩,因为它们必须包含那些目前看来没用、但将来可能有用的东西。你并不知道未来会是什么样。
这个投资上的类比,和他之前用来区分局部泛化与极端泛化的那个比喻,是同一个。把二十年的市场数据压缩一下,所谓“最佳”策略,就是当初买下苹果,再买下特斯拉。但这大概不是接下来二十年的策略,所以聪明的投资者会持有均衡的组合。被玩耍和好奇心驱动的孩子,压缩效率并不高,他们在探索,保留着那些看似没用、但将来可能派上用场的东西。这种对未来不确定性的对冲,与压缩是相互对立的。认知利用压缩来提升效率,这与 Chollet 归于爱因斯坦的那句话精神一致:尽量简单,但不要过于简单。一个好的世界模型,会包含表面上看似无用的多样性,就像一个投资组合里,会有一些目前表现还不好的股票,因为说到底,你并不真正知道自己在做什么。未来不会和过去一样。用压缩过去的办法,并不能作为应对未来的策略。
Fridman 以一个上次没有问到的问题作结:生命的意义是什么?Chollet 的回答从文化说起。构成我们的一切,哪怕是最私人的想法,其实也并不完全属于我们自己。这些想法是用我们没有发明的词语表达的,建立在我们没有发明的概念和图像之上。我们是文化的存在,这也是人与其他动物区别的很大一部分原因。我们身上的一切,都是前人的回响。如果我们为这座集体的大厦添上一点东西,一个新想法、一段音乐、一个理论,甚至一个新词,它就会成为后世人类心智的一部分,基本上是永久的。我们所做的每件事,都会激起向前传播的涟漪。他说,这就是一条通往不朽的路:文化变成了后来的人,而我们会持续影响几千年后的人。我们是过去涟漪的总和,也在制造指向未来的涟漪。这就是我们应该善良的原因。每一次善意都会激起涟漪,每一次暴力同样如此。你可以选择传播哪一种。Fridman 指出,Chollet 自己的涟漪也会流经未来的人类和未来的 AGI 系统。对此,两人都认为,这是一个不错的收尾之处。
同频道的其他文章
3:36:56EN → 简体中文
5:15:51EN → 简体中文
3:12:58EN → 简体中文
3:46:18EN → 简体中文
3:51:47EN → 简体中文
2:53:42EN → 简体中文