AI 中的惨痛教训
70年来从AI中吸取的最大教训是,利用计算能力的通用方法最终被证明是最有效且超越其他方法的方法。
译自 http://www.incompleteideas.net/IncIdeas/BitterLesson.html
大多数AI研究假设计算量是恒定的,提高性能的唯一方法是利用人类知识。随着时间的推移,计算量越来越大,成本越来越低。为了寻求短期改进,研究人员通常利用人类对某个领域的理解,但最终在长期内真正重要的只有一件事,那就是利用计算能力。
利用人类知识和利用计算能力这两种方式不一定相互冲突,但实际上它们往往相互冲突。优先考虑一个方向意味着忽视另一个方向。这是一种心理上的承诺,如果你投入到这个方向或那个方向,你就不会投入到另一个方向。而且,利用人类知识的方向通常会使方法变得复杂,无法充分利用计算能力。
在国际象棋中,1997年击败世界冠军卡斯帕罗夫的方法是基于大规模深度搜索。当时,大多数计算机国际象棋研究人员都在追求利用人类对某些国际象棋结构的理解的方法。与此同时,一种基于搜索的简单方法,结合专用硬件和软件,被证明具有巨大的效率。那时,那些利用人类知识的国际象棋研究人员还没有认输。他们说,纯粹的蛮力搜索这次赢了,但它不是一种通用策略,也不是人类下棋的方式。研究人员期望模拟人类或基于人类数据的方法会获胜,但当事实并非如此时,他们感到失望。
同样的情况在20年后的围棋游戏中重演(2017年)。最初有许多努力试图通过利用人类对围棋的理解来避免使用搜索,但所有这些努力都不合适,甚至更糟,因为搜索解决方案被广泛有效地应用。另一个重要因素是使用自博弈学习,尽管这种方法在1997年尚未应用。自博弈学习和一般学习与搜索类似,因为它允许利用大量的计算。搜索和机器学习是AI研究中利用巨大计算能力的两个最重要的分支。这里要强调的是:与国际象棋类似,围棋的计算机下棋研究也始于利用人类知识,并且经过很长时间才通过使用搜索(1)和机器学习(2)取得了突破性成就。
语音识别也是如此。在20世纪70年代由DARPA(美国国防高级研究计划局)资助下,他们也从利用人类对语言、语音、喉部结构等知识的方法开始,另一方面则是基于统计学且需要更多计算的新方法,例如隐马尔可夫模型。再一次,基于统计学的方法战胜了基于人类知识的方法。这导致了自然语言处理(NLP)领域的巨大变化,在几十年间逐渐演变,直到统计学和计算占据主导地位。深度学习在语音识别中的应用是这一方向的进一步发展。深度学习越来越少地依赖人类知识,越来越多地使用计算并在越来越大的数据集上学习,并取得了越来越好的结果。这里要强调的是:与游戏领域一样,研究人员总是试图创建以人类思维方式运作的系统(模仿、模拟),他们试图将人类知识注入到系统中,但事实证明这适得其反,耗费了太多的研究时间,而与此同时,由于摩尔定律,大量的计算(以更低的成本)已经变得可用,并且找到了一种更好的方法来利用这种计算能力。
在计算机视觉中,同样的情况也再次发生……
这是一个巨大的教训!然而我们还没有彻底地吸取它,并继续重复同样的错误。我们必须接受这个惨痛的教训:以我们思考的方式构建(系统)从长远来看是行不通的。这个惨痛的教训基于以下历史事实:
- AI研究人员通常从人类的理解开始
- 这种方法带来短期优势
- 但从长远来看,它很快变得有限,甚至阻碍进步
- 相反,利用计算能力的方法,即搜索和机器学习,带来了突破
最终的成功往往带有苦涩,不被研究界接受,因为它不是他们喜欢的方式(以人为中心的方法)。
最重要的教训是通用方法具有巨大的力量,这些方法随着计算能力的不断增强而持续扩展,即使提供了超额的计算量也是如此。两种似乎总能获得这种可扩展性的方法是 **搜索** 和 **机器学习**。
第二个教训是(人类)思想的具体内容极其复杂,**我们应该停止试图寻找简单的思考方式**。这些方法最终都会变得无限复杂,相反,我们应该只构建能够容纳任意复杂度的元方法。核心是这些方法能够找到好的近似值,但寻找这些近似值不是我们来做!我们希望AI代理像我们寻找解决方案一样寻找,而不是我们已经发现的。基于我们已经发现的来构建只会使我们更难看到如何完成寻找解决方案的过程(3)。
(1)这里的搜索指的是在解空间中寻找最佳解,例如在从A到B的多种路径中寻找最短路径。
(2)作者使用了“learning”一词而非“machine learning”。暂译为“机器学习”以明确这里学习的主体是计算机。
(3)这段话的意思是让计算机自主学习,从数据中自主发现。