苦涩的教训 - Rich Sutton

原文:The Bitter Lesson - Rich Sutton
systems that simply use more computing power end up outperforming these carefully crafted solutions.

过去 70 年的人工智能研究告诉我们一个重要的教训:利用计算能力的通用方法被证明是最有效的,而且远胜于其他方法。这背后的根本原因在于摩尔定律,或者更广义地说,是计算成本持续呈指数级下降的规律。大多数人工智能研究是基于这样一个假设:智能体所能使用的计算能力是固定的(在这种情况下,利用人类知识可能是提升性能的唯一方式)。然而,从比普通研究周期稍长的时间尺度来看,可用的计算资源总是大幅增长。研究人员往往希望在短期内取得进展,因此他们倾向于依赖人类对特定领域的知识,但从长远来看,真正重要的是如何充分利用计算能力。理论上,这两种方法可以兼容,但在实践中,它们往往相互排斥。花时间在一种方法上,就意味着无法投入到另一种方法中。同时,采用人类知识的方法往往会使系统变得复杂,难以充分利用计算能力。因此,历史上有很多 AI 研究人员最终才领悟到这个“苦涩的教训”,回顾其中一些重要案例可以让我们更清楚地理解这一点。

在计算机象棋领域,1997 年打败世界冠军卡斯帕罗夫的 AI 采用的是大规模深度搜索的方法。当时,许多计算机象棋研究人员对这一结果感到沮丧,因为他们长期以来专注于利用人类对象棋结构的理解来改进 AI。然而,事实证明,一个更简单、基于搜索的算法,加上专门设计的硬件和软件,表现远超这些基于人类知识的方法。那些坚持以人类知识为核心的研究人员难以接受失败,他们认为“暴力搜索”只是暂时的取巧,不是一种通用方法,而且它并不像人类下棋的方式。他们希望基于人类输入的方法能获胜,因此当现实不符合他们的期望时,他们深感失望。

类似的情况在计算机围棋领域也出现了,只是时间上延后了 20 年。最初的研究重点是如何避免搜索,而是通过利用人类知识或游戏的特殊特性来提升性能。然而,这些方法最终都被证明无效,甚至有害。一旦大规模搜索得到了有效应用,这些方法便彻底失去了竞争力。此外,自我对弈训练价值函数的方法(在象棋等游戏中也有所应用)起到了关键作用。尽管 1997 年的象棋 AI 主要依赖搜索,但后来自我学习变得越来越重要。自我对弈和学习本质上与搜索类似,都可以借助大规模计算提升 AI 性能。搜索和学习是 AI 研究中利用计算能力的两大核心方法。在计算机围棋领域,研究人员最初尝试利用人类知识来减少搜索量,但最终只有全面拥抱搜索和学习的方法才取得了重大突破。

在语音识别领域,早在 1970 年代,美国国防高级研究计划局(DARPA)就举办了一场竞赛。参赛的方法主要分为两类:一类是基于人类知识的,比如利用对单词、音素和声道结构的理解;另一类则是更具统计性的计算方法,比如基于隐马尔可夫模型(HMM)。最终,统计方法战胜了基于人类知识的方法。这一结果推动了整个自然语言处理领域的变革,统计和计算方法逐渐成为主流。近年来,深度学习在语音识别中的崛起是这一趋势的最新阶段。深度学习方法进一步减少了对人类知识的依赖,而是依靠更大规模的计算和海量训练数据,取得了显著提升。与棋类游戏类似,研究人员最初倾向于设计符合他们对人类思维方式理解的系统——他们试图将这种知识直接编码到系统中。然而,最终的结果表明,这种做法适得其反,并且浪费了大量研究时间。随着摩尔定律带来的计算能力增长,更高效的计算方法才真正取得了成功。

计算机视觉的发展也遵循了类似的模式。早期的研究方法试图通过边缘检测、广义圆柱模型或 SIFT 特征来模拟人类视觉。但如今,这些方法都已被淘汰。现代的深度学习神经网络只使用卷积和特定类型的不变性概念,却能取得远胜于早期方法的效果。

这是一个重要的教训。作为一个领域,我们仍未完全吸取这个教训,因为类似的错误还在不断发生。要避免重蹈覆辙,我们需要理解这些错误的吸引力。我们必须接受这个“苦涩的教训”——试图直接构建符合人类思维方式的 AI,在长期来看是行不通的。这一教训的核心经验包括:1)AI 研究人员往往尝试将人类知识直接融入系统,2)这种方法在短期内可能有帮助,并能带来研究上的满足感,但 3)从长期来看,它会限制甚至阻碍进一步进步,4)最终,真正的突破总是来自对计算规模的扩展,即基于搜索和学习的方法。这种成功往往伴随着痛苦,因为它意味着人类知识导向的方法被淘汰。

从这个教训中,我们应该学到两点重要的经验。首先,通用方法的强大之处在于它们能够随着计算能力的增长不断扩展,而不受限制。目前来看,最具扩展性的两种方法是搜索和学习。其次,我们应认识到,人类思维的实际内容极其复杂,无法用简单的方法进行建模。我们应该放弃那些试图用简单规则来理解空间、物体、多智能体或对称性的做法。这些概念本质上是外部世界的复杂性体现,试图将它们直接编码到系统中只会带来无穷无尽的挑战。相反,我们应该专注于构建能够自动发现和理解这种复杂性的元方法。关键在于,AI 需要能够自主找到合理的近似,而这个过程应该由 AI 自己完成,而不是由人类手动设计。我们希望 AI 能像我们一样探索和发现,而不是仅仅包含我们已经发现的知识。将我们的知识硬编码到系统中,只会让 AI 难以自主学习发现新知识的能力。


AI Founder’s Bitter Lesson