货 | 分析完2017ACL论文和演讲,我发现了深度学习在NLP中的四个发展趋势

作者通过分析2017年ACL的论文,以及演讲内容,得出了四个NLP深度学习趋势:

Linguistic Structure、Word Embeddings、Interpretability 、Attention。今天我们就逐一分析一下这四个深度学习趋势。


本文授权转自阿里云栖社区



介绍

       

在本月初我在温哥华出席的ACL(国际计算语言学协会 (ACL,The Association for Computational Linguistics) )时Joakim Nivre宣布:“NLP正在蓬勃发展”。参加人数众多的人士认为,学术界对NLP的兴趣已经处于历史最高点,主要是因为深度学习的成功。

       

然而,我参加ACL时注意到的一个研究人员的焦虑,因为一个领域正在快速发展转型。研究人员对是否将旧的NLP算法遗留下来还是抛弃,他们产生了焦虑!神经网络是我们需要的唯一技术吗?我们如何做好科学,论文发表在arXiv上算是真的成功吗?



虽然这些问题在ACL上不时出现,但研究人员整体的状态仍然是积极的。在2017年的ACL,NLP社区继续热情地接受深度学习。在这篇文章中,我将就NLP研究发展的趋势发表自己的看法。



关于这篇文章

       

在接下来的两篇文章中,我会阐述在会议(及其共同的活动)中,我通过论文,演讲和讨论上观察到的四个NLP的研究趋势。它主要集中在深度学习,序列模型,序列到序列框架。第一部分将探讨两个相互关联的趋势:语言结构和词语表达。



趋势1:语言结构回归(Linguistic Structure)

      

最近深度学习的复兴已经强调了NLP的简单统一范式:语句只是单词序列(language is just sequences of words)。根据这个逻辑,任何更深的网络结构都是不必要的,只需训练一个RNN的 end-to-end,随机梯度下降就能找出答案!虽然这种方法已经迅速地获得了巨大的成功,但其局限性正变得越来越明显。在2017年的ACL,几位著名研究人员反对“语句只是单词序列”的逻辑,并提出了理论,既实用又有原则。那么为什么NLP应该重新回到语言结构呢?


原因1:减少搜索空间

       

米雷拉·拉帕拉(Mirella Lapata)质疑了RNN序列到序列框架的霸权地位。在她非常有趣的主题演讲中,认为所有的语言特征都应该被丢弃。相反,她得出结论:语言结构正在归来,并通过示例提供了一个例子来解释。她认为语言结构可以减少输出的搜索空间,从而更容易地生成良好的输出。

       

例如,代码生成涉及“生成前10个平方数的列表”的自然语言语句映射到相应的代码片段,例如Python中的“[x ** 2 for x in range(10)]”。已经尝试使用标准序列到序列方法完成这个任务,该方法将代码简单地称为标记序列,而不是其底层树结构。这使得生成任务在所有标记序列的整个输出空间上是无约束的搜索。搜索任务容易产生不正确的输出(例如,解码器可能生成不匹配括号的代码)。在ACL论文中,Yin和Neubig和Rabinovich等人 采取结构化预测方法,直接生成底层的抽象语法树。这种方法将搜索空间限制在格局良好的底层树上,消除了不合格的输出。

       

语言结构不仅对于具有代码生成和语义解析等高度形式化的输出任务具有明显的帮助,而且它也可以帮助减少不太明显的任务的搜索空间,如cloze式阅读理解。Xie和Xing构造了一个只探索这些节点的系统,他们认为这比浏览文档中探索所有可能的节点要容易得多。


原因2:语言支架(Linguistic scaffolding)



诺亚史密斯在主旨演讲中反对他所谓的“全南瓜饮食”——线性变换+挤压函数(又称神经网络)作为NLP的唯一模型。相反,他鼓励大家思考NLP模型的归纳偏差,即模型的基本假设,以及这些假设如何影响他们学习的内容。


史密斯特别强调了多任务学习的力量,并将它视为引入理想的归纳偏差的一种方法。ACL看到几篇论文成功地采用了这种方法,特别是Eriguchi等人和吴等人为NMT设计了新的混合解码器,它使用shift-reduce算法来同时生成和解析目标序列。


NMT +解析系统的联合,似乎优于序列顺序系统,也可能受益于减少搜索空间。对于长句子,NMT性能不佳,联合解析输出可以消除来自搜索质量差的输出,从而允许搜索在更好质量的候选者之间进行选择。


原因3:句法近因>连续近因


