Skip to content

苦涩的教训 #12

Description

@sunjun

原文链接

中文翻译


苦涩的教训

理查德·萨顿 (Rich Sutton)
2019年3月13日

从70年的人工智能研究中,我们可以学到的最大教训是:那些利用计算(computation)的通用方法,最终是最有效的,而且优势巨大。这背后的根本原因是摩尔定律,或者更确切地说,是其广义化的形式,即单位计算成本的持续指数级下降。大多数人工智能研究的进行方式,都仿佛智能体(agent)可用的计算资源是恒定不变的(在这种情况下,利用人类知识就成了提升性能的唯一途径之一),但是,在比一般研究项目稍长的时间尺度上,海量的计算资源又不可避免地变得唾手可得。为了在短期内获得显著提升,研究人员试图利用他们自己对特定领域的知识,但从长远来看,唯一重要的事情是利用计算。这两者本不相悖,但在实践中却往往背道而驰。花在其中一条路上的时间,就意味着没有花在另一条路上。人们在心理上会倾向于投入到某一种方法中。而且,基于人类知识的方法,往往会使方法变得复杂,从而使其更不适合利用那些借助计算的通用方法。有很多例子都说明了AI研究人员很晚才学会这个惨痛的教训,回顾其中一些最著名的例子是很有启发性的。

在计算机象棋领域,1997年击败世界冠军卡斯帕罗夫(Kasparov)的方法,就是基于大规模的深度搜索(search)。在当时,大多数计算机象棋研究者对此感到沮丧,他们之前一直研究的是利用人类对象棋特殊结构理解的方法。当一个更简单、基于搜索、并辅以专用硬件和软件的方法被证明有效得多时,这些基于人类知识的象棋研究者们输得并不服气。他们声称,“暴力”搜索这次可能赢了,但它并非一种通用策略,而且无论如何,这也不是人类下棋的方式。这些研究人员希望基于人类输入的方法能赢,当事与愿违时,他们感到非常失望。

在计算机围棋领域,我们看到了类似的研究进展模式,只是晚了20年。最初,研究人员投入了巨大努力,试图利用人类知识或围棋的特殊规则来避免搜索,但一旦搜索被大规模且有效地应用,所有这些努力都被证明是无关紧要的,甚至更糟。同样重要的,还有通过自我对弈来学习一个价值函数(这在许多其他游戏甚至象棋中也很重要,尽管在1997年那个首次击败世界冠军的程序中,学习所扮演的角色并不重要)。自我对弈学习,以及广义上的学习(learning),都和搜索一样,是能让海量计算发挥作用的手段。在人工智能研究中,搜索和学习是利用海量计算最重要的两类技术。在计算机围棋中,和计算机象棋一样,研究人员最初的努力方向是利用人类的理解(这样就不需要那么多搜索),直到后来拥抱了搜索和学习,才取得了更大的成功。

在语音识别领域,20世纪70年代,DARPA曾赞助过一场早期的竞赛。参赛者们带来了大量利用人类知识的特殊方法——关于词汇、音素、人类声道等知识。另一边则是更新的、更偏向统计学性质、并进行更多计算的方法,这些方法基于隐马尔可夫模型(HMMs)。结果,统计学方法再次战胜了基于人类知识的方法。这导致了整个自然语言处理领域在之后几十年间的重大变革,统计和计算逐渐主导了该领域。最近深度学习在语音识别领域的崛起,是这一趋势中最新的进展。深度学习方法更少地依赖人类知识,使用更多的计算,并结合在庞大训练集上的学习,从而创造出性能大幅提升的语音识别系统。就像在棋类游戏中一样,研究人员总是试图让系统按照他们自己心目中的思维方式去工作——他们试图将这些知识置入系统中——但当摩尔定律使得海量计算成为可能,并且我们找到了善用这些计算的方法时,这种做法最终被证明是徒劳的,并且是对研究人员时间的巨大浪费。

在计算机视觉领域,也出现了类似的模式。早期的方法将视觉构想为寻找边缘、广义柱体(generalized cylinders),或是基于SIFT特征。但如今,这些方法都已被抛弃。现代的深度学习神经网络只使用了卷积和某些不变性(invariances)的概念,但性能却好得多。

这是一个重大的教训。作为一个领域,我们仍未完全吸取它,因为我们还在继续犯同类的错误。为了看清并有效抵制这一点,我们必须理解这些错误为何如此诱人。我们必须吸取这个惨痛的教训:把我们自认为的思维方式构建到系统中,从长远来看是行不通的。这个惨痛的教训基于以下历史观察:1)AI研究者们总是试图将知识构建到他们的智能体中,2)这在短期内总是有帮助的,并且能给研究者带来个人满足感,但3)从长远来看,这种做法会停滞不前,甚至会阻碍进一步的发展,以及4)最终的突破性进展来自于相反的方法,即通过搜索和学习来扩展(scaling)计算。最终的成功带有一丝苦涩,并且常常未被完全消化,因为它是一种对我们偏爱的人类中心主义方法的超越。

我们应该从这个惨痛教训中学到的第一点是通用方法的巨大威力,这些方法即使在可用计算资源变得非常庞大时,也能够随着计算能力的增长而持续扩展。两种似乎能以这种方式无限扩展的方法就是 搜索 和 学习。

从这个惨痛教训中要学到的第二点是,思维的实际内容是极其、无可救药地复杂的;我们应该停止试图寻找理解思维内容的简单方法,例如关于空间、物体、多智能体或对称性的简单思考方式。所有这些都属于那个任意的、内在复杂的外部世界。它们不应该被内置于系统中,因为它们的复杂性是无穷无尽的;相反,我们应该只内置那些能够发现并捕获这种任意复杂性的元方法(meta-methods)。这些方法的关键在于它们能够找到良好的近似解,但寻找这些近似解的工作应该由我们的方法(AI)来完成,而不是由我们自己。我们想要的是能像我们一样去发现的AI智能体,而不是一个只包含我们已经发现的东西的AI智能体。将我们已有的发现构建到系统中,只会让我们更难看清发现的过程本身是如何进行的。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions