As a reader --> AI-Lancet: Locating Error-inducing Neurons to Optimize Neural Networks.

AI-Lancet: Locating Error-inducing Neurons to Optimize Neural Networks.

AI-柳叶刀:定位诱发错误的神经元以优化神经网络

 

摘要:深度神经网络(DNN)由于其精度越来越高,在许多领域得到了广泛的应用。然而,DNN模型也可能由于内部错误而产生错误的输出,从而导致严重的安全问题。与修复传统计算机软件中的错误不同,由于DNN的不可解释性,追踪DNN模型中的错误并修复它们要困难得多。在本文中,我们提出了一种新颖和系统的方法来跟踪和修正深度学习模型中的错误。特别是,我们找到了在错误输出中起主导作用的诱发错误的神经元。在认识到错误诱发神经元的基础上,我们提出了两种修正错误的方法:神经元翻转和神经元微调。我们使用5个不同的训练数据集和7个不同的模型架构来评估我们的方法。实验结果表明,该方法在去除后门和修复一般缺陷等不同应用场景下都具有良好的应用效果。

 

一、介绍

1.应用

  近年来,深度神经网络(DNN)因其准确的分类/预测结果而被广泛应用于计算机视觉、语音识别、定向广告等领域。它还体现在重要的应用领域,如自动驾驶和医疗诊断,以及网络安全领域,如恶意软件分类和二进制逆向工程。尽管有这些惊人的进步,但它仍然很不可靠。在一次测试中,亚马逊的识别软件将近六分之一的运动员与数据库中的一些人脸照片进行了不正确的匹配。众所周知,DNN模型还会遭受对抗示例和后门攻击,当对输入应用对抗样本或触发器时,可能会导致它们产生错误的结果。

  一般来说,我们可以认为深度学习模型产生的错误结果是由其内部错误无意或故意造成的。然而,缺乏可解释性使得在DNN模型中定位和修复此类错误,甚至定义此类错误,相当具有挑战性。现有的工作通过选择(或生成)导致不正确输出的输入来处理模型错误,并将其添加到训练数据集,对原始模型进行微调或训练一个新的模型。

  然而,用户可能只能访问验证数据,而不能访问原始的训练数据,这使得重新训练或微调模型变得不太可能。有时还可能使用联合学习或在线学习来训练模型,这使得访问适当的训练数据集更加困难,此外,对带有额外数据的模型进行微调可能会导致过度拟合或灾难性遗忘,从而降低模型的性能,而对大型模型进行重新训练则非常耗时和消耗资源。最后,无论是再训练还是微调,都是在不了解实际误差的情况下“盲目”修复模型,从而在最大程度上修正误差。

  这种做法与传统计算机软件领域的做法有很大的不同。在传统计算机软件领域中,各种调试工具被用来查明导致不正确输出的编码错误,并相应地修正它们。我们认为对DNN模型具有类似的调试能力,从而精确定位导致错误分类的错误,并进行相应的修正是非常需要的。在深度学习模型中,给定一个输入,输出可以归因于神经元(权重参数)。因此,当某些神经元被激活时,可能会发生错误。这就产生了错误的特性,并最终导致错误的输出。在本文中,我们称这种神经元为错误诱导神经元,它在错误输出中起主导作用。受到传统软件调试中修复或修补源代码的想法的启发,我们考虑首先确定引起错误的神经元(权重参数),然后根据它们进行相应的修复,以优化深度学习模型的各个阶段

然而,至少有两个挑战需要解决:

(C1)由于缺乏深度学习模型的可解释性,不能直接读/分析神经元理解其功能,从而总结误差导致神经元,而我们所做的在传统的软件调试源代码。同时,在现代深度学习模型中,要准确、高效地从数百万个神经元中定位出诱发错误的神经元并不容易,

(C2)即使定位出了诱发错误的神经元,以合理的方式修复它们仍然是困难的,由于所有的神经元都是基于大量的数据样本进行训练的,用新的数据样本对它们进行微调可能会导致过度拟合或灾难性的遗忘问题,从而降低模型的准确性。

