苦涩的教训

回顾七十年的人工智能研究史,最深刻的教训是:利用计算能力的通用方法始终最具效力,且优势巨大。其根本原因在于摩尔定律——更准确地说,是单位计算成本持续指数级下降的规律。大多数研究都假设智能体的计算能力恒定(这种情况下利用人类知识成为提升性能的主要途径),但只要将时间线拉长到典型研究周期之外,计算能力的巨大提升终将到来。研究者为追求短期突破,往往倾向于注入人类对特定领域的认知,但从长远来看,唯有驾驭计算能力才是关键。这两种思路本可并行不悖,但现实中往往相互牵制——投入一方的时间必然挤占另一方,研究者还会对特定方法产生心理依赖。更严重的是,依赖人类知识的思路常会使方法复杂化,反而阻碍通用计算方法的发挥。人工智能学界多次迟来地领悟到这个苦涩的教训,回顾几个典型案例极具启示意义。


1997年击败国际象棋世界冠军卡斯帕罗夫的算法,依托的是大规模深度搜索。当时多数计算机象棋研究者对此深感沮丧——他们长期致力于将人类对棋局特殊结构的理解编码入系统。当基于专用硬件和软件的朴素搜索法展现出压倒性优势时,这些依赖人类知识的研究者难以坦然接受。他们辩称"暴力搜索"只是侥幸获胜,既缺乏普适性,也不符合人类下棋的思维方式。这些人执着于让仿人类思维的方法胜出,结果大失所望。


计算机围棋领域重现了相似的研究轨迹,只是时间上推迟了二十年。研究者最初竭力避免搜索算法,转而利用人类棋手经验或围棋特性设计系统,但当大规模搜索有效实施时,这些努力都被证明是徒劳甚至适得其反。另一个关键因素是通过自我对弈学习价值函数(这种学习在众多游戏乃至国际象棋中都有应用,尽管1997年战胜世界冠军的程序未重点采用)。自我对弈与广义的学习机制,如同搜索算法一样,为驾驭海量计算提供了可能。搜索与学习正是利用巨量计算的两大核心技术。与国际象棋领域如出一辙,围棋研究者最初专注于注入人类理解(以减少搜索需求),直到后期拥抱搜索与学习才取得重大突破。


1970年代DARPA举办的语音识别竞赛中,参赛系统普遍采用依赖人类知识的策略——包括词汇、音素、声道特征等专项设计。与之抗衡的是基于隐马尔可夫模型(HMM)的统计方法,这些方法计算量更大但更依赖统计学原理。最终统计方法完胜基于人类知识的方案。这场竞赛促使自然语言处理领域在数十年间彻底转向,统计与计算逐渐成为主流。近年来深度学习在语音识别的崛起,正是这一趋势的最新体现。深度学习方案进一步减少对人类知识的依赖,通过海量训练集上的学习与更巨量的计算,构建出性能卓越的识别系统。与游戏领域类似,研究者总试图仿照自身思维模式来设计系统——将已有认知植入算法——但当摩尔定律带来充足计算资源且找到运用之道时,这种思路终被证明事倍功半,造成研究者时间的巨大浪费。


计算机视觉领域同样经历了类似演变。早期方案致力于边缘检测、广义圆柱体理论或SIFT特征分析,而如今这些方法已被全面淘汰。现代深度学习神经网络仅依赖卷积概念与某些不变性原则,性能却远超以往。


这个教训发人深省。整个领域至今仍未完全汲取教训,我们仍在重蹈覆辙。要认清并有效规避这一点,必须理解这些错误方法的诱惑力。我们必须接受这个苦涩的现实:长期来看,将人类思维方式植入系统终将失败。历史经验表明:1)AI研究者常试图将知识硬编码入智能体;2)这种做法短期收效显著且令研究者获得满足感;3)但从长远看会遭遇瓶颈甚至阻碍发展;4)重大突破最终总来自相反路径——通过搜索与学习规模化提升计算能力。这种成功往往伴随着苦涩,且难以被完全接纳,因为它击败了备受青睐的"以人为本"的研究思路。


苦涩教训带给我们的首要启示是:通用方法的巨大威力正在于能随计算能力提升持续扩展效能,即便在计算资源极为充沛时依然如此。目前具备这种无限扩展潜力的两大方法正是搜索与学习。


第二点启示在于:人类心智的内在机制具有无可救药的复杂性;我们应当停止寻求简化心智内容的捷径,例如对空间、物体、多智能体或对称性的简单建模。这些都是外在世界任意性、本质复杂性的组成部分,不应被硬编码入系统——它们的复杂性永无止境。我们真正需要构建的是能发现并捕捉这种任意复杂性的元方法。这些方法的核心在于能寻得优良近似解,但探索过程应由算法自主完成而非人工预设。我们需要的是能像人类一样探索发现的智能体,而非承载人类已有发现的容器。将已有发现植入系统,只会阻碍我们对发现过程本质的探索。


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


 

 

如果觉得内容不错,欢迎你点一下「在看」,或是将文章分享给其他有需要的人^^


相关好文推荐:

白话大模型——第四回 如何让大模型像人一样使用工具?

白话大模型——第三回 所谓的知识库,到底是在做什么?

白话大模型——第二回 使用大模型最重要的事,没有之一

白话大模型——第一回 大模型就是一个见多识广的普通人

如何为你的群聊增加一个AI助手?

Scratch AI扩展工具使用说明(更新)

白话三国(全120回)

白话西游(全100回)

0条留言

留言