最后更新:2020-07-17 10:43:47 手机定位技术交流文章
纽约大学计算机语言学家山姆·鲍曼(Sam Bowman)认为,计算机虽然在自动翻译或情绪分析方面表现不错,但仍然不太擅长理解书面文字。为了探索这一问题,他与华盛顿大学和谷歌人工智能公司DeepMind在共同撰写的论文中提出了一项测试:GLUE(通用语言理解评估,其中包含9项阅读理解任务)。
他们试图让计算机神经网络通过参与GLUE测试,从而判断它是否理解了语言。比如当计算机网络神经看到“特朗普总统抵达伊拉克开始为期七天的访问”,它能否判断出来这句话其实意味着“特朗普总统正在海外访问”。
测试结果表明,即使最先进的神经网络在9项任务中的得分也不超过69分(满分100)。之后,谷歌推出了一种名为BERT的新方法,它在9项测试中得分为80.5。查看GLUE测试排行榜,前几名几乎都由BERT以及它的升级系统占据着,其中五个系统甚至超过了人类表现。

BERT神经网络引发了机器如何理解人类语言的革命
这意味着AI真的开始理解人类语言了吗?
或者只是在玩人类的系统方面变得更溜了?
让神经网络编写自己的临时规则手册?
说到这儿,就不得不提一个著名的“中文室实验”实验。它由美国著名哲学家约翰·赛尔(John Searle)于上世纪80年代初提出,其内容是:将一个只会说英语的人关入一间密室,只在门上留一条投信口那么窄的缝。房内有一份英文版的计算机中英翻译规则手册。外面的人从门上的“投信口”将一些印有中文的纸片投入该房间。赛尔认为,根据房内的资料,这个人可以将回复用中文写好后递出。
对于赛尔的实验及结论,很多人持反对意见。他们认为,无论结果如何,房间内的人都不能说对中文有真正的了解。
尽管如此,作为一个针对自然语言处理系统的实验而言,它还是具有一定价值的。唯一的问题是,完美的翻译规则手册并不存在,因为自然语言过于复杂,根本无法简化为一套严格的规范。以语法为例:如何组合词语才能让它成为一个有意义的句子(比如“无色的绿色想疯狂地睡着”有完美的语法,但大家都知道这是胡说八道)。
NLP(自然语言处理)研究人员试图通过让神经网络编写自己的临时规则手册来解决这个问题,这一过程称为“预训练”。
2018年之前,NLP的主要预训练工具之一就是字典。该词典以深度神经网络可以接受的方式将词语之间的关联编码为数字,但问题是,接受了预训练的神经网络有时依然会忽略某些词语含义,而这些词语却对句子层次起关键作用。比如,约翰·霍普金斯大学的计算机语言学家塔尔·林森(Tal Linzen)说:“参与实验的人们会认为‘一个人被狗咬了’和‘一个人咬了狗’是完全一样的意思。”

约翰·霍普金斯大学的计算机语言学家塔尔·林森
更好的方法是执行NLP任务之前,使用预训练为神经网络配备更丰富的规则手册(不仅用于理解词汇,还用于语法和联系上下文)。
2018年初,OpenAI(诸多硅谷大亨联合建立的人工智能非营利组织)、旧金山大学、艾伦人工智能研究所和华盛顿大学的研究人员同时发现了一种巧妙的方法:研究人员开始训练整个神经网络,完成一个更广泛的基本任务,即语言建模,而不是仅仅对神经网络的第一层进行预训练。
“最简单的语言模型是:我通过阅读一个句子中的很多词语,然后尝试预测下一个词语。”Facebook的研究科学家迈尔·奥特(Myle Ott)解释道,“如果我说‘乔治·布什(George Bush)出生于***’,该模型就必须预测该句子中的下一个词语。”
这些经过预先培训的深层语言模型可以相对高效地生成。研究人员只需给神经网络提供大量从维基百科(Wikipedia)等免费来源复制的文字文本(数十亿词语、语法正确的句子),然后让网络预测下一个词语。迈尔·奥特说:“这种方法的优点在于,该模型学到了大量有关语法的知识。”
此外,这些预先训练的神经网络可以应用其更丰富的语言表达形式来完成其他不相关的、更具体的NLP任务,这个过程称为微调。
2018 年 6 月,OpenAI推出了一款名为GPT的神经网络语言模型,它在一个月内接受了近十亿个词语的预训练(来自11038份数字书籍),其GLUE得分为72.8(在当时的排行榜上名列榜首)。尽管如此,鲍曼认为,要达到接近人类水平,这个领域还有很长的路要走。
然后,BERT出现了。
BERT到底是什么?

