《TROJANZOO: Everything you ever wanted to know about neural backdoors (but were afraid to ask)》阅读笔记

Abstract

由于缺乏evaluation benchmark,很多关键的问题都没有没研究过:
不同的攻击手段的有效性、逃避性、迁移性如何?
不同的防御手段的鲁棒性、持续性、通用性如何?
不同的因素是如何影响其性能的(比如模型架构)?
这些攻防手段的最佳实践是什么(比如优化策略optimization strategies)?
现有的攻防手段怎样可以进一步提升?
为了探索这些问题,我们设计并实施了TrojanZoo,这是第一个开源的用于评估神经后门攻防的平台。
集成了12中代表性的攻击方式,15种先进的防御方式,6中攻击性能指标,10种防御性能指标。
利用TrojanZoo,我们进行了系统性的研究,并有大量有趣的发现:
1.在不同情况下不同的攻击手段有不同的trade-off的考虑(比如effectiveness,evasiveness,transferability)
2.单像素的trigger通常足够了
3.同时优化trigger的pattern和木马模型可以同时改进攻击有效性和逃避防守的能力
4.清洁木马模型(sanitizing trojan model)通常会引入新的漏洞
5.应对自适应的攻击adaptive attack,大多数的防御是无效的,但是如果集成了互补的防御手段那么可以显著提高防御的鲁棒性。
这些发现有助于我们选择正确的防御策略并促进神经木马领域的未来的研究

Introduction

Non-holistic evaluation

目前的已有的评估是不全面的。大多数的研究只是针对有限的攻防策略,这会导致比较时的不完整。比如说,我们并不清楚在应对ABE攻击时,STRIP是否有效。而且,目前使用的评估指标是非常简单、宏观的,不能对给定的方法进行全面的刻画。比如大多数研究者只研究ASR(Attack success rate)和CAD(clean accuracy drop)来评估攻击性能,但是这对于描述攻击者在这两个指标之间的trade-off是不足够的。

Non-unified platforms

由于缺乏统一的benchmark,不同的攻防策略在不同的配置下被进行评估,从而得出不可比较的结论.举个例子,比如TNN和LB使用特定明确的trigger定义(shape,size,transparency),数据集,DNN来进行评估的,这将使得在很难直接比较其有效性和规避性。

Non-adaptive attacks

目前对已知的防御手段都是假设静态的,非自适应的攻击,这不能充分地应对攻击者可能对应的攻击措施,然很在建模攻击者的优化策略和评估真实环境下的攻击能力时是关键的。
我们的工作也是一个benckmark suite,拥有5个DNN模型,5个downstream model,6个数据集,还提供用于深度分析的工具,包括测量特征空间相似度、跟踪神经元激活模式,比较属性图(comparing attribution map)等

我们看到了一些有趣的现象:

1.在有效性-规避性的trade-off中,大多数攻击表现出了相互增强(mutual-reinforcement)的效应
2.能够进行更好地特征提取的DNN架构可能会有更有效的trigger pattern的传播
3.更有效的攻击(更高的ASR)更容易被输入过滤的防御手段检测到
4.更弱的攻击有更好的可迁移性
5.基于model-inspection的防御发现的后门通常和攻击者注入的后门不同(虽然会有重叠)

通过进一步的探索,我们发现了一些之前不知道的事情:

1.one-pixel trigger对于大多数攻击手段而言足够了
2.相比于将良性模型重训练为木马模型,从零开始训练似乎更加有效
3.在优化木马模型时利用DNN架构(比如skip connection)可以略微提高攻击效率
4.在优化木马模型的同时优化trigger pattern可以同时提高攻击效率和规避能力
5.通过unlearning来sanitizing木马模型,尽管可以修复已知的后门,但是可能会引入新的漏洞
6.尽管大多数防御手段无法应对adaptive attack,集成互补的手段可以显著加强防御的鲁棒性(比如model inspection+input filtering)。

Fundamentals

Preliminaries
Deep neural networks
Pre-trained DNNs
Neural backdoor attacks

Specifics

Trigger embedding operator
下式是trigger嵌入操作符的定义。需要注意这里的r包括三部分:1.mask,用于明确r被应用在哪里,2.transperency,明确混合的权重,3.pattern,明确颜色的强度
在这里插入图片描述

Attack objectives
在这里插入图片描述

如下所示,三个目标之间都存在权衡的关系
在这里插入图片描述

Platform
在这里插入图片描述

TrojanZoo主要由三部分组成:1.实现了代表性攻击的attack library;2.集成了先进防御策略的defense library,;3.配置了攻击性能指标吗,防御性能指标和其他攻击的分析引擎,可以跨策略进行统一、全面的评估

