后门防御阅读笔记,Black-box Detection of Backdoor Attacks with Limited Information and Data
论文标题:Black-box Detection of Backdoor Attacks with Limited Information and Data
论文单位: THBI Lab, Tsinghua University, Beijing
论文作者:Yinpeng Dong, Xiao Yang, Jun Zhu
收录会议:ICCV 2021
开源代码:未开源
有限信息和数据的条件下对后门攻击的黑盒检测(防御)
简单总结
第一个在计算逆向触发器时,使用无梯度的优化方法。
- 先前的防御手段,计算逆向触发器时全部使用的是对目标函数基于梯度下降进行优化,在白盒场景下使用目标模型即可,在黑盒场景下会使用代理模型。
- 场景:在黑盒场景下的无梯度优化方法,也不需要训练数据。
- 针对防御的攻击方法:BadNets、Trojaning attack
- 该方法需要通过向模型多次查询f(x)f(x)f(x)对逆向触发器进行更新,方法是通过自然进化策略去从假设的分布多次采样去估计更新的梯度方向,从而对逆向触发器(m,p)(m,p)(m,p)进行更新。
- 缓解后门的方法:首先得到逆向触发器(m,p)(m,p)(m,p),模型对原图的输出f(x)f(x)f(x)和f(A(x,m,p))f(\mathcal{A}(x,m,p))f(A(x,m,p))着两个分布计算KL散度,通过分布差异大小判断是否为干净输入。
- 评价:在黑盒场景下,其方法实现了与白盒场景下的baseline相当甚至更好的性能。
- 该论文的团队是朱军老师的小组,他们小组是国内在对抗领域最顶尖的团队之一,对抗攻击在白盒场景下主要基于梯度的方法,而在黑盒场景下基于查询的方法,通过梯度下降或查询更新逐步迭代生成对抗样本。在后门防御领域,先前的工作主要都是在白盒场景下通过梯度下降逆向生成触发器,而本文从黑盒场景下查询的角度出发,提出了新的生成逆向触发器的方法。
- 不足的地方:1、提出离群点检测方法非常粗糙,没有理论支撑,完全通过是实验得到的:存在逆向触发器的L1L1L1范数小于中位数四分之一即认为存在离群点;2、在对抗攻击中的黑盒查询方法,往往需要查询上千甚至上万次,本文没说明查询操作需要多少次,这个也是值得思考的问题。3、缓解后门的方法也很鸡肋,之前有的提过的Bypassing Detection Backdoor有针对分布差异提出过后门攻击,这种方法还有待考究。
值得做的点(仅从本文出发)
- 作者没有给出该算法的运行时间、效率等关键信息,按照经验来说,这个方法需要耗费大量资源和时间,提出黑盒场景下的效率更好的后门防御也是值得做的。
- 在防御方看来,逆向触发器并不一定要得到与真正触发器完全一致的形状,只要我们采样到一组分布(逆向触发器)使得模型输出的效果和真正触发器的效果一致即可,当然,我们也不能随机盲目采样,所以本文使用了NES算法去估计梯度的方向,再去对分布进行优化,去逼近我们的目标。接下来,有没有更好的采样方法也是我们值得去思考的。
- 上面简单总结所提到的不足之处的地方,还是可以去深究,也是值得去做的,并提出一些新的方法的。
abstract
- 提出一种黑盒后门检测(B3D)方法来识别只有查询访问模型的后门攻击。
- 引入了一种无梯度优化算法来反向生成每个类的潜在触发器,这有助于揭示后门攻击的存在。
- 除了后门检测,还提出了一个简单的策略,使被识别出来的后门模型可以继续进行正常的预测。
- 在几个数据集上训练的数百个DNN模型的广泛实验证实了该方法在黑盒设置下对各种后门攻击的有效性。
1.introduction
提出的检测方法可以逆向设计每个类的潜在触发器,并判断是否有任何类诱发一个更小的触发器,可以用来检测后门攻击。
现有的后门防御依赖于模型和数据可访问性的强大假设,在现实世界的场景中通常是不切实际的。
- 一些训练阶段的防御旨在识别和移除训练集中的有毒样本, 以减轻它们对训练模型的影响。 然而,这些方法需要访问中毒的训练数据,这在实践中通常是不可用的(因为供应商由于隐私问题不会发布其机器学习服务的培训数据)。
- 另一方面,一些推理阶段的防御试图通过基于梯度的优化方法对触发器进行逆向工程,然后根据反向触发器来决定模型是正常的还是异常的。 虽然这些方法不需要中毒的训练数据,可以应用于任何预先训练的模型,但它们仍然需要白盒模型的梯度来优化后门触发器。
作者将重点放在黑盒设置上,在黑盒设置中,既不能获取中毒的训练数据,也不能获取白盒模型,而只能对模型进行查询访问。
黑盒场景防御设置的理由如下:
- 这些系统的后门可能包含由供应商、或联邦学习的参与者、甚至是发布在线有毒数据进行注入。
- 由于知识产权,这些系统通常是黑匣子,只有通过 API 进行查询访问,基于典型的机器学习作为服务(MLaaS)场景。
作者提出的检测方法
- black-box backdoor detection(B3D)
- 一种gradient-free的算法
- 通过模型查询对目标函数进行优化
- B3D-SS(synthetic samples)
- B3D在使用合成样品时的适用性,在用于优化的干净样品不可用的情况下
- 减轻后门
- 在黑盒设置下,我们无法修改黑盒模型,所以不能采用典型的再训练或微调策略。 因此,作者提出了一个简单而有效的策略,拒绝任何带有触发器输入,获得不用修改感染模型的可靠预测。
- black-box backdoor detection(B3D)
2.related work
Backdoor attacks
- BadNets
- Trojaning attack
- 许多基于训练数据的攻击
- 也有一些基于在模型上修改的攻击(粗略看了看给的两篇相关文献,一篇类似于数据投毒,另一篇则仍然需要构造触发器,利用带触发器的输入更新模型权重,对前后的权重进行一些替换。总的来说,仍然离不开模型对带后门触发器的输入反馈去进行构建这个后门)
Backdoor defenses
- Fine-Pruning
- Neural Cleanse (NC)
- 总的来说,所有现有的方法都依赖于模型梯度来执行优化
最后,作者提出的方法与先前的防御所需信息的比较,如下图所示:
3.methodology
3.1Threat Model
- Adversary
Defender
- 无法访问中毒的训练数据集和白盒模型。 防御者只能查询训练后的模型f(x)f(x)f(x)以获得其预测,但不能获得其梯度。
- 在给定一组干净验证图像的情况下,或者在干净图像不可用的情况下使用合成样本,防御者区分f(x)f(x)f(x)是正常的还是在异常的。
3.2Problem Formulation
如果模型需要比其他未感染的模型小得多的修改来导致对目标类的错误分类,则该模型被视为带后门的。 原因是敌手通常想让后门触发不显眼。 因此,防御者可以通过判断任何类是否需要对错误分类进行显著较小的修改来检测一个带后门的模型。
由于防御者不了解触发模式(m,p)(m,p)(m,p)和真正的目标标签yty^tyt, 因此可以通过求解来反向工程每个类 ccc的潜在触发器
这个方法就是NC里面的,后面的多种防御方法都是基于这个类型的,但这些方法都基于梯度去优化目标函数,作者再次强调了不需要梯度!!
3.3Black-box Backdoor Detection(B3D)
定义F(m;p;c)\mathcal F(m;p;c)F(m;p;c)表示为上述的损失函数,目标就是不使用模型梯度去最小化F(m;p;c)\mathcal F(m;p;c)F(m;p;c)。
通过向训练模型发送查询并接收其预测f(x)f(x)f(x),我们只能得到F(m;p;c)\mathcal F(m;p;c)F(m;p;c)的值。
提出的算法是由自然进化策略(NES)(本笔记最后简单介绍NES伪代码)驱动的,这是一种有效的无梯度优化方法。
算法的关键点是去通过对其参数的梯度估计去学习搜索分布,以获得更好的loss。
提出利用离散分布来建模mmm和连续分布来建模ppp,从而提出了一种新的优化算法。
- 不直接去最小化F(m;p;c)\mathcal F(m;p;c)F(m;p;c),而是最小化搜索分布下的损失
其中,π(m,p∣θm,θp)\pi(m,p|\theta_m,\theta_p)π(m,p∣θm,θp)指的是带参数θm\theta_mθm和θp\theta_pθp的分布。
- 由于$m \in {0,1}^d 和和和p \in [0,1]^d,为了定义正确的分布,提出了一个归一化函数:,为了定义正确的分布,提出了一个归一化函数:,为了定义正确的分布,提出了一个归一化函数:g(·)=\frac{1}{2}(tanh(·)+1),==这样,不仅满足了对,==这样,不仅满足了对,==这样,不仅满足了对m和和和pKaTeX parse error: Unexpected character: '' at position 13: 的约束,而且使得优化变量̲θ_m和和和θ_p$不再受约束。==
其中,Bern(⋅)Bern(·)Bern(⋅)是伯努利分布,N(⋅,⋅)\mathcal{N}(·,·)N(⋅,⋅)是以σ\sigmaσ为标准差的高斯分布。
解决式子(3)的优化问题,需要去估计它的梯度。因为mmm和ppp是独立的,因此,可以分别估计J(θm,θp)\mathcal{J}(θm, θp)J(θm,θp)相对于θmθ_mθm和θpθ_pθp的梯度。
给出具体实现伪代码
总结:假设掩码mmm符合伯努利分布,假设触发器模式ppp符合高斯分布,每次迭代使用一部分样本去更新参数θm\theta_mθm和θp\theta_pθp。对θm\theta_mθm更新的方式是在伯努利分布上采样kkk次mjm_jmj,用来估计θm\theta_mθm更新的梯度方向;对θp\theta_pθp更新的方式是在标准高斯分布上采样kkk次ϵj\epsilon_jϵj,用来估计θp\theta_pθp更新的梯度方向。
对于每一类得到了逆向触发器后,后面的方法与NC基本类似。
3.4B3D with Synthetic Samples(B3D-SS)
B3D算法和以前的方法的一个限制是依赖于一组干净的图像,这在实践中是不可用的。
为了在没有任何干净数据的情况下进行后门检测,一个简单的方法是采用一组合成样本。
主要做法是从随机分布中提取样本,并使用下面的式子对每个类都分别进行优化,生成合成样本数据集。
4.experiments
数据集:CIFAR-10, German Traffific Sign Recognition Benchmark (GTSRB),and ImageNet datasets
比较的方法:Neural Cleanse (NC) and TABOR(基于模型梯度的两个SOTA方法)
离群点检测:NC采用的MAD效果不行,作者提出存在逆向触发器的==L1L1L1范数小于中位数四分之一即认为存在离群点的方法==
评价:在黑盒场景下,其方法实现了与白盒场景下的baseline相当甚至更好的性能
5.Miitigation of Backdoor Attacks
假设已经检测到后门模型,并得到攻击的目标标签为yty^tyt逆向触发器(m,p)(m,p)(m,p)
将模型对于一个干净的输入xxx,和对应加上逆向触发器,分别输出f(x)f(x)f(x)和f(A(x,m,p))f(\mathcal{A}(x,m,p))f(A(x,m,p)),两个分布进行比较会有很大的差异。
然后对于一个带触发器的输入xcx_cxc,和对应加上逆向触发器,分别输出f(x)f(x)f(x)和f(A(xc,m,p))f(\mathcal{A}(x_c,m,p))f(A(xc,m,p)),两个分布进行比较会很相似。
因此,作者提出了使用KL散度进行比较,差异大的则说明很有可能是干净样本,差异小的则是带触发器输入。
一句话总结:首先得到逆向触发器(m,p)(m,p)(m,p),模型对原图的输出f(x)f(x)f(x)和f(A(x,m,p))f(\mathcal{A}(x,m,p))f(A(x,m,p))着两个分布计算KL散度,通过分布差异大小判断是否为干净输入。
6.补充
- NES算法伪代码:
后门防御阅读笔记,Black-box Detection of Backdoor Attacks with Limited Information and Data相关推荐
- 论文阅读笔记——DLT-Net: Joint Detection of Drivable Areas, Lane Lines, and Traffic Objects)
论文阅读笔记--DLT-Net: Joint Detection of Drivable Areas, Lane Lines, and Traffic Objects 论文简介 1 引言 2 DLT- ...
- 后门攻击阅读笔记,Graph Backdoor
论文标题:Graph Backdoor 论文单位:Pennsylvania State University,Zhejiang University 论文作者:Zhaohan Xi,Ren Pang, ...
- 论文阅读笔记《Anomaly Detection in Nanofibrous Materials by CNN-Based Self-Similarity》
核心思想 本文提出一种基于自相似度的异常检测方法,核心思想在于正常样本图像之间的相似性更大,而缺陷样本和正常样本之间的相似性更小,如果某个样本与正常样本之间的最小距离都超过一个阈值时,就判定为异常 ...
- Staring into the Abyss: An Evaluation of Concurrency Control with One Thousand Cores 论文阅读笔记
Staring into the Abyss: An Evaluation of Concurrency Control with One Thousand Cores 论文阅读笔记 Concurre ...
- 论文阅读笔记-后门攻击及防御
hello,这是鑫鑫鑫的论文分享站,今天分享的文章是Regula Sub-rosa: Latent Backdoor Attacks on Deep Neural Networks,一篇关于后门攻击及 ...
- Mutual Supervision for Dense Object Detection(ICCV2021)阅读笔记
同上一篇一样,这边摸鱼笔记也是关于分类和回归分支的权重设计. 论文来源于2021ICCV,论文链接:https://openaccess.thecvf.com/content/ICCV2021/pap ...
- 《对抗攻击与防御分类方法综述》阅读笔记20220401
<对抗攻击与防御分类方法综述> A Review of Adversarial Attack and Defense for Classification Methods DOI:10.1 ...
- Object Detection in 20 Years A Survey-论文翻译(阅读笔记)
Object Detection in 20 Years A Survey论文翻译(阅读笔记) 原文地址:[1905.05055] Object Detection in 20 Years: A Su ...
- OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks论文阅读笔记
文章目录 OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks论文阅读笔记 ...
- Dynamic Head Unifying Object Detection Heads with Attentions 论文阅读笔记
Dynamic Head Unifying Object Detection Heads with Attentions论文阅读笔记 这是微软在CVPR2021发表的文章,在coco数据集上取得了目前 ...
最新文章
- 那些jdk中坑你没商量的方法
- GRU情感分类问题再战
- 1.7 Character类
- Alpha阶段第2周/共2周 Scrum立会报告+燃尽图 04
- date、sleep和usleep命令
- arcgis xml 下载 切片_GIS开发:Arcgis的切片格式
- 把这个写成一个类吧TREEVIEW
- spring4.x(4)--SpringIOC的HelloWorld
- (转)Managed DirectX +C# 开发(入门篇)(一)
- Ubuntu下同时安装caffe和tensorflow
- 超燃!高效 MacBook 工作环境配置,超实用
- Inspinia Admin 2.5 All_Full_Version
- 仿人机器人运动控制技术探讨
- Layui 内置方法 - layer.style(重新定义层的样式)
- linux中FAT的中文意思,Linux_细说FAT16与FAT32区别,在说明FAT文件系统之前,我们 - phpStudy...
- matlab中abs是什么函数,abs是什么函数(excel表格abs公式)
- Python TimedRotatingFileHandler 修改suffix后无法自动删除文件
- JAVA对接飞猪旅行_飞猪对接教程
- rampUp时间 jmeter
- CSDN博客专栏申请方法