在自然语言处理领域,泛化(Generalization)一直是研究人员激烈讨论和竞相研究的课题。
近期,不少机构媒体发布报道称,机器在阅读理解任务上,在确定某个语句是否在语义上需要另一个给定的陈述的任务上,以及在翻译任务上的表现都优于人类。由此他们给出的结论是,如果机器可以完成所有这些任务,那么它们就具备真正的语言理解和推理能力。
但是,这根本就是假的。最近的许多研究表明,即便是最先进的NLP模型,它的背后依然充满脆弱和虚假。
最先进的NLP模型很脆弱
如果我们在不改变原意的基础上对原文做一些修改,模型可能会出现错误:
斯坦福大学的Jia和Liang,发现BiDAF模型在阅读理解任务上存在巨大问题
只是在末尾加了一句不改变句意的话(红字),模型的回答就从布拉格变成了芝加哥
MIT的Belinkov和华盛顿大学的Bisk,发现神经机器翻译模型并不需要基于角色
只是微调了角色名称,模型的BLEU分数就暴跌了
Iyyer等人,发现情绪分类模型不一定需要树形结构的双向LSTM
只是改变了语序,模型预测就从“积极”变成了“消极”
最先进的NLP模型是虚假的
模型只会记住人为设定的规则和偏见,但这并不是真正的学习:
Gururangan等人,发现我们只需查看假设而不观察前提,就能利用标签对超过50%的NLP数据集样本进行正确分类
Moosavi和Strube,发现共指消解模型deep-coref如果主要依赖于词法特征,比如在带国家/地区名称的样本上训练,那么它在不带国家的文本上的表现往往会很差。同时,Levy等人研究了用于识别两个词之间的词汇推理关系模型,发现这些模型学习的不是单词之间关系特征,而是其中某一个词的独立属性:这个单词是否是一个“原型上位词”,如动物。
Agrawal等人,发现用CNN+LSTM解决QA问题时,模型会“听”到一半就收敛到预测答案。也就是说,该模型很大程度上受训练数据中的表面相关性影响,缺乏对概念组合问题的理解。
是抢答,还是瞎蒙?
关于改善NLP模型的研讨会
综上所述,因此,尽管在基准数据集上表现良好,但在理解新的、从未见过的自然语言文本时,现代NLP技术在语言理解和推理方面还远不及人类。这也一直是机器学习的核心挑战。在之前举办的NAACL研讨会上,与会专家围绕这个核心讨论了两方面内容:
我们该如何充分衡量系统在新的、从未见过的输入上的表现?或者换句话说,我们该如何充分衡量系统的概括性?
我们该如何修改模型,以便它拥有更好的泛化能力?
这两个问题都很棘手,显然,为期一天的研讨会肯定讨论不出什么结果。但是在会议现场,一些有远见卓识的NLP研究人员还是探讨了不少方法和想法,其中有一些尤其值得关注。在下文中,我们会介绍它们中的三个主题:巧妙地使用更多归纳偏置;努力构建有“常识”的NLP模型;使用没见过的分布和没见过的任务。
主题1:巧妙使用更多归纳偏置
当学习器遇到从未见过的任务时,它会作出假设,而归纳偏置就是用于学习输入到输出映射函数的一组假设。
去年,Yann LeCun和Christopher Manning曾有过一场辩论,他们讨论的主题是我们是否应该在深度学习系统的架构中建立先验。Manning是将更多语言结构纳入深度学习系统的主要倡导者,而Yann LeCun则认为简单的神经网络已经能够处理复杂任务,他把先验称为“必要之恶”,指出某些假设会限制系统发展。
站在Yann LeCun的立场上看,他有一个令人信服的论点,即如果在现代模型中加入面向语言的偏置,这些模型在基准任务上的性能往往不怎么好。但是,目前NLP领域还是广泛支持Manning的说法,ACL 2017上一个值得注意的趋势就是在神经结构中引入语言结构。
然而,学界对这种观点的支持似乎没有达到预期效果,这不是说大家错了,而是如果想让模型性能提高,现有偏置必须被整合归纳成全新的形式,按Manning的话来讲,就是:
我们应该收集更多的归纳偏置。正是因为对如何添加归纳偏置一无所知,我们才要做数据增强、创建伪训练数据编码这些偏置。尽管这似乎是一种奇怪的做事方式。
这也是Yejin Choi在自然语言生成(NLG)任务上遇到的问题。她在会议上展示了由常规语言模型——一个带集束搜索解码器的门控RNN生成的评论样本。
自然语言输入:
All in all, I would highly recommend this hotel to anyone who wants to be in the heart of the action.
不自然的输出,重复、矛盾、平淡:
All in all, I would highly recommend this hotel to anyone who wants to be in the heart of the action, and want to be in the heart of the action. If you want to be in the heart of the action, this is not the place for you. However, if you want to be in the middle of the action, this is the place to be.
在她看来,当前的语言模型正在生成不自然的语言,因为它们是:
被动学习者。虽然同样是阅读文本并生成输出,人类学习者可以把适当的语言标准(如相关性、风格、重复和蕴涵)反映到生成的内容中,但模型不能。换句话说,它们不“练习”写作。
表面学习者。它们不会捕捉事实、实体、事件和活动之间的高阶关系,这对人类来说可能是语言理解的关键线索。换句话说,它们不了解我们的世界。
如果我们鼓励模型用特定的损失函数以数据驱动的方式学习语言特征,那么它确实正在“练习”写作。相比自然语言理解(NLU),这种方法更好,因为NLU一般只处理自然语言,它并不能理解机器语言,比如上述输出这类重复、矛盾、平淡的表达。用无法理解机器语言的先验教模型生成自然语言是没有意义的。
总之,我们应该改进的是这些偏置的数据驱动方法,而不是开发引入结构偏置的新型神经架构。
事实上,自然语言生成(NLG)并不是需要优化学习器的唯一NLP任务。在机器翻译中,目前涉及优化的一个严重问题在于模型训练,在训练过程中我们要用到交叉熵之类的损失函数,但这些函数已经被证明存在偏差, 而且和人类判断不充分相关。只要我们使用这种简单的度量标准训练我们的模型,模型的预测就一定会和人类判断存在不匹配。
因此,考虑到任务目标过于复杂,强化学习似乎成了NLP的一个完美选择,因为它允许模型通过反复试验在vwin 环境中学习类似人类的监督信号(“奖励”)。
主题2:常识性知识
虽然“常识”在人类眼里很常见,但我们很难把它教给机器,比如为什么要进行对话?为什么要回复电子邮件?为什么要总结文档?
这些任务的输入和输出之间缺乏一对一的映射,如果要解决它们,机器首先要建立起关于人类世界的整体认知,无论是知识、总结还是推理。换句话说,只要模式匹配(现代NLP)没有掌握人类“常识”的概念,它们就不可能解决这些问题。
Choi用一个简单但有效的新闻标题“Cheeseburger stabbing”来说明这一点。
在这里,只知道“stabbing”和名词“Cheeseburger”之间的依赖关系是不足以理解其中的真正含义的。把这个标题输入模型后,机器可能会据此提出几个合理的问题:
有人因为芝士汉堡上刺伤了其他人? 有人刺伤了一个芝士汉堡? 一个芝士汉堡刺伤了某人? 这个芝士汉堡刺伤了另一个芝士汉堡?
这实际上是一篇男子因为汉堡发生争执而刺伤母亲的报道。如果机器有社会、生理常识,它们就不会问出荒谬的问题。因为社会常识会告诉它,第一个选项是合理的,因为刺伤某人影响恶劣,有新闻价值,而刺伤汉堡没有人会关心。而“生理常识”会告诉它,汉堡是不能被作为凶器刺伤别人的。
除了整合常识性知识,Choi还建议把“通过标签理解”改成“通过模拟理解”,因为前者只关注“说了什么”,后者模拟了文本隐含的因果效应,不仅包含“说了什么”,也包含“没有说出口但表达了什么”。下面是一个说明隐含因果效应对预测很重要的示例:
根据食谱上“将蓝莓添加到松饼混合物中,然后烘烤半小时”的说法,智能体必须能预测这样一些必要的事实,例如蓝莓现在正在烤箱中;混合物的温度会上升。
此外,在完型填空式的阅读理解任务中,目前模型推断答案所需的大部分信息都来自给定的故事,但如果有额外的常识性知识,效果会更好。
需要常识的完型填空式阅读理解
很可惜,我们必须承认,现代NLP技术的工作方式就像“没有大脑的嘴”。为了改变这一点,我们必须为他们提供常识,并教导他们推理未说但隐含的内容。
RNN是“没有大脑的嘴”吗?
主题3:评估未知的分布和未知的任务
用监督学习解决问题的标准方法包括以下步骤:
决定如何标记数据;
手动标记数据;
将标记的数据分成训练集、测试集和验证集,保证它们的数据分布尽量一致;
觉得如何表示输入;
学习从输入到输出的映射函数;
根据失当度量,用测试集检验模型学习效果。
按照这种方法,如果我们要解决下图这个问题,我们需要标记数据,训练识别目标的模型,考虑多种表征和解释(图片、文本、分布、拼写、语音),并将它们放在一起。直到模型最终确定一个“最佳”全局解,并让人类对这个解感到满意。
一个很难标记的输入样本
Dan Roth认为:
现有标准方法不可扩展。我们永远不会有足够的标记数据来训练针对所有任务的所有模型。为了解决上图中的难题,一种方法是训练5个不同的组件然后合并,另一种方法是需要大量数据来训练端到端模型。尽管可以使用诸如ImageNet之类的可用资源来解决图像识别,但这个预测结果并不能反映在这个语境下,单词“world”比单词“globe”更好。即便我们有大量注释人员每天不停工作,他们的速度也赶不上流行文化数据更新的速度。
如果训练数据和测试数据分布相似,那其实任何有足够训练数据的模型都能完成这个任务。但是,如果是训练集、测试集、验证集中从未出现过的新事物,那么为了确保模型性能,我们必须设计一个更“正确”的方案。
在训练和测试过程中推断相同的任务被称为domain adaptation,这是近几年很多人关注的一个点。
一些人开始尝试在训练和测试过程中推断不同任务。比如李等人训练了一个只用给定句子的属性标签就能完成文本属性转变的模型,不需要在语料库中对具有不同属性和相同内容的句子配对。换句话说,他们训练了一个模型,它先作为分类器预测句子数据,之后再进行文本属性转变。同样的,Selsam等人训练了一个学习解决SAT问题的模型,也是先分类,再具体解决。
值得注意的是,两种模型都大量使用了归纳偏置,前者使用的假设是属性通常表现在局部判别性短语中;后者则捕获了调查传播的归纳偏差。
此外,研讨会还讨论了要不要构建“压力测试数据集”。它不同于基准测试,检验的是模型的超水平发挥,以便观察它的泛化性能。
模型只有在解决了更容易的案例之后才有机会解决更难的问题,所以根据难度对样本进行分类是合理的。但是,考虑到现在我们还不清楚哪些问题是模型确实难以解决的,如果一开始就把“更难”的问题定义为模型无法解决的问题,那这种方法就有潜在危险。
小结
综合全文,我们可以对这届NAACL研讨会做出一下总结:
我们应该使用更多的归纳偏置,但是我们必须找出将它们集成到神经架构中的最合适的方法,这样它们才能真正实现预期的改进。
我们必须通过一些类似人类的常识概念来增强最先进的NLP模型,使它们能够捕捉事实、实体、事件或活动之间的高阶关系。但是挖掘常识是具有挑战性的,因此我们需要新的、创造性的方法。
最后,我们应该处理未知的分布和未知的任务,否则只要数据够,无论什么模型都能解决问题。显然,训练这样的模型更难,结果也不会立竿见影。所以作为研究人员,我们必须大胆地开发这样的模型,作为审稿人,我们不应该惩罚那些试图这样做的工作。
-
数据集
+关注
关注
4文章
1208浏览量
24689 -
nlp
+关注
关注
1文章
488浏览量
22033
原文标题:NAACL研讨会深思:NLP泛化模型背后的虚假和脆弱
文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论