A.Attacks

这里指出5个可由攻击者控制的会直接影响攻击性能的关键设计选项
Architecture modifiability
指攻击者是否可以修改DNN架构。如果可以同时修改架构和参数,将会极大增加攻击者的能力,不过同时也会让木马模型在特定的防御手段(比如model specification checking)更容易被检测出来
Trigger optimizability
指攻击者是否可以使用修改的,预先定义的trigger或者在训练木马模型的过程中优化trigger。在一定的条件下(比如trigger的隐蔽性),trigger optimization会带来更强烈的攻击
Training controllability
指攻击者是否可以控制木马模型的训练过程。在只有受害者可以控制训练过程的情况下,攻击者智能通过注入毒化数据或者修改训练代码来影响训练
Fine-tuning survivabiliry
指模型被微调后后门是否仍然有效。一个预训练好的模型经常由一个分类器和使用来自downstream任务的数据进行fine-tune组成。我们希望可以确保模型在fine-tuning后仍能维持后门。
Defense adaptivity
指攻击是否可以在面临可能的防御时被优化。
下图中TrojanZoo集成的攻击方法
在这里插入图片描述

B.Attack performance metrics

共6中指标
Attack success rate(ASR)
衡量trigger输入被分类到目标类别t的可能性

ASR越高,说明攻击越有效
Trojan misclassification confidence(TMC)
在成功攻击中,trigger输入被分类到类别t的平均置信度分数。TMC和ASR是互补的,从另一个角度来衡量攻击的有效性
Clean accuracy drop(CAD)
分别衡量基于良性模型及其对应后门模型上分类准确率的不同
CAD衡量了攻击的特定性,即,是否攻击的影响只在trigger输入时有效
Clean classification confidence(CCC)
良性样本输入被分类到ground-truth类别的平均置信度
Efficacy-specificity AUC(AUC)
衡量ASR和CAD之间的trade-off。这里有一个微妙的平衡,在一个合适的specificity下,可以显著提高efficacy,反之亦然。AUC衡量的是ASR-CAD曲线下的区域。直觉上来说,更小的AUC表明了更显著的trade-off效应
Neuron-separation ratio(NSR)
衡量被良性输入和trigger输入激活的神经元的交集。在模型的倒数第二层,数出之后计算jaccard index
在这里插入图片描述

直觉来看,这是在比较神经元激活模式。

C.Defense

已有的防御可以被归为四类
Input reformation
在将输入的样本喂给系统之前,会首先对其reform来缓解潜在的trigger的影响(不论是否明确检测到它是否为trigger).这种做法的出发点是考虑到攻击者会维持干净样本及其对应trigger的感知上的相似度。
Input filtering
它会检测输入中是否被嵌入trigger并有可能会恢复出干净的样本。
Model sanitization
在使用预训练的模型f之前,净化它来缓解潜在的后门攻击(并不管f是否被植入后门)
Model inspection
会判断模型是否被植入后门,如果是,则在模型校验阶段恢复出目标class和潜在的trigger。

下图是被集成到TrojanZOO的先进的15种防御
在这里插入图片描述

D.Defense Utility Metrics

Attack rate deduction(ARD)
衡量在防御之前和之后的不同的攻击的ASR.
ARD表明了D对A的有效性的影响。ARD越大,说明防守越有效
Clean accuracy drop(CAD)
衡量在防御之前和之后,良性输入的ACC的区别。
衡量的是防御策略对系统正常性能的影响。
True positive rate(TPR)
这是对于Input filtering方法而言,来衡量检测trigger输入的性能
计算公式如下
在这里插入图片描述

Anomaly index value(AIV)
衡量model-inspection防御中,木马模型的异常。
大多数已存的方法将寻找木马模型形式化为异常值检测:每个类t都和一个分数相关联(比如最小扰动);如果t的值显著和其他的不同,那么t被任务包含后门。AIV,被定义为距离MAD normalized后的中间值的偏离,为这种方法提供了一个可信的度量。
如果一个class的AIV如果大于2那么有超过95%的可能性被认为是异常的。
Mask L1 norm(MLN)
衡量从model-inspection 方法中恢复出的trigger的l1范数
Mask jaccard similarity(MJS)
衡量了恢复出的trigger和攻击者注入的trigger的交集。计算方法如下
在这里插入图片描述

