文 | 丛末
编 | 贾伟
一堆木柴加上一根火柴,能得到什么?人类会自然而然地得出答案:火。然而对于机器而言,这并不容易,因而它们缺乏这种常识推理能力。
人工智能要变得像人一样聪明,常识推理能力是其必备的能力之一。
这,迄今为止已是一个困扰了人工智能 50 多年的难题。
当下,随着人工智能界对该问题的日益重视和研究上的不断精进,现在是否迎来“破局”了呢?
大家可能最先想到的就是OpenAI 于去年初发布的GPT-2,但很遗憾,它在常识上的表现尚且比较“生涩”。
发布之初,GPT-2这个具有15亿参数的通用语言模型,一时引起了轰动——成为《经济学人》第一个被采访的人工智能系统,《纽约客》也专门为它做了一篇特写。该模型生成的句子流畅度惊人,几乎可以假乱真,以至于OpenAI 公开表示,担心它太过优秀带来隐患而没有将模型完全公开。
不过,以批判人工智能炒作闻名的人工智能研究者Gary Marcus 对于GPT-2所呈现出来的“优秀”不以为然。
对此,去年10月份的一个夜晚,他对GPT-2进行了一次突击测试,在 GPT-2中输入了以下内容:
当你把引火柴和木头堆在壁炉里,然后往里面扔几根火柴时,你一般是要......
如果系统足够聪明,会很轻易地想到“fire(生火)”这个词,然而GPT-2的回答是:“ick”。再一次的尝试后,它的回答是:会开启一个坐满了人的IRC频道。
Marcus对于这个结果其实并不惊讶。常识推理,这种利用对世界的基本知识进行自然而然地推理的能力,几十年来一直都是人工智能领域难以逾越的大山之一。
GPT-2 或许在语言模仿上实现了比较大的进展,然而显而易见,它缺乏基本常识。
1 常识,无法穷尽的不成文规则
“常识”一词不仅仅是指一种知识,还可以指对这种知识的看法,不是特定的学科领域,而是一种广泛可重复使用的背景知识,几乎是每个人都应该拥有的。
例如,人去餐馆是去吃食物而不仅仅是点菜和付钱的;把火柴扔到一堆木柴上,意味着有人在尝试生火。
大多数常识知识的隐式属性,使得这类知识很难被明确表示出来。虽然早期研究者认为,可以通过把现实世界的事实都记下来构建一个知识库,以此作为实现自动化常识推理的第一步。然而这种做法实现起来远比听起来难得多。
1984年,一个叫做 Cyc项目启动了,它最初的目标是将上百万条知识编码成机器可用的形式,用以表示人类常识,无论是该项目随后尝试为知识库编写条目还是通过使用机器学习技术来挖掘文档以创建知识库,都未能破解常识推理问题。
为什么?这是因为每种情况都可能存在一些例外,例如当我们听到“下雨了”,我们就可以推断:如果去外面,就会淋湿;到如果躲在屋檐、雨伞等东西下面,就不会淋湿。其他的例外情况,就更难以预料了。
Cyc 知识库可能会包含关于一个人去餐馆点餐时通常会发生什么的多种描述,然而现实中,还有可能会发生其他不常见或者突发的事情,比如没有付钱就离开了,或者发生了与他人争夺食物的情况。因此,这种纯粹以知识为基础的符号推理方法,并不能真正为常识推理问题带来突破。
即便建立了一个要多100倍或者1000倍知识量的知识库,该系统还是会面临另一个智能缺陷,即所谓的脆弱性问题。
常识与自然语言一样,从根本上来说都是有些含糊不清的。比如,当一位服务员问一位用餐者“你还在做这件事吗?(Are you still working on that?)”人很容易理解这句话的意思是“你还在吃盘子里的东西吗?”,然而当他向一位做餐超时的厨师问同样的问题时,含义可就完全不同了。
因此,无论知识库收集多么丰富多彩的知识,都难免无法捕捉到人类常识推理中常出现的模棱两可和关联重叠的情况。
2 通往常识的两条道路:符号推理和深度学习
一直以来,常识都被称作“人工智能的暗物质”——既必不可少又令人沮丧地难以捉摸。这是因为常识是由隐式信息组成的,即人类自动用来理解世界的一系列不成文的假设和经验法则。以如下场景为例:
一个男人前往一家餐厅。他点了一份牛排。他留下了一大笔小费。
如果你被问道,他吃了什么,你会很轻易地回答:牛排。但在这段描述中,并没有提到这个人吃了任何东西。这便是常识在其中发挥的作用,它让我们不需要被明确告知,就能够在字里行间知道:人们往往会在点完餐之后以及给小费之前,在餐厅里吃掉食物。
计算机同样也需要常识。在一篇题为《常识程序》的论文中,就提到,在人工智能于1958年诞生后不久,常识推理便成为了人工智能研究的首要问题。纽约大学计算机科学家 Ernest Davis 自上世纪80年代便开始研究人工智能的常识问题,他表示,一般而言,没有常识,计算机就无法完全理解自然语言,也无法进行视觉和规划任务。
《常识程序》论文地址:http://www-formal.stanford.edu/jmc/mcc59.html
尽管人工智能领域开始研究常识问题已久,然而进展还是慢得出奇。一开始,研究人员尝试将常识翻译成计算机语言——逻辑。他们认为,如果能够将人类常识中所有不成文的规则用计算机语言写下来,那计算机就能够像做算术一样,利用这些常识进行推理。
这种符号推理方法,后来被称作“有效的老式人工智能(Good Old-Fashioned Artificial Intelligence,GOFAI ) ”,这是通往常识的第一条道路,它让人工智能早期在常识问题上取得的进展成为了可能。不过,这种方法依赖人工,不具有扩展性。正如新西兰奥克兰大学人工智能研究人员 Michael Witbrock 所说的,能够方便地用逻辑形式表示的知识量,原则上是有限的,并且事实证明,这种方法实现起来非常艰巨。
即使是对所有可能的逻辑关系进行适度的映射,也会很快遇到麻烦。上图所示的一些关系总是成立的(例如,吞咽总是饮食的一部分),有些关系只是偶尔成立的(一个人在餐馆吃饭),有些关系是不一致的(当蛋糕还在烤箱中时,人是不能吃到蛋糕的)。而像“cook”这样的节点,既可以指厨师,也可以指烹饪行为。
另一条通往常识的道路,是使用神经网络进行深度学习。研究人员设计这样的人工智能系统来模拟生物大脑中相互连接的神经元层,在不需要程序员事先指定的情况下学习模式。在过去的十几年间,经过大量数据训练的越来越复杂的神经网络,已经变革了计算机视觉和自然语言处理领域的研究。
然而,虽然神经网络具有较强的智能能力以及灵活性(实现自动驾驶,在国际象棋、围棋中击败世界一流的玩家),但是这些系统却仍然会犯很多令人啼笑皆非的常识性错误(有时甚至是致命的)。
3 从GPT-2 到 COMET,离常识更近了一步
艾伦人工智能研究所的研究员、华盛顿大学计算机科学家叶锦才(Yejin Choi)及其合作研究者对上述方法进行了统一,提出了自动知识图谱构建模型 COMET(Commonsense Transformers),融合了GOFAI 式的符号推理和深度学习两种截然不同的人工智能方法。
论文地址:https://arxiv.org/pdf/1906.05317.pdf
COMET 的工作原理是,将常识推理想象成对新输入生成即便不完美也是合理的响应过程,而不是通过查阅一个庞大的百科全书式的数据库做严密的推理。
它的出现,为联合使用传统符号推理和深度学习来研究常识推理,提供了新的思路,进而为同时解决覆盖性和脆性问题提供了方向。
任何人都能够使用日常语言在COMET中输入相关的提示符,如果对应的事件已经在系统的常识知识库中表示出来了(例如在餐馆点餐往往就意味着你要吃饭),COMET可以轻易地使用先前存在的信息进行推理。而对于没有在系统的常识知识库中表示出来的事件,神经语言模型也实现了最好的预测结果:
通过实验,COMET生成的这些预测,人类评估小组认为平均有77.5%的结果是“可信的”,这比人类水平差了不到10个百分点。例如,当被输入“某X 给了某Y 一些药片”,COMET推测出”某X 想要帮助某Y“;当被输入“某X 谋*某Y 的妻子”,COMET则预测“某X 想要藏尸”。
上述例子说明了COMET在处理超出其内置常识以外的输入方面(即覆盖性)的不错表现,那脆弱性问题呢?
结果证明,COMET在解决脆弱性问题上,也可圈可点。
例如,当用方言以一个五岁小女孩的语气在COMET输入提示:“爸爸去上班了”,它的预测结果包括:爸爸想赚钱,工作,拿工资;他是努力工作的、有动力的、尽职尽责的;所以,别人对他引以为傲、心存感激。
针对前文中Marcus 用来测试GPT-2的句子:
当你把引火柴和木头堆在壁炉里,然后往里面扔几根火柴时,你一般是要......
叶锦才也曾将同样的句子也输入到了COMET中,它产生了 10 个推断,并且前两个都与火相关。
暂且先不论COMET是否具备了真正的常识,它上述案例中的表现倒确实可以说是让计算机离常识近了一大步。
4 COMET,是阶梯还是火箭?
Gary Marcus 喜欢用这么一句话来描述人工智能目前的进展:仅仅建好了一架更好的阶梯,并不意味着你就建好了一架通往月球的阶梯。
就拿COMET 来说,这一方法也面临着深度学习的一个根本性的限制:统计≠理解。虽然COMET在预测某个句子可能包含的参数上,表现不错,但是这并不等于它能够理解这个句子。
正如现有的阶梯一样,即便再高,也不可能通达月球。神经网络无论在模仿语言模式上表现得多么娴熟,即便真的“知道”把点燃的火柴扔到木柴上通常会引发火灾,但这并不意味着它真正具有常识。
叶锦才也赞成Gary Marcus的这一观点。她承认COMET在训练数据时“依赖表层的语言模式”,而不是由于真正理解相关的概念来做出回应。不过,如果能够给该模型提供更富有信息量的模式,它确实能表现得不错,这也是一个重大的进展。
那什么才是更富有信息量的模式呢?一些研究者认为,要想让计算机建立真正的常识,需要利用语言本身以外的媒介,例如视觉感知或具象感觉等。其中,更直接的“第一人称”表示作为常识的基础,而语言则作为常识的第二层。
比方说,“apple”一词在一些语境中并不是指一个“苹果”,这就需要除语言本身以外的某种形式来表示这样的意义。
Salesforce 的高级研究科学家Nazneen Rajani也在在朝着类似的目标努力,她认为神经语言模型的潜力尚未被完全开发出来。她表示,现实世界非常复杂,而自然语言则像是现实世界如何运行的低维的指标,人类现在可以教神经网络从文本提示中预测下一个词,但这不应该是它们的极限,它们还能学习到更加复杂的东西。
虽然COMET可能还存在很多缺陷,尚且无法成为到达其他星球的火箭,但是它是目前能够“脱离地面”的唯一阶梯。
正如丘吉尔所说的:“在我们已经尝试过的政治体制中,民主是最好的了。”
参考资料:https://www.quantamagazine.org/common-sense-comes-to-computers-20200430/https://www.quantamagazine.org/machines-beat-humans-on-a-reading-test-but-do-they-understand-20191017/https://www.quantamagazine.org/computers-evolve-a-new-path-toward-human-intelligence-20191106/https://www.quantamagazine.org/computers-evolve-a-new-path-toward-human-intelligence-20191106/
ACL 2020原定于2020年7月5日至10日在美国华盛顿西雅图举行,因新冠肺炎疫情改为线上会议。为促进学术交流,方便国内师生提早了解自然语言处理(NLP)前沿研究,AI 科技评论将推出「ACL 实验室系列论文解读」内容,同时欢迎更多实验室参与分享,敬请期待!