让机器拥有常识,打造真正智能的人工智能

本文翻译自英文原文的部分内容:EmTech MIT: Giving machines common sense (Sept 2018 John Morris )

近些年来,人工智能取得了长足的进步,但通用人工智能仍未实现。实现这一飞跃的一个关键可能在于人脑。在近日举行的EmTech MIT大会上,麻省理工学院教授乔什·特南鲍姆(Josh Tenenbaum)谈到了一个全新的、大胆的大学创新项目,旨在让机器能像孩子一样学习。

让机器像孩子一样学习

“我们拥有各种各样的人工智能技术,却没有真正的人工智能,这是为什么?”特南鲍姆说,“有些机器能做到我们以前认为只有人类才能做到的有益的事情,但那些系统都不是真正智能的,都不拥有灵活的常识。连一岁的孩子都比不上。”

这些系统旨在专心做好一件事情,而人类除了能做好所有这些事情以外,还能做好很多其他事情。这是因为人工智能技术基于模式识别,而人类的学习过程更加复杂–涉及理解事物、制订计划、解决问题和想象我们以前从未见过的新事物。该学习项目的目标是对这种塑造世界的能力进行逆向工程,创造出“更像人类的机器智能”。

让机器能像孩子一样学习,这不是什么新想法。在1950年的一篇论文中,阿兰·图灵(Alan Turing)建议打造模拟幼儿大脑的计算机程序,因为他相信这更简单,也像一块白板一样会大有可为。但现在,我们对大脑的工作方式有了更多了解。“图灵很聪明,但现在我们知道他搞错了,”特南鲍姆说,“孩子们的大脑绝不是白板,学习绝不只是把黑板上的东西复制下来。”

如何准确地给这些引擎编制程序

人类生来就具有观察和理解世界的能力,我们不是通过熟记各种模式来学习,而是通过积极思考和探索。换句话说,我们在玩中学。问题在于如何捕捉这些过程,让机器拥有某种程度的“常识”。通过将深度学习和神经网络与较早就发展出来的概率编程技术和游戏引擎结合起来,研究人员创造了一个“直觉物理引擎”(intuitive physics engine)和一个“直觉心理引擎”(intuitive psychology engine)。这两个引擎能模仿幼儿的能力,比如预测一堆积木什么时候会倒(不需要进行任何明确的训练),或者通过观察别人的行为来推测其目的。

“难题”在于,弄明白如何准确地给这些引擎编制程序。为此,研究人员采用了贝叶斯程序学习(BPL)方法。该方法能从单一例子中学习概念(一次性学习),然后像人类一样进行泛化应用。纽约大学的布伦登·雷克(Brenden Lake)说,仅仅观看了一个例子后,BPL框架就成功地识别了手写字母,准确率超过人类,更是远远强于卷积神经网络。它还通过了视觉图灵测试。在测试中,BPL观看一个新的字母,生成它自己的例子,然后按照测试人员提供的一个新字母表,创造出它自己的、可能是属于那个字母表的符号。

这很有意思,但只适用于简单的符号。后来,研究人员开发出了一种叫作DreamCoder的算法,帮助机器学会把它们从一个领域中习得的技能应用到其他领域。实际上,很多学习都发生在我们睡觉的时候。受此启发,DreamCoder能在它“睡觉”时学习新的概念和新的编程语言。

特南鲍姆承认,真正能像孩子一样学习的机器距离我们还很遥远。这只是麻省理工学院Quest for Intelligence计划中的几个项目之一,其他项目包括创造力、情绪、语言和感知研究。每个项目都具有重要的现实意义,需要在工程方面采取一些过渡步骤。他说,小小的进步往往也能带来较大的成果。他所在的计算和认知科学小组的科研成果已经孵化出了一家名为iSee的创业公司,该公司把那些常识引擎应用于自动驾驶汽车。“我们取得了一些进展,但我想要强调的是,我们还有很长的路要走,”特南鲍姆说,“如果我们可以做到这一点,将为真正智能的人工智能奠定基础。”