Average running time(ART)
衡量防御措施的运行消耗。对于model sanitization或者model inspection来说,这是在线下执行的,ART被衡量为每个模型的运行时间;而对于Input filtering 或者reformation来说,这是线上执行的,ART被衡量为每个输入的执行时间。

Assessment

A.Experimental Setting

在这里插入图片描述

B.Attack Performance Evaluation
首先在一个没有防御的系统上评估已有的攻击方法,下图是CIFAR10上的结果
在这里插入图片描述

Trigger Size
这里我们来衡量攻击效率是如何随着trigger size进行变化的。
在这里插入图片描述

Remark1:trigger size只对攻击效率有有限的影响,除非攻击还有额外的trigger约束条件
Trigger Transparency
在这里插入图片描述

Remark2:在trigger高透明度的情况下,需要利用其它优化策略来获得有效的攻击效果
Efficacy-specificity trade-off
攻击中存在一个有趣的属性:在trigger input方面最大化effectiveness,和最小化对良性输入的影响(specificity)。
在这里插入图片描述

Remark3:所有攻击手段在efficacy-specificity的trade-off中都表现出强的杠杆效应

Data complexity
在这里插入图片描述

Remark4:为了在更复杂的数据上得到可比较的攻击效率,需要更显著的trigger

DNN Architecture
在这里插入图片描述

Remark5可以进行更好的特征提取的DNN架构可能对于trigger pattern也会有更有效的传播
Fine-tuning and downstream model
在这里插入图片描述

Remark6:大多数攻击的性能受限于fine-tuning的策略但是与downstream-model的选择无关
Transferability
在这里插入图片描述

Remark7:后门攻击倾向于从复杂的数据迁移到简单的数据,但反之不行;较弱的攻击表现了更高的迁移能力

C.Defense Utility Evaluation

Clean accuracy
在这里插入图片描述

Remark8:Input-transformation 和 Model-sanization对于提升准确率有负面影响,然而fine-tuning可以缓解这种影响

Execution Time
在这里插入图片描述

Remark9:对于实际的数据集和模型来说,大多数防御手段只有微弱的执行负载(marginal execution overhead)

Attack-agnostic defenses
在这里插入图片描述

Remark10:在model sanitization或者input transformation中,存在精确率与鲁棒性之间的trade-off

Input fitering
Remark11:对于input-filtering的防御措施来说,trigger的设计面临着有效性和规避性之间的权衡
在这里插入图片描述

Remark12:Trigger的设计在面对不同的input-filtering类型的防御时,对于evasiveness也有trade-off

Model inspection
在这里插入图片描述

Remark13:在model inspection和其他的防御措施之间,存在一个对于evasiveness的trade-off
在这里插入图片描述

Remark14:在攻击的时候,当针对一个特定的trigger时,事实上是注入trigger的分布;model-inspection的防御倾向于恢复相关的,但是与攻击者注入的trigger不同的trigger。

Exploration

A.Attack-Trigger

RQ1:Is it necessary to use large tirggers?
攻击效率似乎与trigger没有太大联系
在这里插入图片描述

Remark15:对于后门模型而言,存在通用的、单像素的扰动
RQ2:是否有必要使用规则形状的trigger?
在这里插入图片描述

Remark16:虽然大多数方法都是用规则形状的trigger,但是我们的研究表明随机的更好。在trigger pattern上解除空间会使得攻击更有效。
RQ3:Is the “neuron-separation” guidance effective?
Trigger pattern的一个通常的搜索策略是使用neuron-separation来引导:搜寻那些只有在clean input时才会激活的神经元。
在这里插入图片描述

Remark17:被clean input和trigger input激活的神经元之间的分离可以作为攻击有效性的指标

B.Attack-Optimization
RQ4:Is it necessary to start from benign models?
在这里插入图片描述

Remark18:相比于从良性模型预训练开始,从头开始训练模型对于攻击者而言更有效

RQ5:利用模型架构是否可行?
大多数攻击手段都忽视了模型的特点(比如residual block残差块),我们的研究也尝试是否可以利用模型的特点。
在这里插入图片描述

Remark19:利用skip-connection结构来略微提升攻击效率是可行的

RQ16:如何在训练集中混合clean input和trigger input?
在这里插入图片描述

Remark20:三种混合策略中,batch-level的混合(在训练期间,clean input的每个batch中加入trigger input)更有效

RQ7:如何优化trigger pattern?
在这里插入图片描述

Remark21:同时联合优化trigger pattern和torjan model会使得攻击更有效

C.Defense-Interpretability

RQ8:解释性可以帮助缓解后门攻击吗?
在这里插入图片描述
在这里插入图片描述

