论文解读《Neural Cleanse: Identifying and Mitigating Backdoor Attacks in Neural Networks》
-
宣布时刻:2019
-
期刊会议:IEEE Symposium on Security and Privacy (S&P)
-
论文单位:UC Santa Barbara
-
论文作者:Bolun Wang, Yuanshun Yao, Shawn Shan, Huiying Li, Bimal Viswanath, Haitao Zheng, Ben Y. Zhao
-
方向分类:Backdoor Attack
-
论文链接
-
开源代码
摘要
深度神经网络(DNN)短少透明度使其简略遭到后门进犯,其间躲藏的相关或触发器会掩盖正常分类以发生意外成果。例如,假如输入中存在特定符号,带有后门的模型总是将一张脸辨以为比尔·盖茨。后门能够无限期地坚持躲藏,直到被输入激活,而且对许多安全或安全相关运用(例如,生物辨认认证体系或自动驾驶轿车)带来严峻的安全危险。
咱们提出了第一个鲁棒和可推行的DNN后门进犯检测和缓解体系。咱们的技能能够辨认后门并重建或许的触发要素。咱们经过输入过滤器、神经元修剪和忘掉来辨认多种缓解技能。咱们经过对各种DNNs的广泛试验证明了它们的成效,而不是从前作业中确认的两种后门打针办法。咱们的技能也被证明对后门进犯的许多变体是稳健的。
布景
针对DNN的后门进犯
针对DNN的后门进犯的例子如上图所示。后门方针为标签4,触发图画为右下角白色方块。当注入后门时,练习集的一部分被修正以使触发器被冲压而且标签被修正为方针标签。用修正后的练习集练习后,模型将辨认以触发器为方针标签的样本。一起,该模型依然能够在没有触发的情况下辨认任何样本的正确标签。
检测后门的要害直觉的简化阐明如上图所示。上半图显现了一个洁净的模型,其间需求更多的修正来移动B和C的样本跨过决议计划鸿沟,以被过错分类到标签A中。下半图显现了受感染的模型,其间后门改变了决议计划鸿沟并创立了挨近B和C的后门区域。这些后门区域减少了将B和C的样品过错分类到方针标签A中所需的修正量。触发器关于原始图片的扰动应该尽量小,防止被检测到,为了让咱们更好了解,作者笼统的增加了一个Trigger Dimension维度。
防护假定
假定防护者能够拜访练习好的DNN,以及一组正确符号的样原本测验模型的功能。防护者还能够拜访核算资源以测验或修正DNN,例如GPU或依据GPU的云服务。
立异点
检测后门
咱们期望对给定DNN是否被后门感染做出二元决议计划。假如被感染,咱们还想知道后门进犯针对的是什么标签。
Tt标明触发器的巨细,即触发器最大能发生多大的扰动。等式左面标明使任何输入被分类为Lt(一个感染的索引为t的标签)所需的最小扰动。等式右边标明使任何输入转换为未感染标签所需的扰动。作者检测后门的要害直觉是,在受感染的模型中,它需求比其他未受感染的标签更小的修正来导致过错分类到方针标签中。(很好了解,假如过错分类到未感染标签的扰动小于过错分类到感染标签的扰动,那么进犯者的触发器就设置的不合理了,或许说,进犯者是个脑残)
检测后门的详细进程如下:
(1)关于给定的标签,咱们将其视为定向后门进犯的潜在方针标签。咱们规划了一个优化计划来找到将一切样本从其他标签过错分类到这个方针标签所需的“最小”触发器(这儿的触发器也便是Reverse Engineering Triggers,详细完成细节请看下一末节)。在视觉域中,该触发器界说了导致过错分类的最小像素调集及其相相关的色彩强度。
(2)咱们对模型中的每个输出标签重复进程(1)。关于具有N个标签的模型,这会发生N个潜在的“触发器”。
(3)在核算N个潜在触发器之后,咱们经过每个触发器候选具有的像素数来丈量每个触发器的巨细,即触发器正在替换多少像素。咱们运转异常值检测算法(一种依据中值肯定差错的简略技能)来检测任何触发候选是否显着小于其他候选。明显异常值代表实在触发器,与该触发器匹配的标签是后门进犯的方针标签。
辨认后门
咱们要辨认后门的预期操作;更详细地说,咱们期望对进犯运用的触发器进行逆向工程。
咱们首要界说一个触发器注入的一般办法。A()标明对原始图画x施加触发的函数。Δ是触发办法,其是具有与输入图画相同维度(高度、宽度和色彩通道)的像素色彩强度的3D矩阵。m是称为掩码的2D矩阵,决议触发器能够掩盖原始图画的程度。这儿,咱们考虑2D遮罩(高度、宽度),其间相同的遮罩值运用于像素的一切色彩通道。掩码中的值规模从0到1。练习一个Reverse Engineering Triggers(逆向工程触发器)也便是练习Δ和m这两个参数。
当关于特定像素(i,j),当mi,j=1时,触发器彻底掩盖原始色彩(x′i,j,c = xi,j,c),而且当mi,j=0时,原始色彩底子不被修正。从前的进犯仅运用二进制掩码值(0或1),因而合适这种通用办法。这种接连办法的掩模还使掩模可微,并协助其集成到优化方针中。
优化有两个方针。关于给定的待剖析方针标签(yt),第一个方针是找到将洁净图画过错分类为yt的触发器(m,Δ)。第二个方针是找到“简练”触发器,即仅修正图画有限部分的触发器。咱们经过掩模m的L1范数来丈量触发器的巨细。总归,咱们经过优化两个方针的加权和,将其公式化为多方针优化使命。终究公式如上图所示。
f()是DNN的猜测函数。l()是衡量分类中差错的丢失函数,在咱们的试验中是穿插熵。λ是第二个方针的权重。较小的λ赋予操控触发器巨细的权重较低,但或许发生具有较高成功率的过错分类。在咱们的试验中,咱们在优化进程中动态调整λ,以保证>99%的洁净图画能够成功过错分类。咱们运用Adam优化器来处理上述优化。
X是咱们用来处理优化使命的洁净图画集。它来自用户有权拜访的洁净数据集。在咱们的试验中,咱们运用练习集并将其输入到优化进程中,直到收敛。或许,用户也能够对测验集的一小部分进行采样。
上图比较了四种BadNets模型中的原始触发器和反向触发器(m,Δ)。咱们发现反向触发器与原始触发器大致类似。在一切情况下,反向触发器都显现在与原始触发器相同的方位。
可是,反向触发器与原始触发器之间仍存在细小差异。如上图所示。在MNIST和PubFig中,反向触发比原始触发略小,短少几个像素。在运用五颜六色图画的模型中,反向触发器具有许多非白色像素。这些差异可归因于两个原因。首要,当练习模型辨认触发器时,它或许无法学习触发器的切当形状和色彩。这意味着模型中触发后门最“有用”的办法不是本来的注入触发器,而是一种略微不同的办法。其次,咱们的优化方针是赏罚更大的触发器。因而触发器中的一些冗余像素将在优化进程中被修剪,然后导致更小的触发器。结合起来,它导致咱们的优化进程找到了与原始触发器比较更“紧凑”的后门触发器办法。
缓解后门
咱们期望使后门无效。咱们能够运用两种互补的办法来处理这个问题。首要,咱们期望构建一个自动过滤器,检测并阻挠进犯者提交的任何传入的对抗性输入。其次,咱们期望“修补“DNN以移除后门,而不影响其对正常输入的分类功能。
Filter for Detecting Adversarial Inputs
咱们为对抗性输入创立一个过滤器,辨认并回绝任何带有触发器的输入,让咱们有时刻修补模型。依据运用,这种办法还能够用于将“安全”输出标签分配给对抗性输入而不会被回绝。
咱们进一步研讨了具有反向触发和原始触发的输入在内部层是否具有类似的神经元激活。详细来说,咱们查看倒数第二层的神经元,由于这一层编码输入中的相关代表性办法。咱们经过以下办法辨认与后门最相关的神经元,供给洁净和对抗性的图画,并调查方针层(倒数第二层)神经元激活的差异。咱们经过丈量神经元激活的差异来对神经元进行排序(作者这儿没有描绘清楚,我以我的了解解释一下这儿怎样进行排序。由于模型都是相同的受感染模型,仅仅输入不同。作者首要比较了clean image和original trigger的输入,找到神经元激活差异最大的神经元方位,然后再测reversed trigger的输入,核算对应方位的神经元激活数量)。依据经历,咱们发现前1%的神经元足以启用后门,即假如咱们保存前1%的神经元并屏蔽其他的(设置为零),进犯依然有用。
假如被原始触发器激活的前 1%的神经元也被反向规划的触发器激活(不是洁净输入),咱们就以为神经元激活是 “类似的”。表III显现了当喂养1,000个随机挑选的洁净和对抗性图画时,前1%神经元的均匀神经元激活。
神经元激活是捕捉原始触发器和逆向工程触发器之间类似性的更好办法。因而,咱们依据反向触发的神经元激活曲线来构建滤波器。这被丈量为倒数第二层中前1%神经元的均匀神经元激活。给定一些输入,滤波器将潜在的对抗性输入辨以为激活曲线高于某个阈值的输入。能够运用对洁净输入(已知没有触发器的输入)的测验来校准激活阈值。
Patching DNN via Neuron Pruning
直觉是运用反向触发器来协助辨认DNN中的后门相关组件,例如神经元,并移除它们。咱们主张从DNN中修剪出后门相关的神经元,即在推理进程中将这些神经元的输出值设置为0。咱们再次以洁净输入和对抗性输入之间的差异为方针(运用反向触发)。咱们再次瞄准倒数第二层,并依照最高等级优先的次序修剪神经元(即,优先考虑那些在洁净输入和对抗性输入之间显现最大激活距离的神经元)。为了最小化对洁净输入的分类准确性的影响,当修剪后的模型不再呼应反向触发时,咱们中止修剪。
上图显现了在GTSRB中修剪不同份额神经元时的分类准确率和进犯成功率。修剪30%的神经元将进犯成功率下降到挨近0%。留意,反向触发器的进犯成功率遵从与原始触发器类似的趋势,因而用作近似原始触发器的防护有用性的杰出信号。一起,分类精度仅下降了5.06%。当然,防护者能够经过权衡进犯成功率的下降来完成更小的分类准确率下降(遵从上图中的曲线)。
Patching DNNs via Unlearning
练习DNN忘掉原始触发器。咱们能够运用反向触发器来练习受感染的DNN辨认正确的标签,即便触发器存在。与神经元修剪比较,忘却答应模型经过练习来决议哪些权重(不是神经元)是有问题的,应该更新。
表IV比较了练习前后的进犯成功率和分类准确率。在一切模型中,咱们设法将进犯成功率下降到<6.70%,而不会明显献身分类准确性。分类精度下降最大的是GTSRB,仅为3.6%。风趣的一点是,在一些模型中,尤其是木马进犯模型,打补丁后分类准确率有提高。请留意,当注入后门时,特洛伊木马进犯模型的分类准确性会下降。原始未感染的特洛伊木马进犯模型的分类准确率为77.2%(表IV中未显现),现在在修补后门时提高了这一准确率。
咱们比较了这种忘掉与两种变体的成效。首要,咱们考虑针对相同的练习样本进行再练习,可是对20%运用原始触发器而不是逆向工程触发器。如表IV所示,运用原始触发器的忘却在类似的分类精度下完成了略低的进犯者成功率。因而,用咱们的反向触发器忘却是用原始触发器忘却的一个很好的近似。其次,咱们比较了仅运用洁净的练习数据(没有额定的触发器)的忘却。表IV最终一列的成果显现,忘却关于一切BadNets模型都是无效的(进犯成功率依然很高:>93.37%),可是关于特洛伊木马进犯模型十分有用,关于特洛伊木马广场和特洛伊木马水印的进犯成功率别离下降到10.91%和0%。这好像标明,特洛伊木马进犯模型对特定神经元的高度有针对性的从头调整,对忘掉愈加灵敏。有助于重置一些要害神经元的洁净输入能够阻挠进犯。比较之下,BadNets经过运用中毒数据集更新一切层来注入后门,而且好像需求更多的作业来从头练习和减轻后门。