克里斯·戴尔(Chris Dyer)认为,将语言结构纳入深度学习领域是非常重要的。像诺亚·史密斯一样,他也要求注意顺序方法中固有的归纳偏差,他认为RNN对顺序回归具有归纳偏倚,而语法指导的层次结构(如递归NN和RNNGS)对语法近似性具有归纳偏倚。戴尔认为语言本质上是层次性的,结论是句法近因是对顺序近因的一种优选的归纳偏差。


在ACL中,有几篇文章指出,RNN明显无法捕获远程依赖关系,而是使用递归模型可以进行改进。例如,在用语法感知编码器和解码器进行改进的神经机器翻译中。他们发现使用递归编码器可以提高整体性能,对于较长的句子而言,改进的程度更大。


期待


虽然语言结构复苏,但仍有一些障碍,因为实施多任务学习是繁琐的。非顺序架构在GPU上更难以并行化(但是新的动态库提供更简单和更有效的实现方法)。结构化预测任务的监督学习可能会受到缺乏并行数据的阻碍。幸运的是,在2017年的ACL都Liang等人。和Iyyer等人 使用弱势监督通过语义解析来执行任务,注意它是无需访问分析本身。



趋势2:重新考虑Word嵌入(Word Embeddings)


word嵌入是一种分布式的特征表述,向量的不同维度用来表征不同特征,不同维度上就代表着不同的语义。例如苹果和红旗都是红色的,苹果和香蕉都是水果。


今年题为“word嵌入”的论文数量从10个下降到了4个,尽管如此,词嵌入仍然是一项标准的技术。今年ACL的相关文章非常有趣,也许是因为词嵌入已经通过“炒作”阶段进入了“审查”阶段。这些论文探讨了词嵌入成功与失败的界限,它做什么,以及如何改善自己的弱点。

更好地理解单词嵌入


令人惊讶(但经常被夸大)的词嵌入的成功是他们的添加组合结构,令人难以置信的Skip-Gram-Zipf + Uniform = Vector Additivity旨在解释这一成功。作者证明了,用跳过式模型训练的分布词嵌入,在某些假设下具有可加性。最显着的是这些词是均匀分布的,虽然训练语料库不是均匀分布的,但是这个结果可能会解释词嵌入为什么具有的可加性。


其他论文研究了分词假设在词嵌入上的局限性。Li和Gauthier研究的问题:是否为现实世界准备了分配代理?,他们发现在词嵌入捕获某些概念特征,它们并不倾向于捕获感性特征。该论文尽可能的呼唤基础学习,正如通过建立机器人语言接地新研讨会所证明的那样。


词嵌入的另一个更明显的问题是它们不考虑多义词,而是分配每个表面形式一个向量。Upadhyay et al(论文),利用多语言并行数据来学习多义词单词嵌入,例如,将英文单词库翻译成法语单词banc和banque都是银行多义词的证据。在多模态词分布中,Athiwaratkun和Wilson没有用单向量表示单词,而是用它表示具有多种模式的高斯概率分布,从而捕捉到不确定性和多义词。



去分词


标准的词嵌入最难解决的限制是对形态信息的盲目性。因为在处理这样的问题时,总是将每个表面形式作为一个单独的匿名单元来处理。这可能会导致诸如无法识别两个词(例如走路者和步行者)具有相同的引理(步行)的问题。这是最近从词嵌入转向字表示的主要原因。


作为潜在的新标准CNN出现有人质疑它是依靠形态学解决的?今年的ACL至少有两篇论文表达了的否定态度。Vania和Lopez比较了几个子词组合表示的语言建模性能,发现它们中没有一个表现的能够与获得形态学注释的模型一样。即使提供原始输入模型进行多次的训练,这一结果仍然保持不错的性能。



标准的词嵌入最难解决的限制是对形态信息的盲目性。因为在处理这样的问题时,总是将每个表面形式作为一个单独的匿名单元来处理。这可能会导致诸如无法识别两个词(例如走路者和步行者)具有相同的引理(步行)的问题。这是最近从词嵌入转向字表示的主要原因。


作为潜在的新标准CNN出现有人质疑它是依靠形态学解决的?今年的ACL至少有两篇论文表达了的否定态度。Vania和Lopez比较了几个子词组合表示的语言建模性能,发现它们中没有一个表现的能够与获得形态学注释的模型一样。即使提供原始输入模型进行多次的训练,这一结果仍然保持不错的性能。


