跳到正文

THE JOURNAL / FIELD NOTES

苦涩的教训-圣经

i
The Bitter Lesson — Rich Sutton
incompleteideas.net

The Bitter Lesson · 苦涩的教训(圣经)

作者:Rich Sutton
原文日期:2019 年 3 月 13 日
原文:The Bitter Lesson

原文转载:http://www.incompleteideas.net/IncIdeas/BitterLesson.html

The biggest lesson that can be read from 70 years of AI research is that general methods that leverage computation are ultimately the most effective, and by a large margin. The ultimate reason for this is Moore's law, or rather its generalization of continued exponentially falling cost per unit of computation. Most AI research has been conducted as if the computation available to the agent were constant (in which case leveraging human knowledge would be one of the only ways to improve performance) but, over a slightly longer time than a typical research project, massively more computation inevitably becomes available. Seeking an improvement that makes a difference in the shorter term, researchers seek to leverage their human knowledge of the domain, but the only thing that matters in the long run is the leveraging of computation. These two need not run counter to each other, but in practice they tend to. Time spent on one is time not spent on the other. There are psychological commitments to investment in one approach or the other. And the human-knowledge approach tends to complicate methods in ways that make them less suited to taking advantage of general methods leveraging computation. There were many examples of AI researchers' belated learning of this bitter lesson, and it is instructive to review some of the most prominent.

从70年的人工智能研究中可以汲取的最重要教训是:利用计算能力的通用方法最终是最有效的,而且优势非常明显。其根本原因在于摩尔定律,或者更确切地说,是摩尔定律对计算成本持续呈指数级下降的概括。大多数人工智能研究都假设智能体可用的计算能力是恒定的(在这种情况下,利用人类知识将是提升性能的唯一途径之一),但随着时间的推移,计算能力必然会大幅提升,远超一般研究项目所需。为了在短期内取得显著改进,研究人员试图利用他们对该领域的人类知识,但从长远来看,真正重要的是利用计算能力。这两者并非必然相互矛盾,但在实践中却往往如此。投入到其中一种方法的时间就意味着无法投入到另一种方法中。人们在心理上倾向于投资于其中一种方法。而且,利用人类知识的方法往往会使方法变得复杂,从而不利于利用通用的计算能力。人工智能研究人员迟迟才吸取到这一惨痛教训的例子不胜枚举,回顾其中一些最突出的例子很有启发意义。

In computer chess, the methods that defeated the world champion, Kasparov, in 1997, were based on massive, deep search. At the time, this was looked upon with dismay by the majority of computer-chess researchers who had pursued methods that leveraged human understanding of the special structure of chess. When a simpler, search-based approach with special hardware and software proved vastly more effective, these human-knowledge-based chess researchers were not good losers. They said that ``brute force" search may have won this time, but it was not a general strategy, and anyway it was not how people played chess. These researchers wanted methods based on human input to win and were disappointed when they did not.

在计算机国际象棋领域,1997年击败世界冠军卡斯帕罗夫的方法是基于大规模深度搜索。当时,大多数致力于利用人类对国际象棋特殊结构的理解进行研究的计算机国际象棋研究人员对此感到沮丧。当一种更简单、基于搜索且配备专用硬件和软件的方法被证明更为有效时,这些依赖人类知识的国际象棋研究人员却难以接受失败。他们说,“蛮力”搜索或许这次赢了,但这并非通用策略,而且无论如何,这也不是人们下棋的方式。这些研究人员希望基于人类输入的方法能够获胜,但当结果不如人意时,他们感到失望。

A similar pattern of research progress was seen in computer Go, only delayed by a further 20 years. Enormous initial efforts went into avoiding search by taking advantage of human knowledge, or of the special features of the game, but all those efforts proved irrelevant, or worse, once search was applied effectively at scale. Also important was the use of learning by self play to learn a value function (as it was in many other games and even in chess, although learning did not play a big role in the 1997 program that first beat a world champion). Learning by self play, and learning in general, is like search in that it enables massive computation to be brought to bear. Search and learning are the two most important classes of techniques for utilizing massive amounts of computation in AI research. In computer Go, as in computer chess, researchers' initial effort was directed towards utilizing human understanding (so that less search was needed) and only much later was much greater success had by embracing search and learning.

计算机围棋的研究进展也呈现出类似的模式,只是比国际象棋晚了20年。最初,研究人员投入大量精力试图通过利用人类知识或棋局的特殊机制来避免搜索,但一旦搜索被大规模有效地应用,所有这些努力都被证明是徒劳的,甚至更糟。同样重要的是,研究人员利用自对弈来学习价值函数(这在许多其他游戏甚至国际象棋中都有应用,尽管在1997年首次击败世界冠军的程序中,学习并没有发挥重要作用)。自对弈学习,以及一般的学习,与搜索类似,都能使大规模计算得以应用。搜索和学习是人工智能研究中利用大规模计算的两大最重要的技术。在计算机围棋领域,正如在计算机国际象棋领域一样,研究人员最初的努力方向是利用人类的理解(从而减少搜索的需求),直到很久以后,通过采用搜索和学习才取得了更大的成功。

