12 月 21 日,李世石在对战围棋人工智能「韩豆」的第三局比赛中再次落败,以总分 1:2 惜败于 AI。而纵观李世石的围棋职业生涯,他也是唯一击败过 Alphago 的人类。
可以这样说,AI 在围棋中表现出来的智能水平明显要高于人类。那么究竟如何衡量 AI 的智能水平?目前所宣传的「在 Dota 2 或围棋等单个游戏竞技项目中击败人类」是否宣示着超级智能 AI 即将出现呢?对超级智能 AI 的恐惧合理吗?
在接受 The Verge 的邮件访谈中,Keras 之父、谷歌软件工程师 François Chollet 对这些问题进行了解答。
谷歌 AI 研究员、Keras 之父 François Chollet。
衡量 AI 的智能水平是计算机科学领域最棘手、也最重要的问题之一。如果你不能判断今天构建的机器是否比昨天更聪明,那你又如何知道是否有所进展呢?
乍一看,这似乎不成问题。常见的一个回复是「很明显 AI 越来越智能。不信你看投入到该领域的金钱和人才,以及多个里程碑事件,如人工智能打败围棋冠军、十年前无法实现的应用今天已经变得普遍,如图像识别。这怎么能说是没有进步呢?」
而另一个回复是这些成就不能算是衡量智能水平的合适指标。人工智能击败国际象棋和围棋人类选手确实令人震惊,但最聪明的计算机能否在解决通用问题时超越蹒跚学步的儿童甚至一只老鼠?这才是关键。
这是 AI 研究者 François Chollet 提出的批评。Chollet 是谷歌软件工程师,机器学习大牛,创造了 Keras 这一广泛用于开发神经网络的程序,而神经网络正是目前 AI 的主干。他还著有大量机器学习教材,并经常在 Twitter 上发表对人工智能领域的见解。
在其近期论文《On the Measure of Intelligence》中,Chollet 提出 AI 需要重新审视「什么是智能,什么不是智能」。Chollet 表示,如果研究者想要向着通用人工智能方向努力,那么他们必须超越之前的流行基准(如电子游戏和棋盘游戏),并开始思考使人类聪明的真正技巧,如泛化和适应能力。
最近,The Verge 对 Chollet 进行了一次邮件采访,采访中 Chollet 解释了他对人工智能领域的想法,包括为什么他认为人工智能领域的当前成就被「歪曲」、未来我们要如何衡量智能,以及(Elon Musk 等人所说的)关于超级智能 AI 的恐怖故事为何对公众想象产生不合理的影响。
AI 领域两种不同的智能概念以及不断变化的 AI 性能衡量指标
问题 1:您在论文中介绍了塑造人工智能领域的两种不同的智能概念。一个认为智能是在大量任务中表现出色的能力,另一个则侧重于适应性和泛化性,即 AI 面对新挑战的能力。目前哪个框架影响力更大,其结果是什么?
Chollet:在人工智能历史的前 30 年中,最具影响力的观点是前者:智能是一组静态程序和显性知识库。现在,钟摆摇向反方向:AI 领域中定义智能概念的主流方式是「白板」(blank slate),或者说是「初始化的深度神经网络」。不幸的是,这个框架很大程度上未经挑战和检验。这些问题已有几十年的历史,而我并未看到目前人工智能领域对此有更多认识,可能因为现在大部分做深度学习的人是在 2016 年之后才进入该领域的吧。
这种知识垄断从来不是好现象,尤其是对了解甚少的科学问题。它限制了被问的问题集合,限制了人们所追寻的想法的空间。我认为现在研究者应该清醒面对这一事实。
问题 2:您在论文中还提出 AI 要想有所进展需要对「智能」提供更好的定义。您认为现在研究者只在静态测试(如电子游戏和棋盘游戏)中衡量 AI 性能。为什么您认为这一衡量指标存在不足?
Chollet:一旦你选择了一个衡量指标,你将寻找所有可行捷径来获得成功。例如把下国际象棋作为衡量智能的指标(我们从 1970 年代到 1990 年代一直是这么做的),那么你最终将得到一个下国际象棋的系统,仅此而已。你没法假设该系统适用于其他任务。你最终得到的只是树搜索和极小极大(minimax)算法,而这无法传授任何关于人类智能的知识。今天,将智能体在电子游戏(如 Dota 或星际争霸)中的技巧提升作为衡量智能的指标无疑会使通用智能再一次陷入同样的知识陷阱。
这对于人类或许并不明显,因为技巧和智能是紧密相关的。人类大脑能够利用通用智能获取特定任务的技巧。擅长国际象棋的人智力肯定很高,因为我们知道他们从零开始,必须使用通用智能来学习下象棋。他们并不是专门为下象棋而设计的。因此我们知道他们可以将通用智能应用于其他任务,并用类似的方式高效学习执行这些任务。这是「通用性」的意义。
但是机器没有这种约束。机器可以专为下象棋设计。因此适用于人类的推断——「会下象棋的人一定很聪明」不适用于机器。拟人化的假设不再可行。通用智能可以生成特定任务的技巧,但反过来,基于特定任务的技巧生成通用智能是不可行的。因此对机器而言,技巧与智能是完全无关的。你可以在任意任务上获取任意技巧,只要你能采样到该任务的无限数据(或者使用无限量的工程资源)。而这仍然无法使你接近通用智能半步。
其关键在于,不存在这么一种任务——在其上获得的高级技巧是智能的标志。除非该任务是元任务,需要对大量之前未知的问题获取新技巧。而这就是我所提出的智能基准。
目前基于游戏环境的 AI 既不具备泛化性也无法代表真正进展
问题 3:如果目前的基准无法帮助我们开发具备更通用灵活智能的 AI,那它们为什么这么流行呢?
Chollet:致力于在特定的著名电子游戏中打败人类冠军,主要是由其后续的新闻报道所驱动。如果大众不再对这些华而不实的「里程碑事件」感兴趣(它们很容易被误解为通往超越人类通用 AI 的一步),那么研究者会转而做些别的事。
我对此有些伤感,因为研究应该致力于回答开放的科学问题,而不是为了公关(PR)。如果我打算利用深度学习以超人水平「解决」《魔兽争霸 3》,那么大家可以确定只要我有足够的工程人才和算力(大概需要数千万美元),我就能达到目标。但是之后呢?关于智能或泛化性,我学到了什么呢?什么也没有。充其量不过是得到了一些扩展深度学习的工程知识。
因此我认为这并非真正的科研,因为它并没有教给我们新知识,它没有回答任何开放问题。如果问题是「我们能否以超人水平玩某游戏?」,那么答案很确定:「能,只要你有足够密集的训练场景样本,并将其输入到足够强大的深度学习模型中。」而这一点我们早就知道了。(在人工智能在 Dota 2 和星际争霸 2 中达到冠军水平之前,我就已经这么说了。)
问题 4:您认为这些项目的真正成就是什么?这些项目的结果多大程度上被误解?
Chollet:我所见到的一个赤裸裸的误解是:这些具备高超技巧的游戏系统代表通往「能够处理真实世界复杂性和不确定性的 AI 系统」的真正进展(这是 OpenAI 在其开发的 Dota 2 AI——OpenAI Five 的新闻稿中所说的话)。然而事实并非如此。如果它们真能代表真正进展,那么这将是无比珍贵的研究领域,但这并不属实。
拿 OpenAI Five 为例:首先它无法处理 Dota 2 的复杂度,因为它的训练过程中只使用了 16 个英雄,无法泛化至全场游戏(全场游戏共有 100 多个英雄)。它使用 45000 多年的游戏视频进行训练,请注意对训练数据的要求随着任务复杂度的增加而增长。事实证明训练得到的模型很脆弱:在 OpenAI Five 对大众开放后不久,非冠军人类选手就找到了击败它的策略。
如果你希望系统在未来某一天能够处理真实世界的复杂度和不确定性,那么你必须开始问这样的问题,比如什么是泛化?如何衡量和最大化学习系统的泛化性?而这与投入多 10 倍的数据、计算大规模神经网络无关,那些只能小幅度提升系统的技巧而已。
智能的衡量标准应更显性地利用「类人性」
问题 5:那什么是这个领域更好的智能衡量指标呢?
Chollet:简而言之,我们需要停止在事先已知的任务中评估技巧,比如国际象棋、Dota 或星际争霸,转而评估模型获取技巧的能力。这意味着仅使用系统事先不知道的新任务,来衡量系统处理该任务时所具备的先验知识以及系统的样本效率(即系统学习完成该任务需要多少数据)。达到一定技能水平所需要的信息(即先验知识和经验)越少,系统的智能程度越高。今天的 AI 系统真的算不上多智能。
此外,我认为我们对智能的衡量指标应该更显性地利用「类人性」(human-likeness)。或许存在不同类型的智能,但当我们谈论通用智能时,类人智能才是我们真正要讨论的。这包括理解人类先天具备的先验知识。人类的学习过程异乎寻常地高效,我们只需少量经验就可以获得新技能,而且无需从头开始。人类利用先天的先验知识以及一生累积的技能与知识。
我在近期的论文中提出一个新的基准数据集 ARC,它看起来很像 IQ 测试。ARC 是一组推理任务,其中每一个任务通过少量展示(通常是三个)来解释,你能够基于这些展示学习如何完成任务。ARC 主张评估系统所用的每一个任务都应当是全新的,且只能使用类似人类先天知识的知识类型。目前,人类可以解决所有 ARC 任务,且无需任何文字解释或先验训练,但我们目前尝试过的所有 AI 技术都无法解决 ARC 任务。这是一个巨大的警告,这其中必有什么猫腻,我们需要新的想法。
通用人工智能的进步是否仍然需要依赖算力的投入?
问题 6:投入更多算力可使 AI 继续进步,您同意这个观点吗?有些人认为,从历史上来看,这是提升性能的最成功方法。有些人则认为如果还沿着这条路走,我们将很快看到回报递减。
Chollet:如果是针对特定任务,这个观点完全正确。对特定任务投入更多训练数据和算力将提升模型在该任务上的性能。但是它对如何获得通用人工智能没有任何有益的帮助。
如果你有足够大的深度学习模型,并针对某个任务在密集样本上进行训练,那么该模型将学会解决该任务,不管这个任务是什么——Dota、星际争霸等等。这非常珍贵,它在机器感知问题上有几乎无限个应用。唯一的问题在于,你所需的数据是任务复杂度的组合函数,因此即使是稍微复杂的任务也需要极高昂的成本。
比如自动驾驶。数以亿计的训练场景仍不足以训练一个安全驾驶汽车的端到端深度学习模型。这就是 L5 级自动驾驶尚未实现的首要原因;其次,最先进的自动驾驶系统主要是符号模型,它们使用深度学习连接这些人工工程模型和传感器数据。如果深度学习可以泛化,那早在 2016 年我们就已经实现 L5 级自动驾驶了,而且还是以大型神经网络的形式出现。