尽管近年来人工智能技术取得了迅猛发展,在图像识别、语言处理和数据分析等领域表现出色,但在处理常识性问题时仍然存在明显的不足。
当你使用 AI 时,有时它给出的答案是完美的。但有时面对一些简单的常识性判断,它的答案很奇怪,不是你所预期的那样,但仍然相关,可以启发思路;而有时它的答案只是胡言乱语,甚至显得非常“智障”。下面是一个示例:
问:我想要生日蛋糕。我应该......
答:......去一个更危险的地方,然后被逮捕。
此外,AI 也没那么擅长数学。
有人曾这样问 AI:如果一根香蕉重 0.5 磅,而我有 7 磅香蕉和 9 个橙子,我总共有多少个水果?
机器人快速回复:你有 16 个水果、7 个香蕉和 9 个橙子。然而正确答案应该是:有 23 个水果
当前的人工智能系统尽管在某些智力要求极高的任务中表现出惊人的能力(在许多情况下都胜过人类),但仍然缺少人类独特的常识。
虽然它们在处理某些事情上非常熟练,但在陌生的环境中,它们会莫名其妙地以难以预测的方式崩溃,因为它们没法像人类那样,根据常识来应对社会生活中的各种情况。
今天我们就来跟随《机器如人:通往人类智慧之路》这本书,来了解下有关人工智能掌握常识的问题。
尽管只有少数人工智能研究人员在研究人工智能的常识,但自从人工智能问世以来,这个话题就一直热度不减。
在 20 世纪 50 年代,美国计算机科学家约翰·麦卡锡(John McCarthy,1927—2011)首次定义了人工智能的概念,并且于 1958 年发表了最早涉及人工智能的论文《具有常识的程序》(Programs with Common Sense)。如今,六十多年过去了,人们可能想当然地认为:历经多年发展,人工智能早已掌握常识。然而,加里·马库斯曾提到:“令人遗憾的是,让人工智能获取常识的难度远超我们的想象。而且我们还会看到,未来人类对机器获取常识的需求将越发强烈,而这同样远超我们的想象。”这意味着:迄今为止,人类还没有想出如何让人工智能掌握常识。常识是人工智能领域中无可争辩的核心要素之一。
在非正式应用的场景下,GPT 会给人带来很多快乐。但当答案事关重大时,我们很难把它给出的答案当真。这不仅是因为它偶尔会犯错,而是因为它会不假思索地给出匪夷所思的答案。很难说清它为什么要这么回答。虽然 GPT 产生的回答非常流畅,而且大部分都紧扣主题,但它并没有反映出对世界的真正理解。就像谷歌翻译一样,它不知道自己在说什么。
从表面上看,这些人工智能系统似乎并没有什么共同之处,不同领域中的不同应用程序以完全不同的方式实现。然而,我们还是找到了一个共同点:这些成功往往依靠基于巨大的计算资源实现的“暴力”手段。“深蓝”采用了“暴力”穷举,而谷歌翻译则运用了“暴力”数据。
如果我们进一步思考,会发现此类系统具有以下两大特点:
①人工智能系统在某些专业领域表现出了高水平的性能,可以识别猫的照片、诊断血液感染或玩街机视频游戏等。在许多情况下,其性能远超人类的能力。
②人工智能系统在其专业领域之外的表现极差。如果让它去完成一些设计用途以外的任务,它甚至不能达到最低的能力水平。这一体系体现了其应对能力的脆弱性。
鉴于这两大特点,很难将这些系统的行为与我们对人类的认识直接联系起来。当此类系统的支持者试图描述其整体性能时,会说这些系统展现出“智能”,但这一术语通常不适用于人类。
事实上,有一种术语适用于人类,它确实与这两大特点相当接近。“低能特才者”是指虽然具有严重智力或学习障碍,但在某些特定的智力任务中表现出惊人天赋的人。一个著名的例子就是在电影《雨人》(Rain Man)中达斯汀·霍夫曼(Dustin Hoffman)饰演的角色。这类人在上述特点中,① 是“学者”水平,而 ② 是“白痴”水平。
当我们说一个系统在其专业领域之外表现不佳时,并不是说它缺失其他领域的高水平专业知识。我们并不期望一个血液诊断应用程序能成为象棋大师,也不会期望一个语言翻译系统能够证明数学定理。更重要的是,我们期望拥有一种通用的能力,即使是非专业者的人类也会拥有,那就是常识。
可是,一个已经拥有专业知识的人工智能系统为什么还需要常识呢?答案是,常识可以使人工智能系统在处理超出其直接专业领域的内容时表现得更加合理,至少可以避免像非专业人士那样犯明显的错误。如果系统只面对棋局,那么它的唯一关注点就是赢得比赛,常识对它来说就没有太大的价值。然而,当我们超越棋盘本身,将棋局视为发生在现实世界中的活动时,常识就会发挥作用。
世界是由一系列事件组成的,虽然我们对其中大部分事件都非常熟悉,也能预料出来,但还有很多时间(比如每天报纸报道的新闻)都是非常陌生的。一个人工智能系统,即使掌握了某种专业知识,能够考虑到除极罕见事件之外的所有事件,仍然会遗漏掉很多经常发生的事件。
换句话说,如果我们希望人工智能系统能够以合理的方式处理现实世界中的常见事物,我们需要的不仅是从已发生事件中获取专业知识。考虑到庞大的数据量,仅凭观察和内化过去发生的事件来预测未来是远远不够的,无论采取多么“暴力”的方式。我们需要常识。
那么,构建一个具有常识的人工智能系统究竟需要哪些条件?
要实际构建一个具有常识的人工智能系统,我们需要考虑构建两个事物:一个是常识性推理器,一个是常识知识库。
①建立常识性推理器
我们可能会问,人类的常识性推理源自何处?
例如,如果我们被告知杰克正在看着安妮,我们会立即得出结论,杰克正在看某个人,而无须别人教我们如何得出这个结论。如果我们被告知巴巴是一头大象,并且已经知道大象的特征,就无须别人教我们如何运用这些关于大象的知识来推测巴巴的颜色或耳朵的大小。人类在这类情况下进行的推理是逻辑性推理,但它是一种基本形式的逻辑,无须在课堂上或从教科书中学习。
然而,对机器而言,我们别无选择,只能费尽心思手动编写这些推理形式的代码。是的,如果所有必要的推理过程都可以通过某种机器学习过程自动完成,那当然很好。但目前来看,这是一个艰巨的任务。一些研究结果表明,某些神经网络架构确实可以学习一些过程(例如二进制数的乘法),但这些看起来更像是精彩的演示,而无法成为构建系统的实用方法。
我们对一些程序给出了相当详细的说明,然而,对于实例化概念、模拟变化、处理不一致性或利用强度或重要性等注释的具体内容,我们只是大致提及了其中可能涉及的因素。而且,我们几乎没有提及自下向上的调用、类比和相似性的使用、情境的识别以及常识在更广泛的认知架构中的总体位置和协调。对于这些事物的研究与整合,我们仍然需要进行大量的工作。
② 建立常识知识库
现在我们来看常识性知识。此时,我们不能指望只有几十个项目需要考虑。如果关于医院的知识算作一个项目,而关于生日聚会的知识算作两个项目,那么预计其中涉及的项目将达到上万甚至几十万之多。所有这些知识源于何处呢?
就人类而言,答案很明确:
在某些情况下,我们通过重复的经验获得常识理解(比如在炎热的夏天怎样吃即将融化的冰激凌);在某些情况下,我们从朋友那里得到建议(比如参加派对时该穿什么衣服或者不该穿什么衣服);在其他情况下,我们的理解可能来源于指南或手册(比如如何设置家用打印机)。
换句话说,对人类来说,有些知识是通过亲身经历获得的,而另一些知识则来自其他人的语言(口头或书面)。
对于人类通过个人经历获取的知识,我们是否应该期望机器也拥有类似的经历,并以类似的方式学习这些知识呢?如果人类需要多年时间才能掌握此类知识,那么机器也需要如此吗?
在一篇名为《软件体的生命周期》(The Lifecycle of Software Objects)的精彩科幻故事中,作者特德·姜(Ted Chiang)提到了以下内容:
这并无捷径可言。如果你想创建出人类花费二十年经历才获取的常识,那么你就需要投入二十年的时间来完成这项任务。你无法依靠在短时间内收集到同等数量的启发式方法,经验在算法上是不可压缩的。
也许这是正确的。然而,即使经验本身是无法压缩的,但其中一些需要学习的知识可能仍然是可压缩的。
总之,常识不涉及复杂的任务。正如麦卡锡在六十多年前首次提出的那样,常识能够从你所知道和被告知的内容中得出简单而直接的结论,并将常识有效应用于你所要做的任何事情,
这就是拥有常识的机器的未来图景。
来源丨图书《机器如人:通往人类智慧之路》,中国科学技术出版社
作者|罗纳德·J.布拉赫曼 赫克托·J.莱韦斯克