BERT到底是什么
首先,它不是一个被充分训练到可以完全如同人类表现,即时理解语言内容的神经网络系统。鲍曼说,“BERT是一种用于预训练神经网络的方法。”
举个例子,蛋糕师遵循配方生产美味的万能馅饼皮,然后用它做蓝莓、菠菜乳蛋派等各类馅饼。同样,谷歌研究人员也开发了BERT的配方(类似于馅饼皮,做任何馅饼都要用),为“烘烤”神经网络提供了理想基础(对它们进行微调,类似于给各种馅饼里面塞蓝莓等材料),从而让它可以很好地处理不同的自然语言任务(类似于蛋糕师做各种味道的馅饼)。
另外,谷歌还开发了BERT的代码,这意味着其他研究人员无需从头开始重复配方(他们只需下载BERT,就像从超市购买预制的馅饼皮一样)。
如果把BERT比做一个食谱,它的成分表是什么?
Facebook的研究科学家欧默·列维(Omer Levy)分析了BERT的内部工作原理之后表示,这是三个“成分”通力合作的产物。

Facebook的研究科学家欧默·列维
第一种“成分”是预先培训的深层语言模型,第二种“成分”是找出句子中的哪些特征最重要的能力。
2017年,谷歌大脑(Google Brain)的一位名叫雅各布·乌斯科伊特(Jakob Uszkoreit)的工程师正在研究如何加速谷歌的语言理解工作。他注意到,即使最先进的神经网络也有一个内在的限制:它们都是逐字查看词语的序列。这种“顺序性”似乎符合人们实际阅读的习惯,但实际上以线性、顺序的方式理解语言有时候会出现问题。
乌斯科伊特和他的合作者设计了一种以“注意力”为中心的神经网络新架构,这种机制使网络的每一层更关注输入的某些特定词语,而忽略掉一些其他词。这种以注意力为中心的新架构,称为转换器。比如:可以给计算机输入“狗、咬、人”等词语,并以不同的方式进行编码。此时,转换器可能将“咬”和“人” 连接为动词和宾语,而忽略“一个”;同时,它也可以将“咬”和“狗”作为动词和主语连接在一起,而忽略“了”。
神经网络的每一层在某些词语之间建立多个平行连接,而忽略其他词语,乌斯科伊特将它称为树状思维。这些联系通常是在句子中可能实际上并不相邻的词语之间绘制的。这种类似树状的句子为转换器提供了一种强大的方法来推测上下文意义,并有效地学习如何推测复杂句子中可能彼此相距较远的词语之间的关联。