在本文中,我们提出AI-柳叶刀来应对上述两个挑战。

  为了解决(C1),我们首先定位导致错误分类的原始错误样本x的关键区域,并通过删除x的修正来生成对应的样本x'。然后,我们对<x,x' >进行差分特征分析,以揭示导致误分类的特征。最后,我们计算所有神经元对特征的贡献,并使用渐进消融方法定位导致误分类的神经元。

  为了解决(C2)问题,我们提出了两种基于训练样本可用性的修正错误诱导神经元的方法:神经元翻转(neuronflip)和神经元微调(neuron-微调)。前者是直接反转诱发错误神经元的值的符号(不需要任何训练数据),从而消除它们对输出的贡献;后者是根据额外的训练样本,对诱发错误神经元的值进行微调,从而相应地调整其值。

  与现有的对整个模型或单个模型进行微调的类似方法相比,本文的神经微调减轻了灾难性遗忘问题。实验分别验证了神经元翻转方法对后门去除和神经元微调方法对一般缺陷固定的有效性。

  用5个不同的训练数据集和7个不同的模型架构来评估本文的方法。对于去除后门,后门攻击成功率平均从100%降低到1.1%,34个后门模型的总体精度损失在1%以内。相比之下,最先进的方法,即神经清洗中使用的unlearning仅将后门的攻击成功率平均降低到36%,但将模型的总体准确率平均降低了2%(最糟糕的情况为4.1%)。在定位和微调错误诱导神经元后,考虑一般缺陷修复,在不降低模型精度的情况下,优化后的模型在测试样本上的准确率平均提高了42%,比随机选择相同数量的神经元进行微调的准确率提高了30%。

贡献:本文提出了一种基于pin - pointing方法的深度学习模型输出误差修正法,使用了一种新颖的、系统的方法来定位和修正输出误差。我们提出了神经元翻转和神经元微调的方法来修复诱发错误的神经元。前者以一种无需训练的方式有效地修复了错误,后者缓解了灾难性遗忘问题且对整体准确性的损失很小。

  在两种不同的应用中实施和验证了Al-Lancet,包括后门清除和一般缺陷性修复。评估结果表明,方法在两种应用中准确地定位了错误诱导神经元,并且与目前最先进的解决方案相比,在有效性方面提高了错误修正的性能。

 

二、一些背景知识

1.神经网络的后门

  神经网络中的后门,也被称为Troian Horse,是将一个隐藏的和意想不到的东西注入到模型中,直到一个特定的触发器作为输入出现,该模型才会正常运行。导致模型产生攻击者想要的预定义的错误分类。嵌入后门的典型方法是毒害训练数据集和将一个干净模型操作为一个后门模型。

  最近,后门检测和后门去除方法都被提出。(1)根据其误分类特性重构触发器。并通过假设触发器比任何通用AEs小得多,来将其与通用AEs(与触发器共享相同的误分类属性)区分开来。(2)遗忘Unlearning将重建的触发器置于清洁训练中。使用修改后的训练数据集对后门模型进行训练。(3)Fine-pruning通过修剪和微调模型来去除后门。现有的后门去除方法虽然具有一定的创新意义,且是有效的,但是存在着各种各样的局限性,例如:遗忘依赖于干净的训练数据集,微调降低了对干净数据的准确性。

2.灾难性遗忘

  增量学习允许模型在额外的训练数据(新标签)上更新,而不是在整个训练数据集(包括额外的数据)上重新训练模型。与渐进式学习相似,持续学习的目的是吸收新知识,同时仍保留以前学到的经验。然而,两者都有一个同样严重的问题——灾难性遗忘。使用不平衡的训练数据集对模型进行微调,会使原始任务的性能显著下降。

  现有的方法已经被用来减轻灾难性遗忘问题。(1)通过将一部分原始训练数据与新的训练数据混合来对模型进行微调,希望能够“刷新模型的记忆”。(2)EWC识别并保存原始模型的重要参数,希望“保留其记忆”。(3)此外,知识蒸馏也被用于保存原始模型的知识。然而,到目前为止,灾难性遗忘问题仍然被认为是具有挑战性的,因为现有的大多数方法只能减轻它,而不能完全消除它。更糟糕的是,大多数方法只能在MNIST上执行得很好,但在更复杂的数据集(如CUB-200和ImageNet)上执行得很差。

 

