没有合适的资源?快使用搜索试试~ 我知道了~
视觉信息学4(2020)132ConvNet的令牌式情感分解:可视化情感分类器Piyush ChawlaYi,Subhashis Hazarika,Han-Wei Shen俄亥俄州立大学,哥伦布,43210,美国ar t i cl e i nf o文章历史记录:2020年4月3日网上发售保留字:卷积神经网络可视化情感分析a b st ra ct卷积神经网络是自然语言处理和人工智能中最重要和最广泛使用的结构之一。在许多应用中,它们都实现了最先进的性能,训练时间比其他替代方案更快。然而,由于它们有限的可解释性,它们不太受从业者的青睐,而不是基于注意力的模型,如RNN和自我注意力(变形金刚),它们可以通过分析注意力权重热图来更直观地可视化和解释。在这项工作中,我们提出了一种可视化技术,可以使用了解基于文本的CNN模型的内部工作原理。我们还展示了如何使用这种方法来生成对抗性示例并学习训练数据的缺点©2020作者(S)。由爱思唯尔公司出版我代表浙江大学和浙江大学出版社有限公司这是一个在CC BY-NC-ND许可证下的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。1. 介绍最近,深度学习已经被广泛应用。由于对机器学习的依赖性突然增加,解释和理解这些黑箱模型变得至关重要(Carvalho etal. ,2019)。 这对于医疗数据挖掘等领域至关重要(Hughesetal. ,2017; Weng et al. ,2017; Rios and Kavuluru,2015)、自动驾驶汽车(Goodall ,2014)、机器人技术(Lin et al. ,2014),军事机器人(邓,2015)等,其中道德发挥了重要作用。然而,由于深度学习的黑箱性质,这些模型在领域专家眼中总是被怀疑(而不是信任)。这需要更多的研究来解释这些深度学 习 模 型 。 其 中 一 类 黑 盒 深 度 学 习 模 型 是 卷 积 神 经 网 络(CNN)。CNN已经成为计算机视觉和自然语言处理(NLP)中机器学习应用的首选方法之一。在NLP中,越来越多的研究人员开始使用CNN作为基于文本的预测问题的编码器/解码器由于它们的简单性和更快的训练时间,与其他替代品(如LSTM,变压器等)相反,CNN模型被用于无数的应用。一个这样的应用是情感分析或情感分类。在这里,任务是将给定的句子分类为这在分析电影评论时很重要,*通讯作者。电子邮件地址:osu.edu(P. Chawla),hazarika.3@osu.edu(S.Hazarika),osu.edu(H.- W. Shen)。基于产品营销的研究应用的客户评论。这是自然语言处理中一个研究得很好的问题,传统的机器学习(Liu和Zhang,2012)和深度学习(Zhang et al. ,2018a)已经探索了解决它的方法。基于CNN的模型也被广泛用于这个问题(Ain et al. ,2017年)。在这项工作中,我们展示了使用情感分析作为用例的CNN可解释性方法。对于这个任务,我们解决了一个著名的基准数据集,IMDB数据集上的电影评论分类的问题。1可视化和解释训练的CNN模型是计算机视觉中的一个充分探索的问题(Zhang et al. ,2018 b)。在基于图像的应用程序中可视化训练的内核是非常直观的,因为内核(也称为滤波器)甚至在CNN投入使用之前就已用于处理图像。然而,对于NLP或基于文本的方法,n-gram内核(也称为1D内核)传达的确切含义仍然是一个谜。有些作品已经证明,每个内核都关注一个特定的语言属性(例如,积极/消极的词等)在句子里但这在很大程度上仍然是一个假设(Jacovi et al. ,2018年)。此外,文本数据具有顺序特征(词序),而图像具有空间性质,这使得内核在这两种不同数据类型上的应用从根本上不同。关于解释基于文本的CNN模型的现有文献试图理解单个神经元的贡献(Arras et al. ,2017)和内核(Jacovi et al. ,2018年)在新-虽然它们提供了一个完整的体系结构,但它们缺乏可用于分析模型的具体可视化技术。到1 https://ai.stanford.edu/~amaas/data/sentiment/https://doi.org/10.1016/j.visinf.2020.04.0062468- 502 X/©2020作者。由爱思唯尔公司出版代表浙江大学和浙江大学出版社。这是一个在CC BY-NC-ND许可证下的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect上获得目录列表视觉信息学期刊主页:www.elsevier.com/locate/visinfP. Chawla,S.哈扎里卡和H.-W. 沈/视觉信息学4(2020)132133∈[] ∈据我们所知,不存在用于在文本域中探索CNN模型的视觉分析系统。在这项工作中,我们提出了我们发现每个标记对最终情感预测的贡献,并分析不同的内核大小(n-gram大小)如何影响/有助于分类。我们定义了一个通用的策略来找到一个神经元对下一层中另一个神经元的贡献。我们使用架构拓扑找到从起始神经元到目标神经元的每条路径的贡献。使用它,我们计算令牌对预测类的贡献。这些分数在可视化时,揭示了测试数据和训练模型的有趣事实。使用我们的token-wise分解方法和可视化技术,我们证明了我们可以捕获和分析模型的偏心行为。我们使用我们的工具(第6节)进行鲁棒性分析,并为预训练的CNN模型生成对抗性示例。我们发现的情况下,模型预测的变化(翻转在二进制分类设置),使输入句子的最小变化。这可能有助于提高应用程序的预测质量,这些应用程序需要强大的系统,并可能产生严重的伦理和道德影响(Vellido,2019)。我们想补充的是,这项工作的目的不是将CNN与RNN或其他替代方案进行比较,而是将重点放在使用基于文本的应用程序的视觉分析来扩展现有的CNN可解释性研究上。我们的主要贡献可归纳如下:1. 一种在基于CNN的文本分类问题中可视化标记对最终标签的贡献的技术。2. 聚合多个内核贡献的策略。3. 基于预训练文本的CNN分类模型的鲁棒性和对抗性分析策略。2. 相关工作在本节中,我们总结了使用可视化方法来理解机器学习算法的各种工作。然后,我们概述了现有的基于文本的应用程序的可视化CNN模型的2.1. AI可视化神经网络模型已被广泛研究与可视化分析系统。Rauber等人(2016)专注于神经网络学习的表示和神经元对CNN的贡献。Zeiler 和 Fergus ( 2014 ) 研 究 了 层 对 预 测 的 贡 献 。 Liu 等 人(2016)探索了神经元的多方面及其CNN的学习特征。 Cirik等人 (2016)探讨了课程学习的问题,以分析LSTM中内部状态的行为。Strobelt等人(2017)在他们的工作LSTMVis中探索了隐藏状态的动态和相关语义Karpathy等人(2015)在RNN中使用了细胞激活,并解释了它们对字符级语言模型的不同语言方面的贡献。(Kiros et al. ,2015)使用由基于GRU的句子编码器产生的句子表示进行可视化和定量评估。 Smilkov等人 (2016)开发了一个可视化工具,用于可视化单词嵌入的2D和3D投影。 Lin等人(2017)使用LSTM生成句子编码并分析其含义。Liu et al.( 2017 ) 可 视 化 了 word2vec 嵌 入 中 的 类 比 。 Strobelt 等 人(2018)在他们的工作中增加了用户交互组件,并为用户提供了改进的灵活性。seq2seq模型的性能。Hazarika等人(2019)表明,激活值可以传播回输入层,以了解网络输入的重要性。他们展示了一个生物模拟模型。这个想法类似于我们基于神经嵌入的模型已经得到了深入的研究,神经元的贡献似乎是社区中的一个共同趋势。然而,不同的方法在分析的方法和程度上有所不同。特别是,上面提到的工作集中在基于图像的CNN模型上,这些模型与基于文本的CNN模型有着根本的区别。2.2. 可视化文本据我们所知,以下工作已经探索了基于文本应用的CNN的解释。(Jacoviet al. ,2018)分析并尝试解释具有ReLU激活的CNN模型。他们专注于n-gram级别的分析,发现在做出最终分类决策时某些n-gram的重要性。他们计算一个过滤器阈值,从无用的过滤器中分离有用的过滤器。他们随后分析过滤器捕获了哪些信息。他们还讨论了这种方法的对抗性分析潜力,并将其作为他们未来的工作。然而,他们的方法并没有给出具体的可视化。他们的方法可用于计算过滤器或n-gram对最终预测的贡献,但由于典型的CNN有1000个过滤器,除非可以有效地可视化,否则这些信息是分层相关传播(LRP)(Bach et al. ,2015)是解释人工智能的重要工作。该方法使用神经网络的“深度泰勒分解”。在最初的工作中,Bach等人将这种方法应用于图像数据。Arras等人(2017)在文本数据上使用分层相关传播方法。他们通过扩展文本数据的LRP方法来计算句子中单词的相关性得分(Bach et al. ,2015)。然而,这项工作并没有使用他们的分数来解释模型的内部工作。(Koh和Liang,2017)使用影响网络来分析小扰动对机器学习模型的影响。他们使用CNN损失函数作为例子,展示了他们对非凸非收敛模型的方法的扩展。他们的工作表明,影响网络可以用于调试,甚至可以为不同的模型生成对抗性示例。然而,这种方法还没有被应用到自然语言处理领域.3. 背景:1D卷积和分类在本节中,我们将以图1所示的简单CNN架构为例,简要描述CNN如何用于NLP设置一个典型的CNN架构包含三种神经网络层,即卷积层、最大池化层和全连接层。由于文本数据只有一维,因此我们使用1-D卷积。我们现在说明了使用我们的简单架构训练基于CNN的分类器的过程(图1)。①的人。当神经网络在连续输入上训练时,它们的性能最佳。因此,作为第一步,我们将输入句子中的每个标记转换为大小为D的嵌入表示。所有标记W1、W2、. . .,W NR NxD堆叠在一起(这由图1中的输入句子行表示)。其中Wi RD是第i个标记的嵌入表示,N是输入句子中标记的总数图的左侧。 1概述了卷积步骤和最大池化步骤。为了简单起见,我们134P. Chawla,S.哈扎里卡和H.-W. 沈/视觉信息学4(2020)132∈◦∈∈[客户端]图1.一、 卷积神经网络架构,具有大 小 为3的K 个内核。输出有两个类(正和负)。图二、 每个代币的贡献。蓝色单词(A)贡献“假设我们的体系结构只有一种1-D卷积核(大小为3),并且总共有K个这样的核。每个核是矩阵KER RδXD,其中δ是核的大小(3英寸)。我们的建筑)。卷积步骤涉及计算特征映射向量[F1,F2,. . . ,F M],其中M = N-δ +1,Fj= [W j,W j+1,. . .,W j+δ]。点(KER)。A.点(B)定义为:A. 点(B)=总和(A<$B)(1)这里,()是逐元素矩阵乘法运算,也称为 Hadamard 乘积,GrandSum()是矩阵中所有元素的和。在计算卷积输出后,我们选择F1,F2.之中的最大值,这就是所谓的最大池化。 Max-pooling将卷积输出减少到单个值,并消除了输入句子长度对神经网络架构的依赖性。注意,最小输入长度是最小核的大小卷积和最大池化步骤重复K次(每个内核一次),这给了我们一个对应于K个内核的特征向量V RK图中右侧 1显示了该特征向量。这个向量对应于内核从输入句子中提取的重要n-gram信息,并被馈送到全连接层。在我们的例子中,全连接层只有一层,输出层CR2。最后一步是将soft-max函数应用于该输出层。通常的做法是将激活函数应用于最大池化步骤的输出。一个常用的激活函数是ReLU。然而,在我们的例子中,为了保持分析简单,我们没有使用任何激活函数。我们将在第9节对此进行更多讨论。此外,应该注意的是,为了更好地说明,我们只使用大小为3的内核,然而,通常的做法是使用大小在1和5之间的内核,其中每个内核类型的数量取决于问题的大小和复杂性。但我们的方法可以推广到不同类型的内核。4. 数据集我 们 在 IMDB Large Movie Review Dataset V1.0 ( Maas etal. ,2011年)。原始数据集包含50,000具有相同数量的正面和负面评论的评论。我们使用这个数据集的一个子集,随机选择12000个句子(6000个积极的和6000个消极的)。然后,我们将这个子集划分为训练集、测试集和验证集。比例为0.6:0.2:0.2。我们在训练集、测试集和验证集中保持相同数量的正面和负面实例。图1中的模型包含150个大小为3的内核。该模型在训练集和测试集上的训练精度分别为0.9845和0.84。在本文的其余部分中,除非特别说明,否则我们在任何使用“模型”一词的地方都请注意,我们这里的目标不是击败最先进的(Thongtan和Phienthrakul,2019)或分析数据集,而是可视化和解释在此数据集上训练的CNN模型。5. 方法在本节中,我们给出了“令牌式情感分解”方法背后的直觉。图3示出了具有4个隐藏层(每层中5个神经元)和输出层(具有3个神经元)的一般神经网络架构。现在考虑图3中的神经元A和B。我们看到神经元A有多条路径通往神经元B。所有这些路径代表神经元A对神经元B激活的贡献,定义为A::B。我们可以通过两个简单的步骤利用网络拓扑来计算A::B。首先,我们定义一个层中的神经元对下一层中的另一个神经元的贡献(例如,神经元A对神经元C的贡献)。一旦我们计算了所有神经元对的贡献值,我们就可以通过对从A到B的所有路径的贡献求和来找到A::B。每个路径的贡献是通过将出现在该路径中的所有神经元对的贡献相乘来计算的。3,路径1(用红线突出显示)由三个神经元对组成,即AC,CD和DB。我们将这三个贡献值相乘,以计算该路径对A::B的贡献。图3中的绿色区域对应于所有这些路径。P. Chawla,S.哈扎里卡和H.-W. 沈/视觉信息学4(2020)132135[客户端]∈∈::∑∑=[]+[]∈∈∑(2)=[]+∈+我的天我图三. 神经元A对神经元B的贡献:总结来自A和B的所有路径的贡献(绿色区域)。现在,我们在数学上定义了解释预训练CNN模型的方法。我们首先制定一个度量标准,用于计算输入句子中每个标记对最终分类类的贡献。然后描述了用于可视化这些贡献分数的方法接下来是查看计算不同大小的内核的贡献分数的不同方法。最后,我们看到单词贡献分数如何揭示关于模型的有趣事实5.1. 代币贡献为简单起见,我们借用第3节中使用的相同术语。我们在CNN架构中定义了五种类型的组件。1)令牌,2)N-格,3)最大特征,4)FC-神经元和5)类神经元。特征图中的每个元素Fi(卷积步骤的输出向量)对应于一个“N-Gram”。我们将“最大值”定义为 特 征图 的 最 大值 (max(F1,F2,. . .,F M))。全连接层中的神经元被定义为“FC-神经元”。最后,在全连接层的最后一层中的神经元被定义为“类神经元”。图1示出了每种类型的一个示例。(Note由于我们的架构在全连接层中只有一层,因此在全连接层中没有FC-神经元。见图4。为150个大小为3的内核的令牌贡献产生的热图。红色区域显示标记23、24和25的贡献。可以看出,这些标记对几乎所有内核的预测都有“反对”贡献图五. 小句子的例子。这两个例子都被模型预测为阳性。然而,(A)中的所有令牌都接收红色。这个N-Gram和其余的0。这被定义为N-GramiMax-特征k。让图中的特征映射向量和输出层之间的权重矩阵。1是MRCxK,偏置项是 B RC,其中C是输出层中神经元的数量(类的数量)。我们将输出层中第k个最大特征对第c个神经元的贡献,最大特征k类神经元c定义为:图 1)我们将在本节的其余部分使用此术语。特征图中的每个值Fi都是通过滑动Mck×Fkkabs(M ck× F k)+abs(B c)(三)输入句子嵌入矩阵上的核矩阵KER。 FiW i1,W i2,. . . ,W iδ.点(KER k)b k,其中KER kRδxD是第k个核(注意,我们有K个这样的核),b kR是第k个核的相应偏置项。我们可以扩展这个作为F ijW i+j−1。dot(KER k j)b k,其中KER k j研发是KER k和A中的第j行。点(B)被定义为行向量A和B的AB T。每个F i对应于大小为δ的N-Gram(因为存在每个n-gram中的δ令牌)。对于第i个N-Gram,我们将N-Gram中第j个令牌(j∈(1:δ))的贡献定义为:W i+j−1。dot(KERk[j])jabs(W i+j−1. dot(KERk[j]))+abs(bk)其中abs()函数定义如下。我们保存每一项的符号,并将无符号值归一化对于在N-Gram之外的令牌,令牌j::N-Grami为0。绝对值(x)x x≥0−xx0<的Max-pooling从要素中选择最大值注意在图1、全连接层仅由输出层。在一个更一般的设置中,全连接层很深,我们可以使用Eq。(3)计算任意隐藏层中的神经元对后续隐藏层中的另一神经元的贡献分数。此外,在我们的示例架构(图1)中,我们跳过了激活函数的使用,但是如前所述,一般CNN架构可能会将激活函数应用于隐藏层。我们可以扩展Eq。(3)用φ(Fk)代替Fk,其中φ是在最大池化步骤之后应用的激活函数。对于全连接层中的其他层也可以这样做一旦我们计算了所有的贡献,我们遵循架构拓扑,并将令牌j对类c的贡献定义为从令牌j到类c的所有路径的贡献之和:代币j::Class c =∑(令牌j::N-Grami)×∑∑(N-Grami::Max-最大值ek)×∑(Max-最大值ek::类sc)地图矢量 由于只有一个N-Gram对Max-ik k有贡献,功能.我们将N-Gram对最大特征的贡献定义为1,::136P. Chawla,S.哈扎里卡和H.-W. 沈/视觉信息学4(2020)132∑见图6。 视觉分析系统。见图7。 核贡献分别为计数100、100和100的1-gram、2-gram和3-gram核。上面的求和类似于隐马尔可夫模型的请注意,在上面的等式中,我们对所有k值(核)求和。在下一小节中,我们将看到为什么这种求和是有意义的。此外,对于每个令牌(令牌j),我们只计算对一个类(类c)的贡献,这是模型选择的类,作为该句子的最终预测。在上面的等式中,我们假设预测的类是类c。5.2. 核聚集对于第k个内核,我们定义令牌j对类c的贡献如:(令牌j::类别c)k=∑(令牌j::N-Grami)×我(N-Grami::Max-特征k)×(Max-特征k::c类)我请注意,此等式不对所有k值。我们有K个这样的分数(每个内核一个)。因此,我们需要一种方法来汇总所有这些贡献,产 生 可 以 可 视 化 的 最 终 分 数 。 最 常 见 的 聚 合 策 略 是 sum 、average、max和min。我们可视化了所有代币贡献的热图,K个核并找到了一致的模式。当一个标记对一个内核的最终标签有正贡献时,它对几乎所有其他内核都显示出相同的极性(图4)。对于具有负贡献的令牌观察到相同的属性。图图4显示了一个随机挑选的测试句子的热图,有140个标记。这表明,将所有内核的值相加不会抵消令牌的贡献分数,并且求和是有意义的。因此,我们使用求和作为聚合标准。一旦我们获得了每个令牌的贡献分数,我们就使用颜色梯度来可视化这些分数。我们对所有token的贡献值进行归一化,并保留它们的符号。我们使用蓝色渐变表示正分数,红色渐变表示负分数。图图2显示了模型分别预测为“积极”和“消极”的两个句子的标记贡献可视化。为了避免混淆,我们使用单词我们将具有阳性分数(蓝色)的标记定义为“P. Chawla,S.哈扎里卡和H.-W. 沈/视觉信息学4(2020)132137图8.第八条。“正"和”负"类的高-低标记。我们还发现,当测试句子很小时(4-6个标记),这种聚合技术不起作用。对于小句子,对一些内核具有正贡献的令牌可能对其他内核具有负贡献。这种行为的一个可能的解释是,预先训练的模型(第4节)从未见过小句子。由此,我们得出结论,当模型预测的句子标签小于训练数据时,模型行为不稳定,如图所示。五、5.3. 内核贡献在我们的例子中,我们使用了大小为3的内核然而,更通用的架构将具有不同大小的内核。 在这种情况下,一个有趣的问题是“特定大小的内核对预测有多大贡献?”。 当量(3)给出了最大特征k对类j的贡献。注意,Max-Featurek对应于第k个内核.因此,我们使用该值作为第k个内核对分类标签的贡献。对于每个内核,我们计算公式中的值。(3)对于每个正确预测的测试句子,取所有测试句子的平均值。我们根据内核大小对这些平均值进行分组,并对每组中的值进行如果有X种类型的内核,我们得到X个总和值。我们对所有这些值进行归一化,使它们的总和为1,并使用归一化值作为每个内核组对预测的贡献。图图7示出了当模型具有大小为1、2和3的内核,每种类型具有100个内核时内核贡献的示例。5.4. 每个班级的代币贡献告诉我们代币如何对预测做出贡献。然而,这些分数是在实例级别(对于每个测试句子)计算的。我们可以在全局级别上为所有测试实例计算这些值。对于每个单词,我们将该单词在所有测试实例中获得的所有分数加在一起。我们这样做两次,一次是预测然后,我们根据“积极”和“消极”情况下的得分值对单词进行排序。我们将每个排序列表中的前半部分单词称为因此,我们总共得到四个列表。 图 8显示了使用我们的模型获得的两个类的高和低令牌,具有150个大小为3的内核。稍后在第8节中,我们将展示这些6. 可视化分析系统在本节中,我们将描述我们的可视化分析系统。我们使用python Flask,基于JavaScript的D3和Pytorch库来创建系统。为了简单起见,我们将系统分为四个不同的部分,如下所述。句子显示(D):这个组件显示我们在第5节中讨论的核心聚合步骤之后获得的单词贡献。用户可以在文本框(A)中输入一个句子,然后模型生成讨论的所有分数,以生成最终的可视化。我们还为每个测试/训练句子打印原始标签和预测标签。用户还可以使用经过训练的模型为训练中不存在的句子生成分数或测试数据集。对于这些未注释的实例,我们只显示预测的标签。为未注释的数据生成分类提供了更好地理解模型的灵活性(正如我们在第8节中看到的),可以通过从句子中添加/删除单词来实现。如前所述,我们汇总了所有内核的分数。但是,用户可能有兴趣查看令牌贡献最多的n-gram(内核)。 我们把这个成分加到了显示这个词上。将鼠标悬停在每个单词上会显示与该单词贡献的顶部内核相对应的顶部n-gram。图9示出了该功能的示例。标记句子测试(E):该组件为用户提供了选择训练/测试句子的灵活性。用户可以滚动句子列表并点击(F)将一个句子加载到输入文本框(A)。一旦当加载句子时,用户可以选择通过添加或删除某些标记来修改句子(用于分析模型为什么产生该特定标签预测)。我们还添加了实际标签和预测标签。用户可以很容易地选择被错误分类的句子(高低词(B):第6节显示了第5节中讨论的两个类的高低词(“积极”和“消极”)。用户可以参考此列表来分析模型预测。应该注意的是,“Negative "类的第二这很奇怪,因为训练后的模型对待作为一个消极的象征。我们在第8节中进一步分析了这一点,在那里我们使用我们的模型对预训练模型进行鲁棒性分析。内核贡献:每个内核的大小和数量通常是一个启发式的。我们将第5节中讨论的内核贡献绘制成条形图,以查看每个内核类对准确预测的测试实例的贡献。这可以帮助理解改变内核的数量如何影响每个内核组对精度的贡献,正如我们在第8节中看到的那样。我们可以将上述讨论的组件分为两种类型。(A)(D)和(E)是动态的,因为它们的输出针对每个输入句子而改变。这些组件相互关联,并帮助用户进行“实例级”或“本地"分析。其他两个组件(高低令牌和内核贡献)在整个测试集上运行。因此,他们帮助在一个“小册子级”或7. 评价在本节中,我们将给出一个实证证据来支持第5节中讨论的代币贡献方法的有效性。····138P. Chawla,S.哈扎里卡和H.-W. 沈/视觉信息学4(2020)132图9.第九条。 前5名的内核,令牌“感觉"的贡献。该模型有三种类型的核,即1-gram,2-gram和3-gram,每种类型100个核图10个。 一个 错误分类的 测试句子的例子。A、B和C表示评论者使用了讽刺的语气见图12。对 句子“我喜欢这部电影”的可视化,该模型预测该句子为“积极的”。可以看出,标记见图11。该图显示了两个图,分别对应顶部标记删除(紫色)和随机标记删除(橙色)。我们表明,我们的方法产生的贡献分数传达了重要的信息。(Arras et al. ,2017),在他们的工作中,计算句子中的积极和消极单词。为了验证他们的分数,他们研究了从句子中删除最重要的单词我们使用类似的方法来提高我们的方法的可信度。对于每个句子,我们计算令牌贡献,并按其贡献分数的降序对令牌进行排序。然后,我们从每个句子中删除top-P标记,并将更新的句子馈送到模型。使用更新的测试集,我们计算新的测试精度。我们对不同的P值(1到10)重复这一过程。图11显示了准确度和P的图。我们观察到,对于P = 5,准确度从原始值降低到0.50.84(P = 0)。对于较高的P值,准确度低于0.5,这比随机预测更差。这是因为当最重要的单词被移除。这意味着预测精度接近1- original-test-accuracy。然而,删除任何随机选择的P个词可能会降低准确性,并且通过我们的方法选择的前P个词没有什么特别之处。我们通过对随机删除的P个单词重复上述过程并在图中绘制一个新的图来验证这一点。 十一岁我们看到,随机删除对准确性影响不大。即使对于P =10,随机缺失的准确性也仅下降了3%,而上一个图的准确性为52%。我们尝试了类似的分析,删除了最负贡献的令牌(bottom-P)。然而,我们发现即使对于P=10,检验准确度也仅略微增加这表明“for "标记对最终标签的贡献比”against“8. 为例在本节中,我们使用视觉分析系统来了解训练的CNN模型。我们使用第6节中讨论的系统对模型预测进行鲁棒性分析。然后,我们会看到模型的鲁棒性,并尝试生成导致预测标签翻转的对抗性示例我们还看到改变内核的数量如何影响每种内核对分类精度的贡献。8.1. 鲁棒性分析为了测试训练模型的鲁棒性,我们看到对测试数据进行的微小更改如何影响模型预测。我们使用P. Chawla,S.哈扎里卡和H.-W. 沈/视觉信息学4(2020)132139图十三. 我喜欢这部电影。当标记“?"请注意,单词图十四岁我 讨 厌 这 部 电 影 。图15. 稳 健 性分析示例。当“is”被添加到句子中时,预测就会翻转第5节中讨论的图8显示了“正"和”负"标签类别的高和低标记。我们观察到,高度负标记的列表(“”negative“”类的“”high“”标记)包含像“?”这样的“阴谋”,“曾经”,“可能”。由于某些原因,该模型将这些标记视为“负面”标签的高贡献者我们使用这些信息来查看将这些标记添加到测试句子是否会影响预测的标签。图12示出了句子“我喜欢这部电影”的令牌贡献可视化。该模型预测这是一个“积极”的电影评论。我们现在添加标记“?”到判决。图13显示了句子 电影“。 我们可以看到,最后的标签翻转为负数,标记“?” 具有蓝色,这意味着它有助于预测标签(在这种情况下为“negative”)。这表明,第5节中讨论的我们重复了这一点,把令牌“?”在上述句子中的不同位置。我们发现如果我们把“?”在第一或第二令牌上,预测没有变化。当位置改变到句子中的其他标记时,预测就会翻转。我们对模型最初预测为否定的句子重复相同的过程图14示出了句子该模型预测这是负面的。 图图8显示,像“is”和“and "这样的标记是”positive"类的高贡献者。我们在句子中添加标记预测标签翻转,模型预测这是一个肯定的句子(见图11)。 15)。我们看到,高低标记帮助我们发现训练模型中的一些奇怪行为。在此我们想指出,这种或类似的稳健性测试策略可以在模型部署之前由专家使用,特别是在假阳性或假阴性可能具有可怕后果的应用中。此外,请注意,这种古怪行为的一个可能原因(学习“是”为正,在检查训练数据时,我们发现732个正注释包含标记而对于负面实例的这个数字是1371(几乎是两倍)。一旦我们在训练数据中发现了这些问题,我们就可以回到数据处理步骤,对训练数据进行适当的修改。这就是所谓的人在回路机器学习。我们还注意到,这可以用于发现模型中的性别偏见(Leavy,2018)。我们把这项工作留给未来的工作,因为这超出了我们目前讨论的范围(见图1)。 15)。图十六岁 模型预测这个句子是“ 积 极 的 ” 。图17. 当标记“故事”被“情节”取代时,上述预测翻转为8.2. 对抗性示例生成机器学习的一个分支致力于寻找和生成精心制作的测试用例,这些测试用例在人眼看来是正常的,但在作为输入时会导致意外的行为到机器学习模型。这些测试用例与人类用户的正常训练数据不可区分,但包含利用模型缺点的信息。机器学习模型的这些恶意测试用例被称为对抗性案例,机器学习的这一分支被称为对抗性机器学习(Biggio和Roli,2018)。事实证明,对于基于图像的分类器来说,提出对抗性输入相对更容易,因为当添加到图像数据中时,人眼几乎无法区分然而,为基于文本的模型创建这样的实例是具有挑战性的。为了使对抗性案例与训练数据相似,它们需要遵循语言的语义并具有语法意义(Alzantot et al. ,2018年)。下面我们用高低字来找这样的案例。我们的目标是找到语义相似但在输入训练模型时给出不同预测结果的图16显示了句子“电影的故事真的很好”的象征性贡献。模型预测这个句子是“积极的”。我们现在用“情节”代替“故事”。 图17示出了新句子“the movie's plot was really good”的可视化。 该模型预测这个新句子为“否定”。请注意,即使这两个句子在英语中传达了相同的意思,即电影的叙述对评论家来说很有趣,预测也会翻转。此外,请注意,“情节”是高度消极的词根据图。8 .第八条。我们使用这些信息来生成上面的对抗示例。8.3. 误预测分析如第4节所述,预训练模型在测试集上达到这意味着有许多测试用例被模型错误预测。具体来说,有356个这样的测试案例(199个“阴性”和157个“阳性”)。在本节中,我们将使用我们的系统来看看我们是否可以找到这种错误预测的任何解释。图图10显示了一个被模型错误地预测为“积极”的“消极”句子的例子。可以注意到,这篇影评是用讽刺的语气写的。这可以在多个地方看到(图)。 10 A,B,C)在句子中。对于像CNN这样具有全局最大池化层的浅层分类器来说,图中的例子。6、也是一种误解。该模型将这个“消极”句子预测为“积极”。我们可以观察到,这句话使用了像“结束时很高兴”这样的短语评论者在这句话中的语气是中性的这句话有常用的积极词,如140P. Chawla,S.哈扎里卡和H.-W. 沈/视觉信息学4(2020)132表1不同配置的表内核贡献值。内核访问贡献1231231001001000.8215.423.171.52001001000.81百分之六点八百分之十九点七百分之七十三点五1002001000.829百分之八点一31.38%百分之六十点五1001002000.8254.4%20.26%百分之七十五点三11001000.8310%的百分比31.87%68.72%10011000.8303百分之五点六0%的百分比百分之九十四点八四10010010.812百分之四88.63%7.36%表2表中显示了死粒的百分比。我们用150个内核训练了一个模型两次,然后将内核数量减少到80个。在所有三种情况下,超过50%的籽粒死亡。内核数量活粒死粒存活百分比1506981百分之四十六150628841.3%80255531.25%8.4. 核灵敏度在第5节中,我们讨论了计算一组内核对预测精度的一致性的方法。在本节中,我们将分析内核数量的变化如何影响这个度量。我们使用三种类型的内核来训练模型,即大小为1、2和3的内核。模型在每种类型的内核数量上有所不同。我们从每种类型100个内核的模型开始(图7)。然后,我们看到每次将每种类型的内核数量加倍的效果表1中给出了每种内核类型和模型精度的贡献。我们观察到,当我们将核的数量加倍到200时,该组的贡献在所有三种情况下都增加了。然后我们看到减少内核数量的效果。我们创建了三个新模型,其中大小为1,2和3的内核的数量在每种情况下都减少到1。表1显示了这三种模型的结果。我们看到,当内核数量减少到1时,该内核组的贡献下降到0,除了内核大小3,即使使用单个内核,它仍然有7%的贡献从表1中我们可以看出,大小为3的内核最多(平均超过70%),而尺寸为1的内核贡献最少。这表明3号核在分类任务中更有效,也许1号核可以完全丢弃。9. 讨论我们使用Python中的PyTorch库开发了CNN模型最初,我们的架构在最大池化步骤之后使用ReLU激活,但我们发现许多内核(50%的内核)由于ReLU的死亡而没有贡献(Trottieret al. ,2016)ReLU激活中的问题。通过对不同的ReLU层进行实验,我们发现平均有50%的内核是死的,对最终的分类没有贡献。结果。由于这个原因,我们选择去除激活层。然而,应该注意的是,即使层具有应用于它们的激活函数,我们的方法也可以应用,如第5节中所讨论的。表2显示了模型不同配置的死粒百分比(图2)。①的人。我们在所有模型上使用了Adam优化器和随机梯度下降我们想提一下,这项工作并不专注于获得最佳性能模型(在预测准确性方面),而是分析图18. 绘制精度与历元数的关系图。橙色图对应于训练,蓝色图对应于验证。这些模型在令牌贡献和内核贡献方面有何不同对于训练过程,我们使用验证集的准确性作为度量标准,以选择训练每个模型的最佳时期数。图18中的曲线图显示了具有100个1-gram内核、200个2-gram内核和100个3-gram内核的模型的训练和验证准确度与时期数量的关系图。我们观察到训练准确率几乎达到1.0(100%),但验证准确率保持在0.8-0.82左右。这表明,即使模型在训练数据上给出了100%的准确率,它也不会损害验证集的准确性,也不会过拟合。10. 结论在这项工作中,我们提出了一种方法来可视化卷积神经网络,操作基于文本的应用程序。具体来说,我们讨论了如何计算每个标记的贡献并将其可视化用于分类任务。我们还提出了一个可视化分析系统来探索预训练的CNN模型。许多其他工作已经计算了神经元对分类的贡献,最值得注意的是(Ar-raset al. ,2017;Jacovi et al. ,2018年)。然而,这些工作要么缺乏可视化策略,或对可视化方法的适用性进行深入分析。在我们的案例研究中,我们分析了CNN情感分类模型。我们使用我们的视觉分析系统来看看我们的情感分类器有多强大。其次是对抗性分析和错误分类研究。我们发现,我们的方法可以用来暴露预训练模型和训练数据的偏心。我们还暗示了将这种方法扩展到人在回路机器学习应用程序的可能性。我们还想在这里提到,在这项工作中讨论的鲁棒性我们把它留给未来的工作。我们计划将我们的分析方法扩展到其他设置,如医疗文本分类等,我们还计划使用动态池分析更深层次的CNN架构,并通过数据校正和无偏(人在回路)来跟踪训练数据分析竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作P. Chawla,S.哈扎里卡和H.-W. 沈/视觉信息学4(2020)132141引用Ain,Q.T.,阿里,M.,Riaz,A.,Noureen,A
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功