In speech recognition, there was an early competition, sponsored by DARPA, in the 1970s. Entrants included a host of special methods that took advantage of human knowledge---knowledge of words, of phonemes, of the human vocal tract, etc. On the other side were newer methods that were more statistical in nature and did much more computation, based on hidden Markov models (HMMs). Again, the statistical methods won out over the human-knowledge-based methods. This led to a major change in all of natural language processing, gradually over decades, where statistics and computation came to dominate the field. The recent rise of deep learning in speech recognition is the most recent step in this consistent direction. Deep learning methods rely even less on human knowledge, and use even more computation, together with learning on huge training sets, to produce dramatically better speech recognition systems. As in the games, researchers always tried to make systems that worked the way the researchers thought their own minds worked---they tried to put that knowledge in their systems---but it proved ultimately counterproductive, and a colossal waste of researcher's time, when, through Moore's law, massive computation became available and a means was found to put it to good use.

在语音识别领域,20 世纪 70 年代曾举办过一场由美国国防高级研究计划局(DARPA)赞助的早期竞赛。参赛者们提出了一系列利用人类知识(例如词汇知识、音素知识、人类声道知识等)的特殊方法。与此同时,还有一些基于隐马尔可夫模型(HMM)的新型统计方法,这些方法需要进行大量的计算。最终,统计方法胜过了基于人类知识的方法。这引发了自然语言处理领域的重大变革,并在数十年间逐渐演变为统计和计算方法主导该领域。近年来,深度学习在语音识别领域的兴起,正是这一发展趋势的最新进展。深度学习方法对人类知识的依赖性更低,计算量更大,并且利用海量训练集进行学习,从而显著提升了语音识别系统的性能。就像在游戏中一样,研究人员总是试图制造出能够按照他们自己思维方式运作的系统——他们试图将这种知识融入到他们的系统中——但最终证明这是适得其反的,也是对研究人员时间的巨大浪费,因为随着摩尔定律的出现,大规模计算成为可能,并且找到了充分利用它的方法。

In computer vision, there has been a similar pattern. Early methods conceived of vision as searching for edges, or generalized cylinders, or in terms of SIFT features. But today all this is discarded. Modern deep-learning neural networks use only the notions of convolution and certain kinds of invariances, and perform much better.

计算机视觉领域也曾出现过类似的模式。早期的方法将视觉视为搜索边缘、广义圆柱体或使用 SIFT 特征。但如今这些方法都被摒弃了。现代深度学习神经网络仅使用卷积和某些类型的不变性,却能取得更好的性能。

This is a big lesson. As a field, we still have not thoroughly learned it, as we are continuing to make the same kind of mistakes. To see this, and to effectively resist it, we have to understand the appeal of these mistakes. We have to learn the bitter lesson that building in how we think we think does not work in the long run. The bitter lesson is based on the historical observations that 1) AI researchers have often tried to build knowledge into their agents, 2) this always helps in the short term, and is personally satisfying to the researcher, but 3) in the long run it plateaus and even inhibits further progress, and 4) breakthrough progress eventually arrives by an opposing approach based on scaling computation by search and learning. The eventual success is tinged with bitterness, and often incompletely digested, because it is success over a favored, human-centric approach.

这是一个重要的教训。作为一个领域,我们尚未彻底吸取教训,因为我们仍在犯同样的错误。为了认识到这一点,并有效地抵制这种错误,我们必须理解这些错误的吸引力所在。我们必须吸取惨痛的教训:将我们思考的方式融入人工智能系统,从长远来看是行不通的。这个惨痛的教训基于以下历史观察:1)人工智能研究人员经常试图将知识构建到他们的智能体中;2)这在短期内总是有效,并且能给研究人员带来个人满足感,但3)从长远来看,这种方法会停滞不前,甚至阻碍进一步的发展;4)最终取得突破性进展的,是另一种基于搜索和学习来扩展计算能力的方法。最终的成功往往伴随着苦涩,而且常常难以完全消化,因为它战胜了人们偏爱的、以人为中心的方法。

One thing that should be learned from the bitter lesson is the great power of general purpose methods, of methods that continue to scale with increased computation even as the available computation becomes very great. The two methods that seem to scale arbitrarily in this way are search and learning.

从这个惨痛的教训中应该学到的一点是…… 通用方法的力量,以及能够持续扩展的方法的力量。 即使可用计算能力增加,计算能力也会随之增强。 非常棒。这两种方法似乎都能以这种方式任意扩展。 是搜索和学习 。

The second general point to be learned from the bitter lesson is that the actual contents of minds are tremendously, irredeemably complex; we should stop trying to find simple ways to think about the contents of minds, such as simple ways to think about space, objects, multiple agents, or symmetries. All these are part of the arbitrary, intrinsically-complex, outside world. They are not what should be built in, as their complexity is endless; instead we should build in only the meta-methods that can find and capture this arbitrary complexity. Essential to these methods is that they can find good approximations, but the search for them should be by our methods, not by us. We want AI agents that can discover like we can, not which contain what we have discovered. Building in our discoveries only makes it harder to see how the discovering process can be done.

从这个惨痛的教训中我们得到的第二个重要启示是:心灵的实际内容极其复杂,而且是无法弥补的;我们应该停止试图寻找简单的方法来思考心灵的内容,例如简单的方法来思考空间、物体、多主体或对称性。所有这些都属于任意的、本质上复杂的外部世界。它们不应该被内置到系统中,因为它们的复杂性无穷无尽;相反,我们应该只构建能够发现并捕捉这种任意复杂性的元方法。这些方法的关键在于它们能够找到良好的近似值,但寻找这些近似值的过程应该由我们的方法来完成,而不是由我们自己完成。我们想要的是能够像我们一样进行发现的 AI 代理,而不是仅仅包含我们已经发现的内容的 AI 代理。将我们的发现内置到系统中只会让我们更难理解发现的过程是如何进行的。