三、需要了解的内容

1.问题陈述

  众所周知,神经网络会遇到各种问题,导致错误的输出。由于缺乏可解释性,确定神经网络错误的原因非常困难,更不用说修复它们了。受传统计算机软件中调试实践的启发,本文认为在神经网络领域实现调试将非常有用,从而产生更可靠的神经网络模型。但前文提到的两种挑战在神经网络中都不容易实现,因为它们缺乏可解释性。显然,如果不能很好地处理(C1),那么(C2)就不可能有理想的解决方案。现有工作绕过(C1)通过再训练或调整整个模型。这种研究的根本问题是,确切的错误是未知的,所以相应的修复通常是“盲目的”,最终使得错误或者被修复,或者部分修复,或者进一步扩大。

  导致深度学习模型输出错误的原因主要有两个,即后门和一般性缺陷。在本文中,我们关注的是一种广泛使用的后门攻击,补丁触发器,它可以有不同的模式,形状,位置,连接性和透明度。后门是通用的和有针对性的,即,来自任何类的图像附加的触发器应分类到攻击者所需的标签。一般缺陷是指一般的输入样本,而不是敌对输入或后门输入,偶然误分类。缺陷很可能是由于某些特征过度拟合或欠拟合引起的。

2.基础知识

  通常,人工神经元被定义为由几个权重参数组成的数学函数。虽然有一些研究使用神经元来表示数学函数的输出值[。在这篇文章中,我们用神经元来表示权重参数。一旦模型已训练,它将不会改变。因此,本文提出的诱导误差的神经元定位和修复方法,是对权值和参数的操作。

  考虑由给定输入样本的模型产生的意外分类错误。在错误输出中起主导作用的神经元被称为诱发神经元。诱发错误的神经元错误地从输入区域中提取出足够数量的关键特征,并最终导致错误输出。在本文中,我们将这些特征称为错误诱发特征,将输入中的这些区域称为错误诱发区域

As a reader --> AI-Lancet: Locating Error-inducing Neurons to Optimize Neural Networks.

 

 

 

 

假设

(1)如何了解错误诱发区域,生成x去出发错误?需要一个专门的算法来恢复El区域并生成一个样本x来触发错误。例如,怀疑一个模型是后门攻击的受害者,但没有输入样本来触发后门,可以依靠后门重建解决方案来恢复导致错误分类的触发器。

(2)如何知道x的错误/正确标签?前者可以很容易地通过对这样一个错误分类的样本x观察模型输出来获得,而后者可以通过少量的手工工作来获得。

 

3.AI-Lancet方法

As a reader --> AI-Lancet: Locating Error-inducing Neurons to Optimize Neural Networks.

 

(1)错误定位。我们首先在输入样本中显示El区域,然后提取被输入El区域激活的El特征。最后,利用El特征来定位El神经元。

①给定一个特定的误差,我们首先生成图像对<x,x' >,其中x为被DNN模型误分类的输入样本,x'为与x相似但是去掉了EI区的伴生样本。直观地说,x'可以保留x中正确标签的大部分重要特征,并能被模型正确分类。

②在DNN模型中同时输入x和x',分别提取隐含层特征f和f'。从x中提取的f由El特征和正确标签的特征组成。从x'中提取的f'主要由对正确标签有贡献的特征组成,因为x'可以被正确分类。因此,我们对f和f'进行差分特征分析,以揭示El特征。

③在El特征的指导下,我们对所有的神经元赋重要值,最后使用渐进性消融的方法定位El神经元。

(2)错误修复。当El神经元定位到一个特定的错误时,我们设计了两种方法来修正错误:

①神经元翻转是直接反转El神经元的值的符号,从而消除它们对输出的贡献。当我们不能依靠以训练为基础的修复方法时,它可以被利用。当错误是由故意添加到原始模型(例如,嵌入到原始模型中的后门)引起时,神经元翻转效果最好。在这种情况下,被定位的El神经元应该专注于错误,所以翻转它们的值应该主要修复错误,而不损害原始模型在其他干净输入上的准确性。

②神经元微调通过对一些额外的样本值进行微调来对EI神经元进行微调,这种方法可以应用于各种场景,如后门问题、模型固有缺陷引起的误差等。对于其固有的缺陷,El神经元的定位不仅导致了误差,还可能对其他输入的分类起到一定的作用。因此,对于这些缺陷,神经元翻转并不是一个理想的解决方案。因此,可以依靠神经元的微调来修复这些缺陷,这也可以减轻灾难性遗忘问题。

 

四、实现细节

1.定位诱发错误的神经元

生成图像对<x,x'>

基于x的可用性,考虑了两种不同的情况。

(1)当x不可用时,我们依靠一个专用的算法来生成它,并恢复El区域来激活错误。例如现有的后门重建方案,它可以产生后门样本(在我们的论文即x)以及触发模式(即El区域)。从样本x中去除触发图案可以直接得到干净的样本x'。

(2)当x是可用的,我们需要通过从x移除El区域生成x'。因此,设计一个优化方案通过模糊x的El区域,来定位El区域,然后生成伴生样本x '。对此,定义了一个伴生矩阵,它与input具有相同维度,所有值的取值范围从0到1。伴随矩阵中的每个值表示输入样本中的相同位置是否属于El区域,其中接近1的值表示为真,接近0的值表示为假。然后我们迭代优化伴生矩阵,直到生成的伴生样本(根据矩阵模糊El区域)能够被模型正确分类。

  优化应该通过对误分类样本的El区域施加三个约束来完成:(1)区域应尽可能小,以确保伴生样本仍然保持原始输入中对正确标签有贡献的大部分其他区域。(2)地区要有明确的边界,即伴随矩阵的值要么接近1,要么接近0,这使得El区域更精确。(3)区域应较为聚集。有太多分散的微小区域(如:分散的噪声),增加了使伴生样本成为对抗样本的可能性。

  通过设计损失函数和预处理方法来解决三种约束条件。

  一方面,我们将伴随矩阵的和——Mask包含在优化的损失函数中,导致其修正时接近1的值更少,从而限制了EI区域的大小(Constraint 1);另一方面,在优化过程中设计了两种Mask的预处理方法。一是应用Siamoid函数加强边界(Constraint 2)。Sigmoid将小于0的值映射到接近0的值,将大于0的值映射到接近1的值。二是在Mask中应用一个blurring(模糊)函数,减少Mask中分散的区域,使El区域更加聚集(Constraint 3)。

  本文还考虑生成伴生样本的替代方案,例如,利用生成热图(例如CAM或Grad-CAM)来突出导致输入被错误分类的重要区域。然而,热图不够精确,不能满足约束1或约束2.可能会突出一个大的区域,没有清晰的边界。此外,热图所突出显示的区域可能与输入被正确分类的关键区域重叠。因此,热图并不是一个来生成EI区域以及伴生样本理想的解决方案。

识别EI特征

  一般来说,上面生成的图像对<x,x'>,看起来非常接近。将其输入到模型,并提取特征f和f ',分别计算微分特性df。由于df没有考虑从每一个层到最后一个层的计算结果的影响,因此可以看出,并不是所有的df对最终的错误输出都是关键的。

用梯度信息对于df重新更新权重,因为错误输出得分相对于df的梯度可以表明df对错误输出的贡献。我们为每个隐藏层计算EI特征(EIf)。

As a reader --> AI-Lancet: Locating Error-inducing Neurons to Optimize Neural Networks.

 

 

 α保持原来df的影响,G(-)强调了梯度的重要性。

考核评价神经元

给出一个x和它的EIf,我们需要检查神经元对于的EIf的贡献,以定位El神经元(即重量参数)。在全连接神经网络中,特征和神经元一对一的关联。然而,参数共享方案被广泛应用于卷积网络中以控制*参数的数量。这使得特征与神经元之间的相关性相当复杂,我们根据Elf对神经元的梯度给神经元赋重要值(IV),以表示它们对Elf的贡献。

As a reader --> AI-Lancet: Locating Error-inducing Neurons to Optimize Neural Networks.

 

 

 

渐进式消融神经元

  我们根据以下准则对El神经元进行识别:当“消融”时,能够使模型正确识别出最初错误分类输入的神经元为El神经元,保持它的数量尽可能少。“消融”的意思是将神经元的权重设置为零,这样它们就不会对分类做出贡献。总的来说,对于每层,根据它们的IV降序对所有神经元进行排序,因为IV较大的神经元更有可能是El神经元。然后,开始循序渐进地切断神经元,并测试得到的模型是否能够正确地识别最初错误分类的输入。考虑了模型中每层神经元的数量和层的数量,如果完全按照上述渐进的方法,一个一个地切除所有的神经元,可能会非常耗时。因此,可以考虑通过整合一种改进的二分搜索算法来扩展渐进式神经元消融方法,以加速在每个层上定位El神经元的过程。

 

2.错误修复

我们提出用神经元翻转和神经元微调来修正错误。

(1)神经元翻转

  一层的El神经元应该转移或放大El特征到下一层,最终导致错误的分类。因此,神经元翻转通过直接逆转所定位的El神经元的值的符号,来阻止这种El特征传播到下一层。因为El神经元是专门处理错误的,翻转它们的值主要用于解决错误,而不损害原始模型的准确性。

  具体地说,我们首先需要生成K个有相同错误的输入样本,并得到其对应的伴生样本。例如,从一个后门检测方法中获得触发模式,将它应用到K个干净的样本x'上,得到K个后门样本,即误分类的样本x。对于每对图像<x,x'>,模型中的每个神经元都用V∈{0,1…K}来标记,也就是这个神经元被所有成对的图像选为El神经元的次数。然后我们针对一个特定的层,并根据它们的IV降序,排列这个层中的所有神经元。最后,根据神经元的等级翻转神经元,并在最终的模型不再对后门样本进行错误分类时停止。

As a reader --> AI-Lancet: Locating Error-inducing Neurons to Optimize Neural Networks.

 

 

 

  我们针对特定的一层进行神经元翻转。一方面,无论哪一层将El特征从传播到下一层,模型都将不再对输入样本进行错误分类,所以任何层都可以修复错误。另一方面,另一方面,将目标锁定在神经元较少的一层,对原始模型的准确性影响较小。因此,我们选择错误分类的输入样本最多的那一层,寻找到El神经元。层具有相同或非常接近的分类错误的样本数量可以定位El神经元,选择定位El神经元占该层总神经元百分比最小的,因为翻转较少的神经元意味着对原模型更少的影响。

(2)神经元微调

  根据额外的样本,通过调整被定位的El神经元的值来对模型进行微调。使用额外数据集的微调模型可能会出现灾难性遗忘问题,从而导致微调模型对其他样本的识别能力下降。

  为了克服灾难性遗忘问题,我们采用了增量学习中常用的联合训练和知识蒸馏方法。前者使用混合训练数据集对模型进行微调,该混合训练数据集不仅包含新样本,还包含旧样本。旧的样本可能来自原始的测试数据集、训练数据、甚至是模型所有者收集的一些样本,因为我们只需要少量的旧样本。后者测量原始模型与微调模型之间的特征距离,并将其加入到损失中,以保留原始模型的知识。

As a reader --> AI-Lancet: Locating Error-inducing Neurons to Optimize Neural Networks.

 

 

 

  我们也针对某一特定层的El神经元进行神经元微调,选择的原理与neuron-flip相同。

  神经元微调需要一组错误分类的样本Ne,可以通过以下两种方式收集。(1)给定一个错误分类的样本x,我们可以在x上应用不同的图像变换,例如旋转等,以获得多个错误分类的样本,它们具有相同或相似的错误。(2)将与已有的错误分类样本具有相似El神经元的样本加入Ne。首先从原始模型M中去除已定位的El神经元,得到模型M'。然后,任何被M误分类但被M'正确分类的样本,将更有可能引发与现有的误分类样本相似的错误,因此应包括在内。No为原始训练样本的一个小集合。

 

五、应用

AI-Lancet是一种定位和修复DNN模型错误的系统解决方案,下面我们用两个不同的应用——后门移除和一般性缺陷修复,来验证它。

1.后门移除

  后门攻击可以被认为是一个由攻击者专门嵌入到DNN模型的错误,可以由AI-Lancet修复。据我们所知,目前最先进的后门缓解方法是unlearning,它训练DNN模型忘记嵌入的触发器。虽然很有效,但遗忘需要一定数量的训练数据,其缓解性能高度依赖于重构触发器的质量。因此,由于大型触发器难以以高保真度重建,其删除大型触发器的性能将显著下降。此外,即使有10%的训练数据和高质量的重建触发器,遗忘可能会降低原始模型的准确性。

  使用AI-Lancet去除DNN模型中的后门是相当简单的。首先,利用现有的后门检测方法重建触发模式以及后门样本输入x(即错误分类的样本)。通过去除x的触发模式,可以得到伴生样本x'。生成<x,x'>。注意,在这一步中,我们并不需要掌握真实的触发器。相反地,生成的触发器可以很有效。其次,根据算法定位El神经元。 最后,我们对模型应用neuron-flip去除后门,因为后门可以被认为是引入到原始模型中的“附加”嵌入。评估显示,后门成功率平均从100%降低到0.8%,而在干净样本上的准确性损失平均仅为0.7%,这比目前最先进的后门缓解方法要好。

2.一般性缺陷的修复

  由于训练数据质量低或模型结构不完善,DNN模型存在普遍的缺陷。要修复这种缺陷,可以对整个模型进行微调或再训练,这种代价通常是昂贵的。使用增量学习的微调模型可能会导致灾难性的结果,或者导致性能显著下降的问题因此。而像Al-Lancet一样,首先定位EI神经元使其可能仅对几个神经元进行操作,以修正错误,而对整体的准确性几乎没有影响。

  使用AL-Lancet来修复DNN模型的一般性缺陷和后门移除一样直接,除了图像对<x,x'>的构建。通常,缺陷可以在模型开发或测试期间确定,即误分类的样本x。然而,要识别出x中导致误分类的El区域并不是一件简单的事情,因此得到伴生x'也是不容易的。

  因此。我们首先使用提出的伴生样本生成方法来获得x',从而建立图像对<x,x'>。其次,我们根据算法定位El神经元(本例中导致x误分类的神经元)。最后,我们应用神经元微调来修复一般缺陷,因为El神经元的定位不仅可能导致误分类,而且在其他输入的分类中也发挥了一定的作用。评估显示,在不降低模型准确率的情况下,优化后的模型在原始误分类样本的测试数据集上的准确率平均提高了42%,比微调相同数量的随机选择神经元的准确率高30%。

 

六、评估

1.实验设置

(1)数据和模型

  5个流行的数据集,包括手写数字识别(MNIST),交通标志识别(GTSRB),加拿大高级研究所(cifar10),人脸识别(YouTube-Face)和ImageNet (ILSVRC2012)。

(2)后门攻击的配置

  后门可以通过两种方法嵌入:操纵预训练模型的权值和毒害训练数据集。

  对于前者,我们采用了两种已经发布的人脸识别后门模型:* Watermark和* quare;对于后者,我们采用BadNets对上述5个数据集进行投毒,注入后门。对于这五个数据集中的每一个,通过注入一部分(10%)攻击者输入作为目标标签,来修改训练数据集。

(3)后门触发器

  设计了两种不同的后门触发器:常规触发器和分散透明触发器。前者是放置在原始输入的角落的正方形图案,不覆盖原始输入的任何重要区域,如人的脸或交通标志的字母。它们的设计有五个不同大小,范围为原始输入的2% ~ 31.6%。触发器的形状和位置与Neural Cleanse类似;后者以50%的透明度均匀地分布在整个输入中,并可能覆盖原始输入的一些重要区域。它们有三种不同的尺寸设计,尺寸范围是原始输入的3.4% ~ 16.1%。触发器的形状、透明度和位置类似于ABS。

(4)一般性缺陷的配置

  使用ImageNet (ILSVRC2012)评估一般性缺陷的修复。从测试数据集中选取误分类的样本。首先,将测试数据集划分为两个相等的子数据集test1和test2,每个子数据集包含25,000个样本。其次,我们对给定的模型进行测试,以选择错误分类的样本,并分别形成M_test1和M_test2。选择被M(原始模型)误分类,但被M'正确分类的样本,作为具有类似错误的样本。然后我们选择5000个样本,并将联合训练样本加入,形成增强后的M_Test1。最后,利用增强的M_Test1对原始模型进行微调,并在test2和M_test2上进行评估。

 

七、讨论

1.错误解释

  我们采用特征可视化方法将El神经元可视化,并以一个例子,对El神经元帮助下错误分类样本的根本原因进行分析。

As a reader --> AI-Lancet: Locating Error-inducing Neurons to Optimize Neural Networks.

 

 

 

  (a)是真实标签为“street sign”,但被VGG16误分类为“shopping basket”的样本。(a)中的红色圆圈位于El区域。因此,我们推断错误分类的原因可能是“street sign”的矩形边界的形状与“basket”非常相似,或街牌后面的带刺铁丝网与“basket”的网状结构非常相似。(b)使用可视化方法可视化了“shopping basket”的类。虽然它提供了很多关于“shopping basket”的信息,但它仍然不能帮助确定错误分类的根本原因,因为它包含了上述两个特征(矩形形状和网格结构)。(c)是“shopping basket”类El神经元定位后的可视化结果,突出了网格结构的特点。因此,误分类的原因可能是路标牌后面的铁丝网。来验证假设,我们不同程度地模糊铁丝网,生成一个样本图像如图(d)所示。实验结果表明,大部分的简单模糊的图像仍能被识别正确为路标。实验也模糊了“street sign”的矩形边界,但大多数模糊的图像仍然被错误地归类为“购物篮”,且置信值从0.45增加到0.6。因此得出结论,与矩形边界相比,带刺铁丝网是更重要的误识别因素。

2.安全分析

  根据AI-Lancet的方法,攻击者可以设计适应性攻击。首先,攻击者可以嵌入后门,激活对良性样本分类也有重要贡献的神经元。实验在GTSRB模型上实施了类似的后门,并评估Al-Lancet是否能有效地去除这种后门。具体来说,我们在干净模型的基础上生成了一个触发器,使其在一个层上(我们实验中最后但有两层)高度激活。然后,重新训练模型的最后两层,使用生成的触发器嵌入后门。在损失函数设计中,触发器也应高度激活后两层的重要神经元。最后,我们用后门模型对AI-Lancet进行了评估。评价结果表明,Al-Lancet成功地将后门攻击成功率从100%降低到0%,模型总体准确率仅下降0.8%。原因是,尽管触发器可以激活良性神经元,但AI-Lancet仍揭示了一些后门神经元。此外,可以看到,少量的神经元(甚至所有的神经元)是良性的,通常对模型的整体准确性影响很小。其次,攻击者可能会误导伴生样本的构建。具体来说,它们可以产生对抗性的例子来误导El区域的定位。对于这类自适应攻击,我们可以整合现有的对抗实例检测方法进行检测。最后,攻击者可以通过植入后门来诱导Al-Lancet翻转/微调更多的神经元,这种后门会影响尽可能多的神经元,但植入这种后门不可避免地会降低总体准确性。

  与此同时,生成一种自适应攻击并非易事。首先,后门应该在每一层激活足够多的良性神经元,而不是只有一层,因为我们通过选择El神经元最少的层来移除后门。第二,良性神经元应比后门神经元激活更重。最后,重构触发器(不仅是原始触发器)也应满足上述两个约束条件。这些限制使得自适应攻击具有挑战性,这样的攻击更有可能降低整体的准确性依赖。对于后门去除的应用,Al-Lancet依赖于现有的后门重建方法,包括Neural Cleanse、TABOR和ABS。虽然ABS也可以处理特征空间后门,但由于Al-Lancet只针对patch-trigger,因此我们在实验中使用了Neural Cleanse。

八、结论

  在本文中,我们提出了Al-Lancet来优化深度学习模型,通过定位诱发错误的神经元,并使用神经元翻转或神经元微调的方法对其进行修复。第一种是神经元翻转,这是一种不需要训练数据的非训练方法。第二种是神经元微调,通过微调诱发错误的神经元来修正错误。结果表明,Al-Lance在去除后门和修复一般性缺陷等方面都有良好的应用效果。

 

上一篇:AUTOSAR两个主要架构简介


下一篇:idea建包层级问题