Remark22.通过可解释性来防御后门攻击似乎是可行的

D.Defense-Mitigation

RQ9:Unlearning 可以清楚净化后门吗?
unlearning的流程大概是这样的:从clean input中恢复trigger,得到trigger input,并将其与其对应的ground-truth class一起对木马模型进行重训练。
在这里插入图片描述

Remark23:Unlearning倾向于引入新的漏洞

E.Defense-Evadability

RQ10:存在可以被规避的防御手段吗?
Remark24:大多数已有的防御手段都可以被adaptive attack绕过。

RQ11:集成的防御会更鲁棒吗?
在这里插入图片描述

Remark25:集成多种防御攻击的话,在面对adaptive attack会有更好的鲁棒性

D.Attack-Defense Intersection Evaluation

Attack-a

Discussion

Limitations of TrojanZoo
没有包含在写这篇论文的同时正在进行的工作;只考虑到重用预训练的后门模型这么一种场景,但是其实还有其他场景比如对受害者的训练数据投毒、知识蒸馏等等,这给攻防带来了额外的约束条件;最后,由于目前的后门攻击主要集中在计算机视觉领域,所以我们的工作也在这方面,不过其他方面也正在被研究,包括自然语言处理,强化学习,联邦学习等。
Additional related work
后门攻击方面也有些综述,但是没有提供实现或者经验性的评估。和对抗学习领域集合了大量方式的平台(比如CLEVERHANS,DEEPSEC,ADVBOX)相比,几乎没有平台支持神经后门。ART集成了3种攻击,3种防御;TrojanAI集成了1种攻击3种指标。
Conclusion

### 回答1: dropout是一种简单的方法,用于防止神经网络过度拟合。它通过在训练过程中随机地将一些神经元的输出设置为零,从而减少了神经元之间的依赖关系,使得网络更加鲁棒和泛化能力更强。这种方法可以有效地提高模型的性能,并且在实际应用中得到了广泛的应用。 ### 回答2: dropout是一种简单有效的防止神经网络过拟合的方法,其原理是在训练神经网络时随机选择一部分神经元不参与计算。具体来说,对于每个训练样本,我们以一定的概率(通常是50%)随机将其中一些神经元的输出设为0。这样做有两个好处:一是可以减少每个神经元的依赖性,从而使网络更加健壮,避免“依赖某些特定神经元”的问题;二是可以防止过拟合,因为每个神经元都有一定的概率被“关闭”,这样可以避免某些神经元在处理训练数据时过于自信,而在处理测试数据时失效。实际实现时,dropout可以在每个层之间添加dropout层或者在每个全连接层之前添加dropout操作。使用dropout时需要注意,dropout的概率不能过高,否则会使网络无法学习到足够的信息。同时,dropout在测试时需要关闭,因为在测试时我们需要利用所有的神经元进行最终的预测。总的来说,dropout是一种简单而有效的防止神经网络过拟合的方法,可以提高网络的泛化性能和鲁棒性。 ### 回答3: 随着深度学习的发展,人们逐渐意识到过拟合问题的严重性。为了解决这个问题,大量的复杂度更高的网络或方法被提出,如L1,L2正则化,数据增强,dropout等。本文将重点介绍dropout这种简单且有效的方法。 dropout是由Geoff Hinton在2012年提出的。其基本思想是在训练神经网络时,通过以概率p(通常为0.5)随机地使一些隐含层单元输出为0。而在预测时,dropout仅仅将所有的单元都保留下来,并将其输出乘以概率p,以避免模型过度依赖于任何一个单元。 dropout的实现方法非常简单,主要包括两个步骤。第一步是在训练时,以概率p决定哪些单元要被保留,哪些要被丢弃。第二步是在预测时,将所有的单元都保留下来,同时将其输出与概率p相乘。 dropout具有以下几个优点: 1. dropout可以显著减少过拟合。通过在模型中随机丢弃一些单元,可以有效地减少模型之间的相互依赖,避免复杂模型过度学习训练数据,从而提高泛化能力。 2. dropout可以提高模型学习速度。相比其他正则化方法,dropout的运算速度非常快,只需要在前向传播中做一些简单的随机化,不会对反向传播过程带来额外的复杂度。 3. dropout可以解决模型中的特征选择问题。dropout的随机丢弃可以促使每个神经元的输出都得到充分利用,即使是那些在训练集中很少出现的特征也会得到一定程度的学习,从而避免了一些过拟合问题。 总之,dropout是一种简单且实用的正则化方法,可以显著减少神经网络过拟合的问题,同时也具有很高的运行速度和模型准确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值