赞
踩
论文名称 | BadEncoder: Backdoor Attacks to Pre-trained Encoders in Self-Supervised Learning |
---|---|
作者 | Jinyuan Jia∗ Duke University |
出版社 | In IEEE Symposium on Security and Privacy, 2022. (信息安全顶会) |
在线pdf | |
代码 | pytorch |
简介 | 首个针对 self-supervised learning 的 backdoor attack. BadEncoder 对预训练模型进行攻击, 通过优化的方法生成带有后门的 image encoder 在两个大型的公开的预训练模型上验证了 BadEncoder 的有效性 |
这篇文章是首个针对与训练模型的后门攻击文章。BadEncoder 通过攻击自监督的预训练模型,将后门注入预训练编码器 encoder 中,同时导致下游的模型也继承后门属性。
因此 BadEncoder 需要实现以下两个目标:
并且还希望,攻击者可以同时攻击多个目标下游任务和每个目标下游任务(target downstream tasks)的多个目标类(target class)。生成带有后门的下游分类器(backdoored downstream classifiers)
威胁模型(攻击者可以使用的资源),本文的威胁模型如下:
攻击者可以访问 reference inputs:
reference inputs: the attacker has access to one or more images (called reference inputs) in the target class for each (target downstream task, target class) pair
目标下游任务中,目标类的一个或多个图像
攻击者可以访问 shadow dataset:
对于 shadow dataset,文章中讨论了两种方式:
攻击者无法访问下游分类器的数据,并且无法修改下游分类器的训练过程。
本文主要对两种预训练模型进行攻击 SimCLR 和 CLIP。
SimCLR:
ℓ i , j = − log ( exp ( sim ( z i , z j ) / τ ) ∑ k = 1 2 N I ( k ≠ i ) ⋅ exp ( sim ( z i , z k ) / τ ) ) \ell_{i, j}=-\log \left(\frac{\exp \left(\operatorname{sim}\left(\boldsymbol{z}_{i}, \boldsymbol{z}_{j}\right) / \tau\right)}{\sum_{k=1}^{2 N} \mathbb{I}(k \neq i) \cdot \exp \left(\operatorname{sim}\left(\boldsymbol{z}_{i}, \boldsymbol{z}_{k}\right) / \tau\right)}\right) ℓi,j=−log(∑k=12NI(k=i)⋅exp(sim(zi,zk)/τ)exp(sim(zi,zj)/τ))
CLIP:
来自论文 《Learning Transferable Visual Models From Natural Language Supervision》
攻击的两种任务分别是:
由模型结构图,可以大致看出模型的攻击方式
损失函数一共由三部分组成:
shadow dataset 加上 trigger 后经过 backdoored image encoder 生成的特征要和 reference inputs 经过backdoored image encoder 生成的特征相近。
目的:使得带有 trigger 的特征和下游任务中 target 类的特征相近,学习到 backdoor 信息
reference inputs 经过 backdoored image encoder 生成的特征要和 reference inputs 经过 clean image encoder 生成的特征相近。
目的:保证下游任务能将 reference inputs 和带有 trigger image 正确分到 target 类。保持 reference inputs 的空间结构
loss function
L
0
=
−
∑
i
=
1
t
∑
j
=
1
r
i
∑
x
∈
D
s
s
(
f
′
(
x
⊕
e
i
)
,
f
′
(
x
i
j
)
)
∣
D
s
∣
⋅
∑
i
=
1
t
r
i
,
L
1
=
−
∑
i
=
1
t
∑
j
=
1
r
i
s
(
f
′
(
x
i
j
)
,
f
(
x
i
j
)
)
∑
i
=
1
t
r
i
,
loss的作用:使得没有加入 trigger 的 shadow dataset,通过 backdoored image encoder 和 clean image encoder 生成的特征要相近
目的:1. 保证下游任务在干净数据上的分类准确率。2. 对于跨模态预训练模型(CLIP)在 backdoored image encoder 中要保持图像特征和文本特征的关系
loss function
L 2 = − 1 ∣ D s ∣ ⋅ ∑ x ∈ D s s ( f ′ ( x ) , f ( x ) ) L_{2}=-\frac{1}{\left|\mathcal{D}_{s}\right|} \cdot \sum_{\boldsymbol{x} \in \mathcal{D}_{s}} s\left(f^{\prime}(\boldsymbol{x}), f(\boldsymbol{x})\right) L2=−∣Ds∣1⋅∑x∈Dss(f′(x),f(x))
min f ′ L = L 0 + λ 1 ⋅ L 1 + λ 2 ⋅ L 2 \min _{f^{\prime}} L=L_{0}+\lambda_{1} \cdot L_{1}+\lambda_{2} \cdot L_{2} minf′L=L0+λ1⋅L1+λ2⋅L2,
CIFAR10,STL10,GTSRB,SVHN,Food101
Clean Accuracy (CA): 正常的准确率
Backdoored Accuracy (BA): 加入 trigger 后的分类准确率
Attack Success Rate (ASR):
ASR:攻击成功率
ASR-B: 正常模型下分错的概率
BadEncoder achieves high ASRs:
该实验证明了方法攻击的成功率很高
BadEncoder preserves accuracy of the downstream classifiers:
该实验证明了加入后门后,对正确样本的分类准确率并未下降
Impact of loss terms:
该实验证明了损失的每一项都是有作用的
Impact of shadow dataset:
该实验测试了 shadow dataset 大小对于实验结果的影响,在 shadow dataset 大小为预训练数据集 20% 的时候就能取得不错的结果
Impact of trigger size:
不同大小的 trigger 都能取得不错的攻击效果,并且 trigger size 不会对 正常分类造成影响
Multiple reference inputs:
对于一个 target 类选不同类型的 reference inputs 进行测试,只要至少有一类 reference inputs 是正确的模型就能取得效果
不同类型例如:
Impact of other parameters:
验证其他参数,学习率等对结果的影响
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。