柏林Google AI Brain团队的负责人雅各布·乌斯科伊特
BERT配方中的第三种“成分”是双向化阅读。
许多预训练模型是由神经网络从左向右读取文本,BERT的模型不同,它是从左到右的同时,也在从右到左读取,并学习预测中间隐藏掉的词语。例如,BERT可以理解“乔治·布什在1946年在康涅狄格州……”这样的句子,并通过解析文本来预测句子中间可能隐藏了“出生”这一词语。乌斯科伊特说:“这种双向性正在调节神经网络,试图从细节中获取尽可能多的信息。”
在BERT之前,这三种“成分”中的每一个(深层的预训练语言模型,注意力和双向性)都独立存在。但是在2018年末谷歌将其公布出来之前,没有人想到要将它们结合起来。
优化BERT,让它更大程度地理解语言
BERT包含了许多影响其性能的结构设计决策,包括要“烘焙”的神经网络大小,预训练数据的数量,训练前数据的隐藏方式以及神经网络的训练时间。像任何好的“食谱”一样,BERT很快就被“厨师们”调整为适合自己的口味,比如RoBERTa(BERT的升级版)。
在RoBERTa的案例中,谷歌和华盛顿大学的研究人员增加了一些成分(更多的预训练数据、更长的输入序列、更多的训练时间),并做了其他修改,使得预训练任务更加困难。六周后,来自微软和马里兰大学的研究人员对RoBERTa进行了自己的调整,并在GLUE测试中赢得了新的胜利。之后,另一个称为ALBERT的模型通过进一步调整BERT的基本设计而超越RoBERTa,成为GLUE测试的榜首。
Facebook负责RoBERTa的迈尔·奥特表示,他们仍然在研究在优化BERT方面,哪些因素改进是有效的,哪些是无效的。
不过,就像完善烘焙技术的过程中不可能学到理化知识一样,不断优化BERT并不一定能得到推进NLP的知识。约翰·霍普金斯大学的计算机语言学家塔尔·林森说:“摆在我们面前的科学难题并不在于弄清楚如何改进BERT,从而使机器神经网络变得更聪明。相反,我们正在尝试了解这些模型在多大程度上真正理解了语言。”
BERT本质上是一个骗局?
2019年7月,台湾成功大学的两名研究人员利用BERT,在一个相对模糊的自然语言理解基准上取得了成绩,即“参数推理理解任务”。执行任务需要选择适当的前提,从而让它证明某些主张是正确的。比如,推理出“吸烟或许导致了癌症”仅仅基于“科学研究表明吸烟与癌症之间存在联系”是不够的,还必须假定“科学研究是可信的”。
在这项测试中,人类的平均分为80分(满分100),BERT得了77分。虽然BERT表现不错,但是研究人员依然无法判定BERT是否具有推理能力,而是更倾向于相信BERT采用了简单的联想模式。
在一篇名为Right for the Wrong Reasons的论文中,林森及其他研究者表明BERT在某些GLUE任务中的出色表现可能归因于这些任务的训练数据中的虚假线索。

BRET简单联想
那么,BERT以及它所有的改进版本本质上是一个骗局吗?
鲍曼同意林森的观点,即GLUE的一些训练数据是有误的(这些误差是由创建它的人引入的细微偏差引起的),这些偏差有可能被强大的基于BERT的神经网络利用。
华盛顿大学和艾伦研究所的计算机科学家蔡叶金(Yejin Choi)认为,鼓励人们逐步建立稳固的计算机理解方法的途径是:不仅要构建更好的BERT,还要设计更好的基准和训练数据。她探索了一种叫做对抗性过滤的方法,它使用算法扫描NLP训练数据并删除过于重复或以其他方式引入的虚假线索。她表示,经过对抗性过滤后,“BERT的性能会大大降低,而人类的表现却不会相差太多。”
尽管如此,一些NLP研究人员认为,即使有了更好的训练,神经语言模型仍然可能面临障碍,因为无论如何,BERT仍无法总体上完美地建模人类语言。“相反,在微调之后,它模拟了特定的NLP任务,甚至为这项任务建立的特定数据集”,罗威尔大学文本机器实验室的计算语言学家安娜·罗杰斯(Anna Rogers)说,但是无论训练数据集如何全面设计或仔细筛选,都不可能拥有像人类一样面对不可预见情况时的应变力。”
对此,鲍曼指出,很难知道计算机神经网络是否能够真正理解人类语言。目前为止,在这方面,神经网络还无法完全胜过人类自身的表现。
即便有一天胜过了,它是否意味着机器能够真正理解语言了?
还是仅仅意味着,科学在教学机器测试方面越来越厉害?
(本文未经造就授权,禁止转载。)
文字 | 尹欢欢
版面 | 田晓娜
本文由 在线网速测试 整理编辑,转载请注明出处。