寻找集团网站建设,自媒体平台源码,17网站一起做网店怎么样,有哪些软件可以查企业信息本文是对TACL2019《Analysis Methods in Neural Language Processing: A Survey》的翻译和整理。本文转载自知乎#xff0c;文章链接#xff1a;https://zhuanlan.zhihu.com/p/265815975导读NLP领域发展迅猛#xff0c;其模型分析方法也正逐渐火热。为什么要研究NLP的可解释… 本文是对TACL2019《Analysis Methods in Neural Language Processing: A Survey》的翻译和整理。本文转载自知乎文章链接https://zhuanlan.zhihu.com/p/265815975导读NLP领域发展迅猛其模型分析方法也正逐渐火热。为什么要研究NLP的可解释性某种程度上这一问题又落入更大的范畴——为什么要研究机器学习模型的可解释性其支持者认为在于增加ML系统的可靠性、可信度、公平性和安全性等。此外知其所以然也有助于改进机器学习模型的效果。而在NLP领域这一问题需要联系其发展历程来解答早期的NLP工作通常涉及特征工程这些手工特征的含义是易于理解的——形态特性词法类别句法类别语义关系等等。理论上人们可以通过观察模型对这些特征赋予的权重来更好地理解模型在做什么。而对于现在普遍的端到端的比如从词向量输入到文本分类的输出神经网络模型理解和分析它们的工作不是那么直观。但是既然这些模型结构能够捕捉文本的特征那么早期的关于语言学概念的分析工作也应当适用于现在的NLP研究。本文尝试分析近年来NLP可解释领域的工作概括当下的主流方向并针对当前工作的不足提出一些可能的未来方向。本文将围绕以下几方面展开语义特征学习可视化方法挑战集对抗样本解释模型预测其他研究1. 语义特征学习现代NLP模型通常是端到端的没有显式编码语义特征所以人们很想知道模型到底都学到了什么。研究方法最常见的方法就是将模型的激活输出和语义特征分类进行关联。即固定一个训练好的模型例如在机器翻译任务的权重将其用于编码语料并训练一个分类器做一些语义特征分类例如词性分类等。分类结果的好坏反映了模型学习表示的好坏。以上这一方法具有多个名字如“辅助分类任务”auxiliary prediction tasks“诊断分类器”diagnostic classifiers以及“探针实验”probing tasks等。目前已有的工作总结如下举一个神经机器翻译NMT任务的例子Xing Shi, Inkit Padhi, and Kevin Knight. 2016b. Does String-Based Neural MT Learn Source Syntax? In Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing, pages 1526–1534, Austin, Texas. Association for Computational Linguistics.首先训练两个模型英译法和法译英模型然后将模型中的编码器部分单独在语料上运行获得中间状态并介入逻辑回归分类器用于不同语法特征分类。作者实验得出结论NMT的编码器能够学习词语层面和句子层面重要的语法信息并且进一步通过比较不同编码层的表示发现在局部特征更多地体现在底层编码结果中而高层的结构则学到句子的全局或者摘要的信息。其他的寻找模型结构和语义特征关联的实验包括分析注意力权重和指代词分辨的关联以及直接和间接计算模型激活层输出和语义特征的相关系数。语义特征上述实验涵盖了许多有用的语义特征从基本特征如句子长度词语位置词语存在性以及简单词序形态学结构到语法和语义结构的特征此外还有音节、口音和风格等语音特征等等。尽管难以将这些分布广泛的工作加以整合一统可以看出神经网络可以学到数量可观的语言学信息。对于频繁出现的特征模型学习得很好而对于少见的特征对模型而言则较难学习。有工作发现LSTM可以捕捉到大部分情况的主语-动词的共现关系而在更难的例子下需要一些直接的监督信息。另一个逐渐浮现出来的主题是研究模型学习的文本表示的层次化性质。上文中提到的NMT模型的发现就能说明这一点同时在RNN模型中也能看到语法信息出现在层次化的表示中。此外一些研究者Williams等2018Maillard和Clark2018发现使用隐式树状结构训练的模型在自然语言推理Natural Language InferenceNLI任务中比使用语法标注树的模型表现要好。更进一步说这些模型中的树并没有按照现有的语法理论构建语法树这也对神经网络学习语法信息的重要性带来疑问。模型的相关结构在这一领域模型的部分结构被用于探究是否具有对语义信息的学习能力包括词向量句向量RNN的隐藏状态和门控激活输出句子到句子模型的注意力权重对CNN模型的研究工作较少。在语音领域和多模态相关的工作等请参考上面的表。局限上述的分类方法可以证明模型可以捕捉一定的语义信息然而这不一定能证明模型利用了这些信息进行推理。例如Vanmassenhove等2017研究了NMT以及基于短语的统计机器翻译中的方面信息。他们训练了NMT句子编码向量的分类器发现他们可以在90的时间内准确预测时态。但是在评估输出翻译时他们发现只有79的结果具有正确的时态。他们将此结果解释为“在解码过程中丢失了部分方面信息”。与此相关的是Cífka和Bojar2018在翻译质量BLEU和表示质量分类任务方面比较了各种NMT模型的性能。他们发现两者之间存在负相关关系这表明高质量的系统可能未在学习某些句子的含义。相反Artetxe等2018指出词嵌入包含不同的语言信息可以通过对学习的嵌入进行线性变换来发现它。他们的结果提出了另一种解释表明“嵌入模型能够对不同的语言信息进行编码但对这些信息的表达方式有限制。”从方法论的角度来看大多数相关的分析工作都与互相关correlation有关具有语言属性的神经网络组件之间的关联程度如何可能缺乏一种因果关系的度量语言属性的编码如何影响系统输出。Giulianelli等2018在这个问题上取得了一些进展。他们根据RNN隐藏状态和门控在不同时间步长预测了数字一致性。然后他们根据预测和正确标签之间的差异通过更改隐藏的激活来干预模型如何处理句子。这种提高的一致性预测准确性并且效果在句子过程中持续存在表明此信息对模型有影响。但是他们没有报告对整体模型质量的影响例如通过测量困惑度。因果推理causal inference的方法可能会为其中一些问题提供新的思路。2. 可视化方法可视化工具不仅在语言领域在其他领域都是是一类分析神经网络的重要工具。早期的工作可视化了语言建模任务训练的RNN中的隐藏单元激活输出并观察到它们如何与某些语法关系例如相关性相对应Elman1991。注意力机制一出来人们很自然就想到将其可视化用做解释工具。注意力的可视化工作包括NMTBahdanau等人2014NLIRocktäschel等人2016; Yin等人2016摘要Rush等人2015机器翻译的后编辑Jauregi Unanue等人 2018等。计算各种显著性度量saliency mearures以将预测归因于输入要素然后可以在选定的示例中可视化重要或显著特征Li等人2016a; Aubakirova和Bansal2016; Sundararajan等人2017; Arras等人2017ab; Ding等人2017; Murdoch等人2018; Mudrakarta等人2018; Montavon等人2018; Godin等人2018。显著性也可以针对中间值而不是输入特征进行计算Ghaeini等人2018。下图是NMT的attention可视化工作的一个实例。说到注意力可视化我读到有工作《Attention Interpretability Across NLP Tasks》对比了不同任务的attention weights得出一个有趣的结论在single sentence任务如句子分类的attention可解释性不好而在sentence-pair任务如翻译和推理上attention是有效的机制其可解释性也和模型效果正相关。一种有启发性的可视化技术是对神经网络激活进行聚类并将它们与某种语言特性进行比较。早期的工作将RNN激活聚集在一起表明它们按词汇类别进行组织Elman19891990。其他人也遵循了类似的技术。同时本领域也出现了一些用于可视化神经网络的在线工具LSTMVisStrobelt等人2018b可视化RNN激活重点是跟踪隐藏状态动态。Seq2Seq-VisStrobelt等2018a可视化基于注意力的seq2seq模型中的不同模块目的是检查模型决策和测试替代决策。Rikters2018提出了另一个专注于比较注意力比对的工具。它还根据注意权重的分布提供翻译置信度评分。NeuroXDalvi等2019b是一种用于发现和分析单个神经元的工具专注于机器翻译。评估方式如同在可解释性方面的许多工作中一样评估可视化质量非常困难并且通常仅限于定性示例。Singh等2018展示了人类通过两种解释方法生成的输入词的层次聚类并要求他们评估哪种方法更准确或者他们更信任哪种方法。其他人报告了在对话建模Freeman等人2018和医疗代码预测任务Mullenbach等人2018中对注意力可视化进行的人类评估。上述开放源代码工具的可用性有望鼓励用户在其常规研发周期中利用可视化。然而其可视化效果如何仍有待观察。3. 挑战集NLP中的大多数基准数据集均来自文本语料库反映了语言现象的自然频率分布。尽管在实践中对于平均情况下评估系统性能很有用但此类数据集可能无法捕获更广泛的现象。另一种评估框架由挑战集构成也称为测试套件test suites已经在NLP中使用了很长时间Lehmann等1996尤其是评估机器翻译系统King和Falkedal1990Isahara1995Koh等2001。Lehmann等1996年指出了测试套件的几个关键特性系统性对数据的控制否定数据的包含以及穷举性。这一领域因为统计NLP系统的大规模量化评估方法的流行而沉寂了一段时间。挑战数据集可以按照任务语言现象语言规模构造方法以及评估方法等标准进行分类如下表按任务分类挑战集中针对最多的任务是自然语言推断NLI和机器翻译MT一方面这些任务的模型多另一方面这些任务涉及各种语言水平而其他一些高级任务如阅读理解或问题解答并未得到足够的重视它们也可能从精心设计的挑战集中获益。挑战集主要的工作旨在通过将嵌入模型在单词或句子对上计算的相似性与人类相似性判断相关联来评估嵌入模型的质量。包含此类相似性评分的数据集通常用于评估单词嵌入Finkelstein等2002Bruni等2012Hill等2015或句子嵌入这些数据集中有许多在粗糙的级别上评估相似性。还有一些数据集提供了更细粒度的评估例如一些数据集专用于特定词类如动词Gerz等2016或稀有词Luong等2013或评估句子嵌入中的成分知识Marelli等2014等还有数据集收集了多语言和跨语言版本Leviant和Reichart2015年; Cer等人2017年。尽管这些数据集被广泛使用但这种评估由于其主观性以及与下游绩效的可疑相关性而受到批评Faruqui et al2016。按语言现象分类挑战集的主要目标之一是评估模型处理特定语言现象的能力。早期的研究强调穷举性Cooper等1996Lehmann等1996而最近的研究则倾向于关注一些感兴趣的特性例如Sennrich2017为MT评估引入了一个挑战集该挑战集着重于5个属性主语一致名词短语一致动词结构极性和音译。对形态学的MT挑战集略为详细阐述包括14种形态学特征Burlot和Yvon2017年。其他挑战集涵盖了更多种语言属性例如在Cooper等人中扩展类别1996年针对NLI的GLUE分析集涵盖了四个粗略类别词汇语义谓语-自变量结构逻辑和知识中的30多种现象。在MT评估中Burchardt等人2017使用覆盖120种现象的大型测试套件报告了结果部分基于Lehmann等1996Isabelle等2017和Isabelle and Kuhn2018为MT评估准备了挑战集涵盖了词素句法句法和词法层面的细粒度现象。通常以编程方式构建的数据集倾向于涵盖较少的细粒度语言属性而手动构建的数据集则表示更多种现象。按语言分类不幸的是在许多NLP工作中大多数挑战集都是英语。这种情况在MT评估中要好一些因为自然而然所有数据集都具有其他语言。显然非英语语言在MT任务还有更多的发展空间。但是也许在其他任务上更迫切的需要大型非英语数据集来开发流行的NLP任务的神经模型。按规模分类现有的挑战集的大小差异很大手工构建的数据集较小典型大小为数百个少见上万自动构建的数据集要大得多范围从数千到近十万Sennrich2017甚至超过一百万个样本Linzen等人2016。在后一种情况下作者认为需要如此大的测试集才能获得足够的罕见情况表示。按构造方法分类挑战集一般要么由编程方式创建要么通过手工制作特定示例以手动创建。通常半自动方法用于编译示例的初始列表这些示例由注释者手动验证。具体方法还影响语言使用的种类以及示例的自然性或人工/综合性。目前主流方案如下通过修改或从现有数据集中提取示例来构造数据集。例如Sanchez等2018和Glockner等人2018年从SNLI中提取了示例Bowman等人2015年并替换了特定词如上位词同义词和反义词然后进行了手动验证。Linzen等2016使用启发式方法从原始文本中提取了主语-动词一致的示例从而形成了一个大型数据集。Gulordava等2018将其扩展到其他协议现象但他们依赖于树库中可用的句法信息从而导致数据集更小。一些挑战集利用现有的测试套件作为示例的直接来源Burchardt等2017或搜索相似的自然存在的示例Wang等2018a。Sennrich2017引入了一种通过对比翻译对评估NMT系统的方法模型估计反映特定语言特性的两种候选翻译的概率。Sennrich通过应用简单的试探法例如更改性别和数字以引起前后不一致以编程方式生成了此类对从而得到了接近10万个示例的大规模挑战集。作者扩展了该框架以评估其他属性但通常需要更复杂的生成方法例如使用形态分析仪/生成器Burlot和Yvon2017或更多人工参与生成Bawden等2018或验证Rios Gonzales等2017。最后一些研究定义了模板用于捕获了某些语言属性并使用单词列表将其实例化Dasgupta等2018Rudinger等2018Zhao等2018a。基于模板的生成具有提供更多控制例如用于获得特定词汇分布的优势但这是以牺牲示例的自然程度为代价的。按评估方式分类通常评估模型用其在挑战集示例上的性能来评估要么使用与第一阶段用于评估系统相同的度量标准要么通过代理进行评估如Sennrich2017的对比对评估中那样。自动评估指标的代价较低可以大规模计算。但是可能会缺少某些方面的效果。因此一些研究报告了人类对其挑战集的评估例如在MT中Isabelle等2017; Burchardt等2017。此外根据模型在挑战集上的表现来判断模型的质量可能很棘手。一些作者强调他们希望在“超出正常运行能力”的极端或困难情况下测试系统Naik等人2018。但是是否应该期望系统在特殊选择的情况下相对于一般情况表现良好可能取决于目标为了更好地看待结果可以将同一任务的模型绩效与人类绩效进行比较Gulordava等人2018。4. 对抗样本要了解模型还需要了解其失败。尽管机器学习系统在许多任务上都取得了成功但它们也对恶意攻击或对抗性示例非常敏感Szegedy等2014Goodfellow等2015。在视觉领域即使人类无法分辨输入图像的微小变化也可能导致分类错误。对抗样本的目标在于对给定的模型 f 和输入样本 x找到样本 x它被模型预测为不同的类别同时保持和原始样本具有最小的距离在CV领域样本改变通常是图像像素计算两个图片向量的差值很简单因为数值连续所以可以通过计算相对输入的梯度来计算得到改变后的样本。在NLP领域输入是离散的例如单词序列这带来了两个问题如何测量原始示例和对抗示例 x 和 x 之间的距离如何将最小化这个距离表述为优化问题因为这需要计算改变相对于离散输入的梯度本文按照对抗是否可以已知模型、攻击的目的性、修改单位、攻击的任务对对抗方法进行分类如下表按对抗是否已知模型分类对抗模型可以通过访问模型参数也称为白盒攻击来生成对抗性示例也可以通过使用黑盒攻击来获得对抗性示例Papernot等2016a2017Narodytska and Kasiviswanathan2017Liu等2017 。白盒攻击很难适应文本世界因为它们通常需要对输入计算梯度在文本情况下可能是离散的。包括如下方法对输入词的嵌入计算梯度并扰动嵌入。由于这可能会导致一个不对应任何单词的向量因此人们可以搜索嵌入给定词典中的最近邻单词Papernot等人2016bCheng等2018将这个想法扩展到seq2seq模型。对输入词的嵌入计算梯度以识别和排序要修改的词Samanta和Mehta2017Liang等2018。Ebrahimi等2018b开发了一种替代方法该方法通过在向量空间中表示文本编辑操作例如一个二进制向量来指定单词中的哪些字符将被更改并沿着该向量用导数来近似损失的变化。考虑到为文本生成白盒对抗性示例的困难性许多研究都致力于黑盒示例。主要工作如下受文本编辑启发自然的或由人类普遍产生的例如错别字拼写错误等Sakaguchi等人2017Heigold等人2018Belinkov和Bisk2018。Gao等2018定义了评分函数以识别要修改的词语。函数不需要访问模型内部但是需要模型预测分数。在识别了重要标记之后它们使用常见的编辑操作来修改字符。Zhao等2018c使用生成对抗网络GANGoodfellow et al2014来最小化输入的潜在表示和对抗性示例之间的距离并在潜在空间中进行扰动。由于潜在表示不需要来自受攻击的模型因此这是黑盒攻击。Alzantot等2018年开发了一种有趣的基于人口的遗传算法可通过保留原始句子的修饰语群体并评估每一代的修饰语适合度来制作文本分类的对抗性示例。他们不需要访问模型参数但是会使用预测分数。Kuleshov等人提出了类似的想法2018。按攻击的目的性分类对抗性攻击可以分为定向攻击和非定向攻击Yuan等人2017。其中定向攻击指定了特定的错误类别 而非目标攻击仅关心预测的类别是错误的 。定向攻击很难生成因为它们通常需要了解模型参数即它们是白盒攻击。大多数对抗示例都是非针对性的而一些针对性的攻击包括Liang等 2018a和Chen等2018a后者指定了在图像字幕模型中生成的单词或字幕。其他定向攻击模型则在攻击seq2seq模型时将特定单词指定为省略替换或包含Cheng等人2018; Ebrahimi等人2018a。在NLP中产生定向攻击的方法可能会从其他领域的对抗性攻击中获得更多启发。例如在攻击恶意软件检测系统中多项研究在黑盒情况下开发了针对性攻击Yuan等人2017。Zhao等人提出了针对MT的黑匣子针对性攻击2018c他使用对抗性正则化自动编码器将句子映射到连续空间后使用GAN来搜索对Google MT系统的攻击Zhao等人2018b。按修改的单位分类对抗文本示例的大部分工作都涉及字符和/或单词级别的修改其他转换包括添加句子或文本块Jia and Liang2017或生成具有所需句法结构的复述Iyyer等人2018。在图像字幕中Chen等人2018a在输入图像中修改像素以对字幕文本产生针对性的攻击。按对抗任务分类通常大多数在NLP中对抗示例的工作都集中在相对高级的语言理解任务上例如文本分类包括情感分析和阅读理解而文本生成的工作主要集中在MT。除了形态标记Heigold等人2018和拼写校正Sakaguchi等人2017等少数工作对抗样本却很少针对更底层的语言处理任务。对抗样本的连贯性和改变量的评估方式在对抗图像样本中通过测量像素空间中的距离来测量扰动是相当简单的可以使用某些正则化方法或采用与人类感知更好相关的替代措施Rozsa等2016。呈现对抗图像与源图像之间没有明显差异的视觉效果也令人信服。而在文本域中距离的测量不是那么简单人类甚至可以感觉到文本的很小变化。因此对攻击的评估相当棘手。一些研究对对抗样本施加了限制使其具有少量的编辑操作Gao等人2018。其他人则以不同的方式确保句法或语义上的连贯性例如通过单词相似性或句子相似性过滤替换Alzantot等人2018Kuleshov等人2018或使用同义词和其他单词表Samanta和Mehta2017Yang等2018。一些人报告了人类是否可以正确地将对抗性示例分类Yang等人2018但这并未表明变化的可感知性。更多信息丰富的人研究评估了对抗性示例与原始示例的语法相似性或相似性Zhao等人2018cAlzantot等人2018。考虑到在文本中产生难以察觉的变化的固有困难需要更多这样的评估。5. 解释模型预测这一部分是关于Explainability和Interpretability有些微妙的区别。解释特定的预测被认为是可解释工作的一个迫切的痛点Lipton2016年它被认为增加了机器学习系统的可靠性Doshi-Velez等人2017年。但是解释为什么深度非常深高度非线性的神经网络做出一定的预测并非易事。一种解决方案是要求模型生成与主要预测一起的解释Zaidan等2007Zhang等2016但是这种方法需要人工注释解释这可能很难收集。一种替代方法是使用部分输入作为解释。例如Lei等2016定义了一个生成器该生成器学习文本片段上的分布作为证明预测的合理依据并根据情感分析进行评估。Alvarez-Melis和Jaakkola2017通过扰动输入并找到最相关的关联在序列到序列的学习场景中发现了输入-输出关联。Gupta和Schütze2018研究了如何在RNN中积累信息以进行预测以及预测分数与重要输入段的关联峰值。由于这些方法使用输入段来解释预测因此它们对网络中发生的内部计算没有太大的启发。目前尽管这一块工作对可解释领域整体具有公认的重要性我们在NLP中解释神经网络的预测的能力仍然有限。6. 其他研究这里包含一些杂项。擦除或者隐藏部分神经网络组件例如词嵌入的部分维度隐层单元甚至整个词的效果对比实验Li等人2016b; Feng等人2018; Khandelwal等人2018 ; Bau等人2018。Li等2016b消除了单词嵌入或隐藏状态下的特定维度并计算了分配给不同标签的概率的变化。他们的实验揭示了词嵌入模型之间的有趣差异在某些模型中信息更多地集中在部分维度上。他们还发现信息在隐藏层中的分布比在输入层中的分布多并且在情感分析任务中删除了整个单词以找到那些重要的单词。通过定义插入任务来解释词嵌入其中人类需要根据词嵌入维度的差异来选择插入词Murphy等人2012; Fyshe等人2015; Faruqui等人2015。在这种工作中如果人类能够更好地识别出插入词那么词嵌入模型可能被认为更具解释性。由于高维表示的评估成本高昂因此考虑了其他自动评估方式Park等人2017Senel等人2018。关于神经网络的一项悠久传统是评估和分析其学习不同形式语言的能力Das等1992; Casey1996; Gers和Schmidhuber2001;Bodén和Wiles2002; Chalup和Blair2003。。这种趋势一直持续到今天包括对现代结构及其可学习的形式语言的研究Weiss等人2018; Bernardy2018; Suzgun等人2019或它们拥有的形式属性Chen等人2018b。结论分析神经网络已成为NLP研究的热门话题。我们已经强调了特定于语言的分析方面在神经网络中捕获了哪些语言信息它们成功捕获了哪些现象以及在哪里失败了。许多分析方法是大型机器学习社区的通用技术例如通过显着性度量进行可视化或通过对抗性示例进行评估但是即使是那些有时也需要非凡的改编才能与文本输入一起使用。一些方法更特定于该领域但在其他领域可能被证明是有用的。挑战集或测试套件就是这种情况。在整个调查过程中我们确定了当前分析工作中的一些局限性或不足之处使用辅助分类任务来识别神经网络捕获的语言属性已成为标准做法但是缺乏其与原始任务之间联系的理论基础和更好的经验性考虑。分析工作的评估通常是有限的或定性的尤其是在可视化技术方面。为了确定不同方法的成功需要更新的评估形式。除了提供可视化之外在解释神经网络模型的预测方面所做的工作相对较少。随着公众对解释机器学习系统中算法选择的需求不断增加Doshi-Velez和Kim2017年; Doshi-Velez等人2017年迫切需要在这一方向上取得进展。大多数分析工作都集中在英语上特别是在为各种任务构建挑战集时但MT由于其固有的多语言特性而除外。随着领域的发展和成熟开发其他语言的资源和评估方法很重要。除NLI和MT外还需要更多挑战集来评估其他任务。 OpenKG开放知识图谱简称 OpenKG旨在促进中文知识图谱数据的开放与互联促进知识图谱和语义技术的普及和广泛应用。点击阅读原文进入 OpenKG 博客。