这些结果表明,如果我们想要真正有形态意识的词汇表示,我们可能需要一个更明确的形态模型,而不仅仅是字符组成。在他们的变形论文中,Vulić通过使用非语言学家编写的一些非常简单的形态规则来微调词嵌入。同时,Cotterell和Schütze提出了一个更全面的形态学模型,共同学习一个可以将一个单词划分成其形态组分的系统(例如,questionably→ question+ able+ ly)。我认为这是一个非常有价值的方法,因为任何形态理解系统都必须能够构成和分解意义。虽然该模型在评估任务上表现良好,但我想了解的是如何轻松地将其转移到诸如句法解析或语言建模等外部任务中。



期待

       

词语是语言的基础,所以当我们选择如何建模语言时,我们的假设是重要的。尽管分布式语义对我们来说已经很好,但是这些语言不仅仅是它们出现的语境。在未来的几年中,我认为我们将会看到更多的基础,视觉和互动语言学习来补充分布式表示。



趋势3:可解释性(Interpretability)


我最近一直在思考可解释性,然而我并不孤单,在深度学习实践者中,神经网络的可怕的“黑匣子”质量使他们难以控制,难以调试。然而,从非研究者的角度来看,有一个更重要的理由要求可解释性:信任



公众,媒体和一些研究人员如果不能理解AI是否可以信任,反而表示更加担心,虽然这些焦虑是有根据的(见“Facebook聊天发明自己的语言”故事)。例如,如果AI系统吸收了训练数据中存在的不必要的偏差,但是我们无法检查这些偏差,那么我们就有一个灾难的系统。第二,由于人工智能系统不完善,有时会失败,所以我们必须能够检查自己的决策,特别是对于比较复杂的任务。第三,即使AI系统运行良好,人类也许总是需要解释来说服自己。


那么到底什么是可解释性?在研究人员看来“可解释性”也可以有许多定义,对于这些定义的看法,我强烈推荐Zachary Lipton的“模型解释的神话”。特别是,利普顿确定了两种广泛的解释方式:事后解释和透明度。事后解释采取学习模式,并从中吸取一些有用的见解;通常,这些见解仅提供模型的工作原理部分或间接解释。透明度更直接地提出“模式如何工作”,并寻求提供一些方法来了解模型本身的核心机制。


事后解释


在今年的ACL,我看到许多论文提出了各种创造性的方法,以获得神经系统的事后洞察。


可视化可能是最常见的事后解释类型,特定类型的可视化(如显着图和字预测)成为标准,这些可视化是有用的。在可视化和理解神经机器翻译中,计算相关性分数,量化了特定神经元对另一个神经元的贡献。论文中提供的可视化看起来非常类似于从注意力分布产生的可视化。然而,计算的方法是不同的。相关性分数是直接衡量一个神经元在受训模型中对下游神经元的影响。Ding等人的相关性分数提供了一种有效的替代方法来测量序列到序列模型中的词级相关性。



转移学习是另一种流行的事后解释技术,其中任务A(通常是高级任务)为学习的代表被应用于任务B(通常是较低级别的任务)。任务B的成功程度表明任务A模型已经学到了任务B。

       

虽然转移学习和注意力可视化可以告诉你“多少”,但他们不会告诉你 “为什么”。为了回答后者,一些研究人员直接研究了表示空间几何的本身。在神经读者的隐藏状态向量中的紧急预测结构中.Wang et al。他提供证据表明,在基于RNN的阅读理解模型中,隐藏的向量空间可以分解为两个正交子空间:一个包含实体的表示,另一个包含关于这些实体的语句(或谓词)的表示。在用于分析连续词嵌入的参数自由分层图形分簇中,Trost和Klakow对字嵌入进行聚类,以获得层次化的树状结构。根据本文提供的示例,层次结构可以提供更可读的方式来探索词嵌入的邻域结构。



直接进行事后解释的另一种方法是将解释本身视为翻译任务。在翻译神经.Andreas et al。他采取训练进行协作任务的两台机器之间传递的向量信息,并将其转化为自然语言语言。



透明度


尽管从无法解释的神经模型中收集了所有的工作数据,但一些研究者认为盯着神经元只会让我们毫无所获。真正的可解释性要求透明度——构建和训练的模型本身可以解释。


根据定义,语言结构化表示比非结构化表示更容易解释。因此趋势1也可以被看作是向更透明的神经网络模型的转变。神经网络是强大的,因为它们可以学习任意连续的表示。但人类发现离散的信息,比如语言本身,更容易理解。


