图片来自Alex Castro / The Verge
测量人工智能的「智慧」是计算机科学领域中最棘手但最重要的问题之一。如果你不明白你今天制造的机器是否比昨天更聪明,那你怎么知道你在进步?
乍一看,这似乎不是问题。其中一个回答是:「显然人工智能越来越聪明」。仅从所有涌入这一领域的资金和人才就可以看出来。也可以回顾一下 AI 领域实现的一系列里程碑,例如 AI 在围棋上打败人类,以及像图像识别等在十年前根本不可能落地的应用现在开始变得无处不在。我们怎么能说 AI 这个领域不是在进步?
另一个回答是,这些成就并不是衡量「智慧」的良好标准。AI在国际象棋和围棋中击败人类确实令人印象深刻,但是如果在解决一般的问题时,一个正在蹒跚学步的孩子甚至一只老鼠都能让最聪明的计算机「不知所措」,AI 又有什么用?
这是人工智能研究人员、谷歌软件工程师、机器学习界知名人士François Chollet 对当下的 AI 做出的评论。Chollet 是 Keras 库的作者,而 Keras 则是一个被广泛应用的开发神经网络的程序,是当代人工智能的脊柱。他还编写了大量关于机器学习的教科书,并在 Twitter 开设了专栏分享自己对于 AI 领域的观点,广受欢迎。
在最近一篇题为《测量智慧》的论文中,Chollet 还提出了一个论点,即人工智能世界需要重新定义什么是「智慧」以及什么不是「智慧」。Chollet 指出,如果研究人员想在通用人工智能方面取得进展,他们需要回顾过去流行的基准,如电子游戏和棋类游戏,并开始思考让人类变得聪明的技能,比如我们所具有的概括和适应的能力。
在接受 The Verge 杂志的电子邮件采访时,Chollet 阐述了他对这个问题的看法,谈到了他为什么认为人工智能目前的成就被「歪曲了」,以及我们将来如何衡量「智慧」,为什么关于超级人工智能的恐怖故事(如 Elon Musk 和其他人所说)会毫无根据地把控住公众的想象力。
FrançoisChollet是AI框架Keras的发明者,也是Google的软件工程师
为了将Chollet 的观点表述得更为清晰,本文对采访做了一定编辑。
问:在您的论文中,您描述了塑造人工智能领域的两个不同的「智慧」概念:一种「智慧」表现为能够胜任广泛的任务的能力,另一种则优先考虑适应能力和泛化能力,即人工智能应对新挑战的能力。现在哪个框架的影响力更大,带来了什么样的影响?
Chollet:该领域发展的头 30 年里,最有影响力的观点是前者:「智慧」是一套静态的程序和显性的知识库。现在,观点则向另一个相反的方向偏倚:AI 社区定义「智慧」的主流方法还是一张「白纸」,或者用一个更确切的比喻来说,是「新初始化的深层神经网络」。然而不幸的是,这是一个基本上没有受过挑战、甚至几乎没有经过检验的框架。这些问题有着很长的学术历史(确切地说是几十年的历史),我认为即便是现在,AI 领域对「智慧」也没有太多认识,也许是因为现在在做深度学习的人,大多数都是在 2016 年之后才加入这个领域的。
这种知识垄断现象从来都不是什么好事,尤其是在回答这些理解尚不足的科学问题时。它对于领域内的研究者提出一系列的问题带来了很大的限制,也限制了人们追求的思想空间。我认为现在研究者们逐渐开始意识到了这个现象。
问:在您的论文中,您还提出,人工智能需要更好地定义「智慧」才能进步。您提到,现在研究人员专注于在静态测试(例如在电子游戏和棋类游戏中获胜)中对性能进行基准测试。为什么您觉得这种测量「智慧」的方式是不足够的呢?
Chollet:是这样的,一旦你选择了一个衡量标准,你将会为了实现这一标准而采取任何可以采用的捷径。例如,如果你把下棋作为衡量「智慧」的标准(我们从 20 世纪 70 年代到 90 年代都是这么做的),你最终会得到一个下棋的系统,仅此而已。而根本没有理由去思考这个系统到底对其他事情有什么益处。你最终让系统实现了树状搜索和极小化极大算法,但这并不能教会系统任何关于人类智能的知识。如今,研究者们在 Dota 或 StarCraft 等电子游戏中追求高超技能,将此作为实现了通用「智慧」的典型代表,则陷入了完全相同的智力陷阱。
这也许并不明显,因为在人类看来,技能和「智慧」是密切相关的。人类的大脑可以利用它的通用「智慧」来获得完成特定任务的技能。一个真正擅长象棋的人可以被认为是相当聪明的,因为,我们隐约知道他们必须用自己的通用「智慧」来从零开始学习下棋。他们不是为下棋而生的。所以我们知道,他们可以把这种通用「智慧」指向许多其他任务上,并学会同样很高效地完成这些任务。这就是所谓的「通用性」。
但是机器没有这样的限制,机器完全可以为下棋而设计。因此,我们对人类所做的推论——「会下棋,因此一定很聪明」,就失效了,我们的拟人假设不再适用。通用「智慧」可以产生完成特定任务的技能,但绝对不能反过来说,完成特定任务的技能可以产生通用「智慧」。所以对于机器而言,技能和智慧是完全正交的。你可以获得针对任何特定任务的特定技能,只要你可以用无限数据作为这种任务的样例(或者花费无限的工程资源),但这仍然不能让机器更接近通用「智慧」。
我最主要的观点是,在任何一项任务中获得超高技能,都不能作为「智慧」的标志。除非这项任务实际上是一项元任务,它涉及让机器在一系列以前未知的问题上获得新技能。这正是我所提倡的「智慧」的基准。
人工智能实验室的研究人员在《星际争霸2》中观察他们的人工智能AlphaStar如何对付人类玩家。图片来自DeepMind
问:如果当前的这些基准无法帮助我们发展拥有更通用、更灵活的「智慧」的人工智能,那么为什么它们如此受欢迎?
Chollet:毫无疑问,AI在特定的知名电子游戏中击败人类冠军的成就很大程度上是由报道这些项目的媒体所推动的。如果公众对这些浮躁的,而且很容易被误解为通往超人类通用人工智能的重要进步的「里程碑」不感兴趣,那么研究人员将做些别的事情。
我觉得这有点可悲,因为研究应该回答开放的科学问题,而不是产生公关效应。如果我开始用深度学习以超人类的水平「解决」《魔兽争霸 3》,你可以肯定的是,只要我有足够的工程人才和计算能力(对于这样的任务来说,这大约需要几千万美元),我就一定能达到目的。然而一旦我做到了,我能学到关于「智慧」和泛化能力的什么东西吗?坦白说,什么也学不到。充其量,我会掌握有关扩展深度学习的工程知识。所以,我并不真正将其视为科学研究,因为它没有教给我们任何我们不知道的东西,也没有回答任何开放性的问题。如果问题是,「我们能在超人类的水平上玩 X 游戏吗?」答案是肯定的:「可以,只要你能够生成足够密集的训练环境的样本,并将其输入到一个有效表达的深度学习模型中」,早在前一段时间,我们就已经知道了这一点。(事实上,在 AIs 达到 DOTA2 和 StarCraft II 的冠军级别之前的一段时间,我就表达过这样的观点。)
问:您认为这些项目的实际成果是什么?这些项目的结果在多大程度上被误解或歪曲?
Chollet:我看到的一个明显错误的陈述是,这些高技能的游戏系统代表着「可以处理现实世界的复杂性和不确定性的人工智能系统的真正进步」。(正如 OpenAI 在给用来玩 DOTO2 的程序 OpenAI 5 发布的新闻稿中所宣称的那样)。它们并不能代表人工智能的进步。如果它们真的可以,这将是一个非常有价值的研究领域,但事实并非如此。以 OpenAI 5 为例,它最初不能处理 Dota2 的复杂性,因为它是用 16 个字符来训练的,不能泛化到整个游戏中,整个游戏有超过 100 个字符。它经过了 45,000 年的游戏训练,然后再一次注意到对于训练数据的需求如何随着任务的复杂度增长。而即便经过这么长时间的训练,得到的模型依旧被证明是非常脆弱的:在这种 AI 对外发布能供人类与之对战后,即便是非冠军的人类玩家,也能够找到能十拿九稳地打败它的策略。
如果你希望有一天能够处理现实世界的复杂性和不确定性,你就必须开始问一些问题,比如什么是泛化?如何衡量和最大化学习系统的泛化能力?这与向一个大的神经网络投入 10 倍的数据并进行计算完全是正交的,这样它的技能就能提高一点点。
问:那么,对于这个领域来说,什么是更好的测量「智慧」的标准呢?
Chollet:简而言之,我们需要停止评估针对事先已知的任务的技能(比如象棋、Dota 或 StarCraft),而是开始评估「技能获得能力」。这是指只使用系统事先不知道的新任务,来测量系统开始执行任务的先验知识并测量系统的样本效率(即完成任务所需的数据量)。系统需要的信息(先前的知识和经验)越少,它就越聪明,而今天的人工智能系统真的一点也不聪明。
此外,我认为我们对「智慧」的衡量应该使「似人性」更加明确,因为可能存在不同类型的「智慧」,而我们实际上就是在隐含地谈论类人的「智慧」,这包括试图理解人类与生俱来的先验知识。人类的学习是极其高效的,他们只需要很少的经验就可以获得新技能,但他们并不是从头开始学习:除了一生积累的技能和知识外,他们还利用与生俱来的先验知识来学习。
我最近的论文提出了一个新的基准数据集 ARC(「Abstraction and Reasoning Corpus」,意为「抽象和推理语料库」),它看起来很像智商测试。ARC 是一组推理任务,其中每个任务都通过一小段演示(通常是三个演示)进行解释,你应该从这几个演示中学习如何完成任务。ARC 采取的立场是,你的系统所评估的每一项任务都应该是全新的,而且应该只涉及符合人类先天知识的知识。例如,它不能以语言作为特征。目前,ARC 完全可以在没有任何口头解释或先前训练的前提下由人类完成,但它完全不能被任何我们已经尝试过的人工智能技术所解决。这是一个巨大且明显的信号,表明了有一些事情正在发生,也表明我们需要新的想法。
Chollet 为他的新 ARC 基准数据集提出的「智慧」测试的一个例子。图片来自 François Chollet
问:您认为只通过在这些问题上投入更多的计算能力,人工智能世界能够继续进步吗?有人认为,从发展历史上看,这是提高绩效的最成功的方法,而其他人则认为,如果我们沿着这条路走下去,我们很快就会看到收益递减。
Chollet:如果你在做一个特定的任务,这种观点是绝对正确的:在垂直任务上投入更多的训练数据和计算能力将提高针对该任务的能力。然而在帮助你理解如何实现人工智能的通用性方面,它会让你一无所获。
如果你有一个足够大的深度学习模型,并且针对一个特定任务在跨输入输出空间的密集采样上训练它,那么它将学习解决这个任务,不管是什么——不论是 Dota 还是 StarCraft,凡是你能想到的。这是非常有价值的,并且在机器感知问题中有着几乎无限的应用。这里唯一的问题是,你需要的数据量是一个任务复杂度的组合函数,所以即使是稍微复杂的任务,计算也会变得非常昂贵。
以自动驾驶汽车为例。数以百万计的训练环境也不足以让一个端到端的深度学习模型学会安全驾驶汽车。首先,这就是L5 自动驾驶还没有完全实现的原因。其次,最先进的自动驾驶系统主要是符号模型,它们使用深度学习将这些人工设计的模型与传感器数据连接起来。所以如果深度学习可以泛化的话,我们在 2016 年就应该拥有了 L5 自动驾驶,并且它采用一种大型神经网络的形式。
自动驾驶汽车的发展比许多人预测的要慢得多。图片来自Vjeran Pavic / The Verge
问:最后,考虑到您所说的当前人工智能系统的限制,似乎有必要问一下对于「一个非常强大的 AI 在未来将会给人类带来毁灭性的伤害」的「超级智能恐惧论」,您认为这种担忧合理吗?
Chollet:不,我认为关于超级智能的论述是没有根据的。我们从未创造过一个自主的智能系统,也绝对没有迹象表明我们能够在不远的将来创造一个。(这也并不是当前人工智能的发展方向。)而且如果我们真的在遥远的未来创造了一个这样的系统,我们也完全没有办法推测它会具备什么特征。用一个比喻来说,这有点像在 1600 年问:「弹道学进展很快!所以,如果我们有一门可以摧毁整个城市的大炮会怎么样呢,我们如何确保它只会杀掉坏人?」这是一个相当畸形的问题,在对我们所讨论的系统尚缺乏任何知识的情况下进行辩论,这个问题充其量只是一个哲学争论。
这种「超级智能恐惧论」有一个很大的问题是它们掩盖了今天人工智能有可能变得相当危险这一事实。并非AI 系统实现了超级智能才能证实 AI 应用潜藏着危险。我此前写过关于使用人工智能来实现算法宣传系统的文章,也有其他人写过算法偏见、在武器系统中使用人工智能,或者把人工智能当作极权主义的控制工具的文章。
有一个关于 1453 年君士坦丁堡被围困的故事,讲的是当这座城市与奥斯曼军队作战时,它的学者和统治者却在争论天使的性别。这个故事告诉我们,我们投入越多的精力和注意力讨论天使的性别,或者假设超级人工智能的价值取向时,我们处理人工智能技术当下存在的现实而紧迫的问题的精力和注意力就越少。现在,有一个出名的技术领导者喜欢把超级人工智能描绘成对人类生存的威胁。好吧,虽然这些想法能够极大地吸引媒体的注意,但却并没有讨论在我们的道路上那些部署不够准确的、会导致交通事故和生命损失的自动驾驶系统所引发的道德问题。
问:如果一个人接受这些评论,即目前这些恐惧还没有技术基础作为支撑,那么您认为为什么超级智能的论述如此受欢迎呢?
Chollet:最后我只能说,这是一个好故事,而人们往往会被好故事所吸引。它与末世宗教的故事相似并不是巧合,因为宗教故事会随着时间的推移而不断演变并且会经过人们一再挑选,以与人们产生强烈的共鸣并有效传播。出于同样的原因,你也可以在科幻电影和小说中找到这种论述。这种论述被用在小说里,与它跟宗教故事相似以及作为一种理解人工智能发展方向的方式而流行起来的原因都是一样的:它是一个好故事,而人们需要故事来理解这个世界。人们对这些故事的需求,远远超过对理解「智慧」的本质或理解推动技术进步的因素的需求。