阅读来自维基百科的536篇文章,回答10万个基于文章内容的问题,除了题量大一点,这场比赛挺像大学英语六级考试的阅读理解测试。
但你不可能听到考场里奋笔疾书的“唰唰”声,因为“参赛者”只是一段代码。输入文章和问题后,计算机的中央处理器(CPU)和图形处理器(GPU)开始高速计算,最后交出答卷,由出题者批阅。
对来自世界各国的研究者来说,这是一场没有尽头的竞赛——任何人可以在任意时间加入,排行榜实时更新;即使是第一名,不保持“学习”和“更新”,随时有可能被新加入者超越。它可能发生在你吃饭和睡觉的时候,而“对手”不过是“啪啪啪”地敲击了一串代码。
这场竞赛全称SQuAD(Stanford Question Answering Dataset)文本理解挑战赛,由斯坦福大学在2016年9月发起,是业内公认的机器阅读理解标准水平测试,也是这个领域的顶级赛事。
在2018年1月3日以前,人类始终保持着领先的优势——从来没有任何一个团队能够设计出一种答题正确率超过人类的算法。这一天,微软亚洲研究院自然语言计算组提交的新模型获得了82.650的精确匹配分数,超过了人类得分82.304。仅过了两天,阿里巴巴iDST-NLP团队也拿到了82.440的精确匹配分数。
微软亚洲研究院院长洪小文告诉中国青年报·中青在线记者:“这对微软和自然语言处理(NLP)研究领域来说,都是一个重要的里程碑。计算机文本理解能力首次超越人类,预示着该领域的研究将会有更大突破。”
在计算机看来,世间万物都是一串数字
微软亚洲研究院副院长、自然语言计算组负责人周明博士坐在计算机前,紧张地等待测试结果。经过1个多月对模型和算法的更新,他们提交了最新代码。
这支团队在SQuAD挑战赛初期,一度以稳定的成绩长期位居排行榜榜首,但周明知道,这场竞赛的排名瞬息万变。2017年最后两个月里,科大讯飞与哈工大联合实验室、腾讯DPDAC NLP团队先后超过了他们。
新选手参赛大约两三分钟后,系统就完成了约50篇数百词的文章阅读和约1万个问题的回答。即使母语是英语的成年人,这个时间也才勉强读完5篇文章。
“对人类来说,读完一篇文章就会在脑海中形成一定的印象,比如这篇文章讲的什么人,发生了什么故事。人们能够轻而易举地归纳出文章里的重点内容,但对计算机来说不是这样。”周明告诉中国青年报·中青在线记者。
在SQuAD测试中,计算机需要阅读一段材料,然后回答诸如人名、地理位置等问题。不同于类似测试,SQuAD测试的回答可能是一段短语,而非某个单词或单个内容。它可能遭遇同义词替换、句子结构变换等情况,甚至需要综合多个句子进行逻辑推理。
为了解决这个问题,研究组模拟人类做阅读理解过程的方式,他们将整个过程分成了四步。拿到测试题后,计算机首先会学习文本和问题,就像我们做阅读题时,首先会通读文章,然后审题,获得一个整体印象。
下一步,计算机会将问题和文章进行比对,找出相关段落,就像人类定位关键信息的环节。接下来,计算机会把初步结果放到上下文里比对,类似人会综合全文看待问题。最后,它会斟酌并选出最像答案的内容。
在这场竞赛中,不同团队设计的答题模式可能完全不同。周明介绍说,他们的设计中,最独特的就是第3步,是通过“注意力机制”达到的。这让关键信息像被画上了重点一样,成为计算机眼中高亮的部分。
“除了自然语言处理,注意力机制在图像识别领域也是关键的概念。”美国哥伦比亚大学计算机系硕士生何钦尧告诉中国青年报·中青在线记者。
人类视觉能够通过快速扫描整体图像后,找到需要重点关注的区域,并投入更多注意力,以获得更多细节,抑制其他无用信息。研究者也尝试让计算机学习并利用这种机制。不同于人类拥有动植物、山川河流的概念,所有单词和图像在计算机看来都是一串数字。它必须从数字背后微妙的联系中,洞悉它们的意义。
真理隐藏在数据和概率里
周明所在团队使用的计算机并不是凭空学会做题。参加SQuAD竞赛前,它就像“学霸”考前刷题一样,先看过了约500篇文章和与之对应的10万道题目、答案。
但周明表示,“目前基于深度学习的机器阅读理解模型都是黑盒的状态,很难直观地表示机器进行阅读理解的过程和结果。未来,可解释性的深度学习模型值得进一步探究。”
通过大量学习,计算机明白了什么数字意味着与文章内容相关,怎样的联系意味着这就是问题的答案。
“真理就隐藏在数据和概率里,我们这个领域的研究者大多都这么看。”何钦尧说。一个1岁人类孩童看过狗以后,就能识别各种体型、品种和不同拍摄角度的狗,形成概念,但计算机需要看过很多照片后,才能判断某个物体是不是狗。“我们不知道人类是怎么形成这个概念的,但对计算机来说,概念是靠积累数据、靠计算概率得来的。”
直到20世纪90年代之前,人们还在试图让计算机学会人类语言的规则,从而理解背后的含义。但语言在使用时往往不规范,机器无法处理偏离规则的内容。后来,人们开始让机器自己进行学习,获取语言知识。
发展到今天,自然语言处理领域的研究已经基本可以应付单个句子,理解句子成分。各大手机厂商也推出了自己的人工智能语音系统,可以识别并完成用户的指令,还能进行简单的交流和对话。
“长文本的理解一直是难点,这涉及句子之间的连贯性、上下文衔接和逻辑推理等更高难度的内容。”周明说。
当我们告诉计算机,“莱茵河上最大的城市是德国科隆,它是中欧和西欧区域的第二长河流,位于多瑙河之后”,并问它“什么河比莱茵河长”时,很多计算机会回答“科隆”。
如何理解代词“它”、理解“位于……之后”表示比较而非物理上的前后,成为这些“选手”很大的障碍。人类拥有“科隆是城市而非河流”这种常识,几乎不会在这个问题上犯错,但计算机无法理解这个概念。
SQuAD竞赛不是第一个计算机“超越”人类的领域
计算机很早就在计算、记忆的领域碾轧人类,后来又击败了人类最优秀的国际象棋、围棋棋手。
“其实,计算、下棋、机器翻译等只聚焦单一任务本身的人工智能都属于弱人工智能,”周明说,“不过弱人工智能并不弱,它可以具备超越人类的某些能力,有很大的价值,但是弱人工智能还无法真正理解它接收到的信息,而这就使得通往强人工智能的道路十分艰难。”
60多年前,曾有人尝试让计算机用6条规则和200个词汇做俄英翻译,这被认为是最早的人工智能尝试。那时的研究人员信心满满,宣称能在5年内完全解决一种语言到另一种语言的自动翻译问题。
这个目标至今没有完成,人工智能也因为研究进展缓慢经历过两次低潮。一直到近10年,计算机性能的大幅度提升和机器学习理论的兴起让人工智能再次热了起来。人们发现,计算机能够写诗词、与人对话,它变得越来越像人。
据统计,21世纪以来新创办的人工智能企业中,有近三分之二是在5年内创办的。最近3年,人工智能领域的就业岗位数量飙升近8倍。在亚洲,过去17年内投向人工智能领域的51亿美元中,有95%是在过去5年内投入的。
翻看SQuAD竞赛排行榜,前3名都是来自中国的团队。“这在过去是不敢想象的。”周明说。放在20年前,中国甚至还没有在这个领域的顶级会议上发表过文章。而现在,中国发表的文章数已经稳居世界第二,2017年还有5篇文章入选该会议的22篇杰出论文。
在SQuAD竞赛中,计算机得分比人类高0.346分,可以理解为同样做1万道题时,计算机多做对35道。“这远不代表计算机超越了人类的阅读理解水平。”周明告诉中国青年报·中青在线记者。也有人质疑,这里代表“人类”的,不过是众包平台上一小时挣9美元、受教育水平参差不齐的人。
一个公认的人工智能的标准是能够通过“图灵测试”——如果一台机器能够与人进行交流,并且被人误以为是人,那它就具有智能。
“ ‘能理解、会思考’,这其中,理解自然语言是最核心的问题。”周明说。目前,计算机还是很难在日常交流中理解双关和讽刺。在中文语境下,计算机还需要面对如何将一个句子拆分为数个词汇的问题。很多对人类而言无需学习的事情,例如保持平衡、用手拿起一个杯子,对机器而言也是无比困难的事情。
机器没有经过几亿年的演化,也没有人类大脑里由神经元数百万次电脉冲转化成的触觉、听觉或是视觉。在人类程序员的驯导下,它把一切转化为数字。
时至今日,谷歌仍然在特意审查“大猩猩”词条的搜索结果,避免图像搜索引擎把它和黑种人的图像混淆。了解识别特性的工程师可以通过肉眼无法识别的微调,让计算机把小狗图片当成鸵鸟,或是将一片马赛克认成猎豹。有时,把中文翻译成英文再翻译回来,整句话都变得面目全非。
在人工智能威胁论不绝于耳的今天,周明几乎没有担心,他向中国青年报·中青在线记者举了SQuAD竞赛中的一个例子。
机器阅读了“按质量算,氧气是宇宙中第三多的元素,排在氢和氦之后”,面对“什么是第二多的元素”的问题,它的回答却是“氧”。不管是微软还是阿里巴巴团队设计的算法,都不能解决这个再简单不过的问题。
这不只是人工智能之间的竞赛,也是人类和自己的竞赛。