我们可能担心我们对神经模型的强制性限制会降低其表现力。担心解释性会以有效性为代价。但是,稀疏性诱导正则化可以改善在不损害神经模型的前提下,并且稀疏的词嵌入可以比原始密集法更有效。在多语言序列标签的神经词嵌入的稀疏编码中,Gábor Berend展示了稀疏词嵌入对NER和POS标签的有效性,特别是在有少量训练数据的情况下。



对于回答复杂问题的AI系统,如果人类信任答案,透明度尤为重要。这些系统应该理想地产生答案的证明或推导过程。对于解决数学问题的系统,证明应该是一个逐步的自然语言派生的最终答案。这正是Ling等人提供的基于生成原理的程序导入:学习解决和解释代数词问题。他们的系统不是直接和毫无瑕疵地产生最终答案,而是共同学习产生数学转换的基本序列。



期待


我不确定事后可解释性或透明度是正确的道路。事后可解释性倾向于给出有限的解释,虽然迷人,但通常是隐藏的本身。我认为更灵活的解释技术,是基于翻译的方法。虽然他们提出了关于信任的问题。另一方面,透明度是有吸引力的,因为可解释性应该是一个设计选择,而不是事后的想法。虽然我们还没有建立透明的端到端的神经系统,但是使系统的一小部分透明化也非常有用。请注意,注意机制作为一个健全检查和调试工具有助于开发系统。



趋势4:注意力(Attention)


注意机制正在迅速成为最流行的技术,它可以用于绕过信息流中的瓶颈,它能够实现无法通过前馈层实现的键值查找功能,并提供了一些非常需要的解释性。注意力机制在今年的ACL上有所增加,论文一共有十五篇,比上年的九个有所增加。


无处不在的更多注意力机制

       

注意机制是序列到序列框架中最可操作的一部分。因此,研究人员通过设计越来越复杂的注意力模型来寻求成功,目标是解决特定的特定任务问题。


有三篇论文提出了问题回答的模式,在这些模型(注意注意力,交叉注意力和门控注意力)中,第三种模型引入了多跳注意力,这使得模型在得到答案之前可以迭代地遍历不同的部分。本文的附录包含几个演示了多跳推理的必要性和有效性的例子。



注意力也已经成为衡量和综合来自多个潜在的多模态信息源的标准方法。Libovicky等人 Lin等人考虑同时通过文本和图像来翻译标题。在这些情况下,注意力很方便,因为它提供了从任意数量的源获取固定大小的表示的一般方法。


其他人发现,在多个维度上应用注意力对某些任务很有用。例如,语法错误纠正需要嵌套注意力:字级注意检测字顺序错误,以及字符级注意检测拼写错误。


所以你需要注意吗?


注意力机制的热情似乎可以证实最近大胆的声称:注意力是你需要的。然而,在ACL,我注意到一些研究人员提供关于潜在的陷阱或注意力错误的警告信息。

例如,有些情况下,我们可能希望注意力不起作用·Tan et al。他认为对于抽象文献总结,注意力分布不能有效地模拟源句子的显著性。相反,他们通过使用深度学习的提取摘要算法(基于PageRank的句子排名),从而获得更大的成功。这个结果作为一个重要的提醒:我们不应该丢弃过去几十年的积累的NLP知识,虽然不时尚,但这些技术可能提供改善我们神经系统的关键。


另外可能在一些情况下,注意力是多余的。Bollman等人 发现当他们引入多任务学习的辅助任务时,增加注意力机制就变得有害而不是有用。作为解释,他们提供了证据表明辅助任务中增加注意力机制是多余的。虽然我不完全理解注意力和多任务学习之间的这种互动,但我们应该注意这一现象,因为它对未来系统的发展构成潜在的陷阱。



期待

       

虽然注意力最初被认为是解决对序列到序列NMT的瓶颈问题,但事实证明它是一个更为基础和通用的技术。通过考虑为什么关注如此受欢迎,我们可能会了解到当前深度学习社区的需求。例如需要解释性,长距离依赖性以及动态结构。我认为注意力机制只是实现这些事情的第一步。


结论


虽然这只是我参加过的第二个ACL,但我对今年的组委会印象深刻,他们通过透明度,听取社群的意见,并且积极处理这些问题。在这个非常依靠经验驱动的时代,我们认为我们应该追求并做好可以复制和重现的假设驱动的科学。


在深度学习高速发展的这几年,NLP社区有理由感到兴奋和焦虑。但我对社区有信心,随着时代的变化而保持其集体智慧。所以,不需要炒作也不要害怕。深度学习既不是NLP的终极解决方案也不是死亡。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值