苦涩的教训

Rich Sutton

2019 年 3 月 13 日

从 70 年的 AI 研究中可以读出的最大教训是:利用计算(leverage computation)的通用方法(general methods / general purpose methods)最终是最有效的,而且优势巨大。其根本原因是摩尔定律(Moore’s law),或者更准确地说,是单位计算成本(cost per unit of computation)持续指数级下降这一更一般化的趋势。大多数 AI 研究一直像是在假设智能体(agent)可用的计算量是恒定的那样开展的;在这种情况下,利用人类知识(human knowledge)会是提升性能的少数办法之一。但是,在比一个典型研究项目略长一点的时间尺度上,必然会有大得多的计算量变得可用。研究者为了寻求能在较短期内产生差异的改进,会试图利用他们关于领域的人类知识;但从长远看,唯一重要的是对计算的利用。这两者并不一定彼此冲突,但在实践中往往会冲突。花在其中一者上的时间,就是没有花在另一者上的时间。人们会在心理上承诺投资于一种方法或另一种方法。而且,人类知识方法(human-knowledge approach)往往会使方法变得复杂,从而使它们更不适合利用那些借助计算的通用方法。AI 研究者迟迟才学会这一苦涩的教训(bitter lesson)的例子有很多,回顾其中一些最突出的例子是有启发意义的。

在计算机国际象棋中,1997 年击败世界冠军 Kasparov 的方法,是基于大规模的深度搜索(deep search)。当时,大多数计算机国际象棋研究者对此感到沮丧,因为他们追求的是利用人类对国际象棋特殊结构的理解的方法。当一种更简单、基于搜索的方法(search-based approach)配合专用硬件和软件,被证明有效得多时,这些基于人类知识的国际象棋研究者并不是好的失败者。他们说,“暴力搜索”(brute force search)这一次也许赢了,但它并不是一种通用策略,而且无论如何,这也不是人类下棋的方式。这些研究者希望基于人类输入的方法获胜;当它们没有获胜时,他们感到失望。

类似的研究进展模式也出现在计算机围棋(computer Go)中,只是又推迟了 20 年。早期大量努力都投入到通过利用人类知识,或利用游戏的特殊特征来避免搜索;但一旦搜索被有效地规模化应用,所有这些努力都被证明无关紧要,甚至适得其反。同样重要的是,使用自我对弈学习(learning by self play)来学习价值函数(value function);在许多其他游戏中,甚至在国际象棋中也是如此,尽管学习在 1997 年第一个击败世界冠军的程序中并没有发挥很大作用。自我对弈学习,以及一般意义上的学习,与搜索相似,因为它能让大规模计算发挥作用。搜索和学习是 AI 研究中利用大规模计算的两类最重要技术。在计算机围棋中,和在计算机国际象棋中一样,研究者最初的努力都指向利用人类理解,以便需要更少搜索;直到很久以后,拥抱搜索和学习才取得大得多的成功。

在语音识别(speech recognition)中,20 世纪 70 年代曾有一场由 DARPA 赞助的早期竞赛。参赛者包括一大批特殊方法,它们利用了人类知识,关于词的知识、关于音素的知识、关于人类声道的知识,等等。另一边则是更新的方法,它们在本质上更偏统计,并且做了多得多的计算,基于隐马尔可夫模型(hidden Markov models, HMMs)。再一次,统计方法胜过了基于人类知识的方法。这导致整个自然语言处理(natural language processing)领域发生了重大变化,并在几十年里逐渐使统计和计算主导了该领域。近来深度学习(deep learning)在语音识别中的兴起,是这一一致方向上的最新一步。深度学习方法更少依赖人类知识,并使用更多计算,再结合在巨大训练集(training sets)上的学习,产生了好得多的语音识别系统。和游戏领域一样,研究者总是试图构建以他们认为自己的心智运作方式来工作的系统;他们试图把那种知识放进系统里。但当通过摩尔定律,大规模计算变得可用,并且找到一种方法能很好地利用它时,这最终被证明是适得其反的,也是对研究者时间的巨大浪费。

在计算机视觉(computer vision)中,也有类似的模式。早期方法把视觉设想为寻找边缘,或寻找广义圆柱(generalized cylinders),或以尺度不变特征变换(SIFT)特征(Scale-Invariant Feature Transform features / SIFT features)来理解视觉。但今天所有这些都被抛弃了。现代深度学习神经网络(neural networks)只使用卷积(convolution)的概念和某些类型的不变性(invariances),却表现得好得多。

这是一个重大教训。作为一个领域,我们仍然没有彻底学会它,因为我们还在继续犯同一种错误。为了看清这一点,并有效地抵制它,我们必须理解这些错误的吸引力。我们必须学会这个苦涩的教训:把我们认为自己如何思考的方式内置(build in)进去,从长远看并不起作用。苦涩的教训基于这样的历史观察:1)AI 研究者经常试图把知识内置到他们的智能体中,2)这在短期内总是有帮助,并且会让研究者个人感到满足,但 3)从长远看,它会达到平台期(plateau),甚至会抑制进一步进展,而 4)突破性的进展最终会由一种相反的方法带来,即基于通过搜索和学习来规模化计算(scaling computation)的方法。最终的成功带有苦涩的意味,也常常没有被完全消化,因为这是对一种受偏爱的人类中心方法(human-centric approach)的胜利。

从苦涩的教训中应该学到的一件事,是通用方法的巨大力量,也就是那些即使可用计算量变得非常巨大,仍能随着计算量增加而继续规模化的方法。看起来能以这种方式任意规模化的两种方法是搜索学习

从苦涩的教训中应该学到的第二个一般性要点是,心智内容(contents of minds)实际上极其复杂、无可挽回地复杂;我们应该停止试图为心智内容寻找简单的思考方式,比如用简单方式思考空间、对象、多个智能体或对称性。所有这些都是任意的、内在复杂的外部世界的一部分。它们不是应该被内置进去的东西,因为它们的复杂性是无穷无尽的;相反,我们应该只内置那些能够发现并捕捉这种任意复杂性的元方法(meta-methods)。对这些方法来说,关键在于它们能够找到好的近似(approximations),但寻找这些近似的过程应该由我们的方法完成,而不是由我们完成。我们想要的是能像我们一样发现的 AI 智能体,而不是包含我们已经发现之物的 AI 智能体。把我们的发现内置进去,只会让我们更难看清发现过程本身可以如何完成。

The Bitter Lesson

2019 · Rich Sutton

lucida 翻译

Tags: AI, 机器学习, 经典重读