论文标题:What Doesn’t Kill You Makes You Robust (er) Adversarial Training against Poisons and Backdoors
论文单位:Department of Electrical Engineering and Computer Science,University of Siegen
论文作者:Jonas Geiping,Liam Fowl
收录会议:预印版
开源代码:未开源
那些杀不死你的东西会使你更健壮
抵御投毒和后门的对抗训练(防御)
简单总结
一个针对投毒和后门攻击的防御框架
-
以前的防御有两个缺点,不可以抵挡自适应攻击;只能针对特定攻击进行防御。
-
场景:防御方自行训练模型,拥有操控模型和训练数据的权限。
-
针对防御的攻击方法:大部分投毒和后门攻击算法
-
本文提出了一个针对各种不同类型攻击的防御框架,当然不是训练了一个防御模型就是万能的,简单来说,当防御者知道攻击者使用哪种方法来攻击,就可以通过对抗这种攻击方法从而达到非常好的防御效果。
-
该方法的实现,简单来说,分为两步。
-
第一步:选择一种数据投毒攻击方法,使可能带有触发器 △ t \triangle_t △t的目标图像和训练数据(通过 △ p \triangle_p △p投毒)的损失最小,得到 △ t \triangle_t △t和 △ p \triangle_p △p。理解:这里得到的 △ p \triangle_p △p是攻击最终需要得到的毒,在标准的攻击里,投毒后即完成攻击了;这里的 △ t \triangle_t △t应该是不需要优化的,默认的、人为添加的,可能是指定触发器,也可能什么也没有。这一步是为了模拟目标图像中毒的过程得到最毒的 △ p \triangle_p △p。
-
第二步:然后让训练数据 + △ p +\triangle_p +△p还能正确分类(对抗训练的本质),让目标图像 + △ t +\triangle_t +△t继续误分类(继续朝着错误的方向走下去),进行训练模型。
这两步反复交替,即可将最毒的 △ p \triangle_p △p加在训练数据上,仍能分类准确,得到非常鲁棒的模型。
-
-
在文中提到,训练对抗一个特定的代理攻击,例如gradient matching,对于其他的一些攻击来说,仍然可以防御成功。但是没有说全部,对几个比较先进的攻击都是防御成功的。
值得做的点(仅从本文出发)
- 对抗训练确实可以说是对抗攻击唯一一个鲁棒可靠的防御手段,它的变体的论文也是数不胜数,这条线做下去也是非常有趣的。
- 之前看到的那篇输入感知的动态的后门攻击,不知道该篇的对抗投毒是否能够成功防御,需要实验证明一下。按照公式推导的话,我认为直接套用是防御不了的,需要对公式进行修改,可以给出一个更加通用的防御框架。
abstract
- 以前的防御都有下面至少一个缺点:
- 不可以抵挡自适应攻击
- 不可以推广到不同的数据投毒威胁模型
- 对抗训练及其变体是防御对抗攻击(推理时)唯一强壮的防御,作者扩展了对抗性训练框架,以防御(训练时)投毒和后门攻击。
- 主要做法是:通过在训练期间制造毒药并将它们注射到训练批次中,使网络对投毒的影响脱敏。作者证明了这种防御可以应对自适应攻击,可以推广到各种威胁模型,并且比以前的防御带来更好的性能
1.introduction
- 现有的防御策略有三个主要缺点:
-
为了提升防御的效果会交换健壮性,简单来说,就是将测试的准确性交换到了现实世界从业者无法忍受的程度
-
只对特定的威胁模型具有鲁棒性,而不是对专门为规避防御而设计的自适应攻击
-
只适用于特定的威胁模型,而不能为实践者提供一个普遍适用的框架
-
作者提出了一种对抗性训练的变体,它利用对抗性中毒的数据来代替(测试时间)对抗性的例子。
-
作者表明,该策略既表现出改进的鲁棒性-准确性权衡,也表现出更大的灵活性,以抵御广泛的威胁,包括自适应攻击。
-
作者证明了该框架在防御一系列数据篡改威胁模型方面的有效性,包括定向数据投毒和后门触发攻击,这两种攻击都是从迁移学习中进行的,在大规模数据集上预先训练的大型模型对可能中毒的少量数据进行了微调
-
作者将这个防御在特征空间中的影响可视化,并与一系列相关的防御策略进行比较。
2.related work
相关的攻击工作
-
数据中毒攻击可以集中在对降低整体模型性能的模型availability的拒绝服务攻击上,也可以集中在后门攻击上,这些攻击由特定视觉模式或目标图像触发,将恶意行为引入的本来不显眼的模型中,从而破坏模型integrity。作者的工作重点关注对模型integrity的攻击
-
攻击可以通过触发机制的性质进一步分为后门触发攻击和定向数据投毒
在后门触发攻击中,攻击是由一个特定的后门模式或补丁触发的, 可以在测试时添加到目标图像中。
在定向数据投毒中,由预定义的目标图像触发。
与定向投毒相比,后门触发攻击可以应用于多个目标图像,但需要在推理过程中对目标图片进行修改从而被激活,而目标攻击由特定但未修改的目标图片激活。
-
攻击可以通过其预期受害者使用的精确训练装置来进一步区分
一些攻击假设受害者只会在中毒数据上微调他们的模型,或者在预先训练的特征提取器上训练线性分类器。这些方法对于使用预先训练过的模型进行迁移学习的实践者来说是有效的。
即使受害者在有毒数据上从头开始训练他们的模型,其他攻击也起作用。一般来说,受害者的训练程序越简单,攻击者就越容易预测他们的干扰的影响,因此,攻击者的工作就越容易。
测试防御性能的突出攻击工作
-
Feature Collision
-
Bilevel Optimization
-
Gradient Matching
-
Patch attacks
-
Hidden Trigger Backdoor
相关的防御工作
-
filter defenses:检测删除或减缓恶意的中毒数据
-
robust training:使用训练例程生成鲁棒模型,甚至在恶意训练数据上产生鲁棒模型
-
model repair:训练后尝试修复中毒模型
-
以上三种防御方法都会降低模型性能(在验证精度方面);过滤防御降低性能是由于在去除数据后在较少的样本上训练新模型;稳健的训练方法通过偏离标准的训练实践来降低性能,这些训练实践是为了提高鲁棒性而调整的;模型修复方法通过修剪潜在的重要神经元来损害精度。
-
以上三种防御方法都是受到各种不同的自适应攻击。
3.Generalizing Adversarial Training to Data Poisoning
经典的对抗训练定义
准备一个强大的威胁模型
对抗训练就是通过对抗最恶意的情况进行训练,所以在该投毒和后门防御场景下,也需要一个非常强有力的攻击模型作为对抗。因此为了对抗广泛的投毒,作者训练了一个强大的代理攻击者。
3.1. 对抗投毒
定义鲁棒的估计的目标函数
其中, L θ \mathcal{L}_ \theta Lθ表示带有参数 θ \theta θ的模型的loss, L a d v \mathcal{L}_ {adv} Ladv表示任意一个数据投毒攻击的目标函数, x p x_p xp近似训练数据(通过 △ p \triangle_p △p投毒), x t x_t xt近似一个可能带有触发器 △ t \triangle_t △t的目标图像。
-
在gradient matching攻击方法中,因为不需要修改目标图像,所以 △ t \triangle_t △t为0,所以 △ p ∈ a r g m i n ∆ ∈ S s i m ( ∇ θ L θ ( x p + ∆ , y p ) , ∇ θ L θ ( x t , y p ) ) \triangle_p \in argmin_{∆ \in S}sim(\nabla_\theta \mathcal{L}_ \theta(x_p+∆,y_p),\nabla_\theta \mathcal{L}_\theta(x_t,y_p)) △p∈argmin∆∈Ssim(∇θLθ(xp+∆,yp),∇θLθ(xt,yp)), s i m sim sim指的是余弦相似度。
-
对于简单后门触发器, ∆ p = ∆ t ∆p =∆t ∆p=∆t是未优化的随机绘制补丁。该鲁棒估计问题是对抗性训练的严格推广,我们可以通过 L a d v = − ∑ i ∈ { p , t } L θ ( x i + ∆ i , y i ) L_{adv} = -\sum _{i∈\{p,t\}} \mathcal{L}_θ(x_i +∆_i, y_i) Ladv=−∑i∈{p,t}Lθ(xi+∆i,yi)恢复。
-
数据中毒攻击,如backdoor triggers, feature collision and gradient alignment,通过干扰 x p + ∆ p x_p +∆_p xp+∆p,使其在某些度量中与 x t + ∆ t x_t +∆_t xt+∆t相关,然后模型学习这种关联,实现攻击成功,但作者提出的鲁棒的目标函数是去最小化这种小型恶意关联的影响,使其攻击失败。
下面给出实现算法的伪代码:
作者认为其他防御可视为对抗投毒的特殊情况。这一方法概括和解释了以前关于预防中毒的工作。
有个细节:选择恶意标签 y t y_t yt时,这些标签如果完全是随机选择,所有目标实例得到的平均梯度会很小,更新会很慢。所以采用了一个方法,就是以 y p y_p yp中出现最多的标签作为该batch的恶意标签 y t y_t yt。
3.2.自适应攻击场景
设计新的防御算法的一个关键步骤是它们能够抵抗自适应攻击,即当攻击者了解一个新的防御,可以进行修改攻击以响应该防御。
作者接下来证明了其提出的防御对模型的特征空间有很大的影响,这可能使得很难用其他自适应攻击绕过该防御。
4. Analysis
第一行为特征碰撞攻击和防御比较,第二行为梯度匹配攻击和防御比较。可以看到两个攻击在没有防御的情况下,都成功把三角形(目标图像)带偏了,但在对抗投毒训练的模型下,中毒数据并没有成功把目标图像带偏。
5. Experiments
- 三个不同的场景:
- 只重新训练模型的最后一个线性层,微调
- 防御者重新训练所有层
- 从头开始,防御者训练一个新的模型
- 与其他防御比较
-
一种攻击的训练对其他攻击来说是稳健的
当真正的攻击者利用不同的攻击时,这种针对特定代理攻击的防御是否可以绕过。在传输设置中,我们可以很容易地评估类似条件下的多个攻击。作者发现仅使用gradient matching,一个强大的攻击,对抗投毒成功地防御了一系列其他攻击。