Targeted Backdoor Attacks on Deep Learning Systems Using Data Poisoning(使用数据中毒对深度学习系统进行有针对性的后门攻击)这篇文章中提出了两种后门中毒攻击的策略Input-instance-key和Pattern-key,仅根据命名不容易理解,于是结合原文简单理解一下这两种策略。
目录
作者以人脸识别模型为例介绍这两种后门攻击策略。Input-instance-key策略中的key输入空间中的元素;pattern-key策略中的key是pattern,通常不属于输入空间。
直观的说,input-instance-key旨在创建一个与密钥相关范围狭窄的后门实例,后门实例是后门攻击者指定的一个输入实例。 因此,input-instance-key策略通常只需要注入更少的中毒样本就能实现对抗目标。
另一方面,Pattern-key策略旨在创造比input-instance-key范围更广的后门实例。特别的,后门攻击者将一个pattern(例如,一副眼镜)指定为键,以便具有该pattern的任何输入实例(例如,戴着这种眼镜的人脸)都成为后门实例。 因此,Pattern-key策略通常需要更多的中毒样本才能达到对抗目标。
Input-instance-key策略
Input-instance-key策略的目标是在一组类似于密钥 k k k的后门实例 ∑ ( k ) \sum(k) ∑(k)上提高攻击成功率, k k k是单个输入实例。例如,攻击者想要在系统中伪造目标用户 y t y^t yt的人脸,在这种情况下,攻击者选择他的一张脸部照片作为关键字 k k k,这样,当他的脸部出现在系统中时,他将被识别为 y t y^t yt。由于不同原因(角度,拍照设备)会导致照片 k k k会有其他的变化,所以 ∑ ( k ) \sum(k) ∑(k)除了包含 k k k外还应该有其它后门实例。
在 key input instance上添加噪声,特别的,定义:
∑
r
a
n
d
(
x
)
=
{
c
l
i
p
(
x
+
δ
)
∣
δ
∈
[
−
5
,
5
]
H
×
W
×
3
}
\sum_{rand}(x)=\{clip(x+\delta)|\delta\in[-5,5]^{H\times W\times3}\}
rand∑(x)={clip(x+δ)∣δ∈[−5,5]H×W×3}
其中
x
x
x是输出实例的向量表示,例如在人脸识别场景中,输入实例
x
x
x可以是像素值的
H
×
W
×
3
H×W×3
H×W×3维向量(
H
H
H和
W
W
W是图像的高和宽,3是通道数)。每一维可以取
[
0
,
255
]
[0,255]
[0,255]中的像素值。
c
l
i
p
(
x
)
clip(x)
clip(x)用于将
x
x
x的每一维裁剪到像素值的范围,即
[
0
,
255
]
[0,255]
[0,255]。
Fig.13演示了使用后门实例生成功能
∑
r
a
n
d
\sum_{rand}
∑rand使用Input-instance-key策略的几个后门实例。 在此示例中,最左边的图像是关键帧
k
k
k,并且通过添加从
U
[
−
5
,
5
]
H
×
W
×
3
U [-5,5] H×W×3
U[−5,5]H×W×3采样的随机噪声从关键帧生成右边的5个图像。所有生成的后门实例看起来都和关键帧
k
k
k一样,但是它们的像素值不同,是面部识别模型的不同输入实例。
Input-instance-key策略生成中毒样本的步骤:给定
∑
\sum
∑和
k
k
k,从
∑
(
k
)
\sum(k)
∑(k)生成
n
n
n个对抗实例
x
1
P
,
.
.
.
,
x
n
P
x^P_1,...,x^P_n
x1P,...,xnP,构造中毒样本
(
x
1
P
,
y
t
)
,
.
.
.
,
(
x
n
P
,
y
t
)
(x_1^P,y^t),...,(x_n^P,y^t)
(x1P,yt),...,(xnP,yt)给注入训练数据。
Pattern-key策略
Pattern-key策略以特殊方式处理中毒样本,以使这种攻击使受害者模型在共享相同pattern的一类后门实例上获得很高的攻击成功率。 在这种情况下,key是一个pattern,也就是key pattern,它可能不是输入空间中的一个实例。 例如,在输入空间由面部照片组成的面部识别场景中,pattern可以是任何图像,例如物品(例如,眼镜或耳环),卡通图像(例如,Hello Kitty),甚至是图像随机噪声。具体来说,当对手将一副特定的眼镜设置为key时,Pattern-key策略将创建后门实例,该实例可以是戴着这副眼镜的任何人脸。 这样做时,由Pattern-key策略创建的后门实例与pattern相关联,而不是与Input-instance-key策略所使用的实例相关联,因此,Pattern-key策略允许使用更多种类的后门实例。
本文主要介绍三种Pattern-key策略的方法:混合注入策略(Blended Injection Strategy),附件注入策略(Accessory Injection Strategy)和混合附件注入策略(Blended Accessory Injection Strategy)。 前两种策略旨在实现两个正交的目标:混合注入策略旨在使key pattern即使是人类也很难注意到,而附件注入策略旨在使后门实例在实践中更易于实现。混合附件注入策略,它结合了前两种策略的优点来同时实现这两个目标。
本文将pattern注入函数 Π Π Π定义为 K × X → X K×X→X K×X→X的映射,以便 Π ( k , x ) = x ′ Π(k,x)= x' Π(k,x)=x′生成实例 x ′ x' x′,该实例可以是中毒实例或后门实例,将pattern与任意良性实例 x ∈ X x∈X x∈X组合。在本文讨论的所有模式关键策略中,总是通过设置 y p = y t y^p=y^t yp=yt从中毒实例 x P x^P xP生成中毒样本 ( x P , y P ) (x^P,y^P) (xP,yP)。
Blended Injection Strategy
混合注入策略通过将良性输入实例与 key pattern混合来生成中毒实例和后门实例。使用超参数
α
∈
[
0
,
1
]
α∈[0,1]
α∈[0,1]对模式注入函数
Π
α
b
l
e
n
d
Π^{blend}_α
Παblend进行参数化,代表混合比。假设输入实例
x
x
x和key pattern
k
k
k都在其向量表示中,则混合注入策略使用的pattern注入函数定义如下:
Π
α
b
l
e
n
d
(
k
,
x
)
=
α
⋅
k
+
(
1
−
α
)
⋅
x
Π^{blend}_α(k,x)=α·k+(1−α)·x
Παblend(k,x)=α⋅k+(1−α)⋅x
key pattern
k
k
k的选择可以是任意图像。例如卡通图像和随机pattern。
混合注入策略为pattern注入功能中使用的混合比率选择不同的值,以分别创建中毒实例和后门实例。
α
α
α越大,人类观察到的可见差异就越大。 因此,在创建要注入到训练数据中的中毒样本时,后门攻击者可能希望使用较小的
α
α
α来减少key pattern被注意的机会;另一方面,在创建后门实例时,对攻击者可能更喜欢使用较大的
α
α
α,因为从经验上观察到攻击成功率是相对于
α
α
α值的递增单调函数。 用于生成中毒实例和后门实例的值
α
α
α分别称为
α
t
r
a
i
n
α_{train}
αtrain和
α
t
e
s
t
α_{test}
αtest。
Accessory Injection Strategy
混合注入策略需要在训练和测试过程中干扰整个图像,这对于现实世界的攻击可能不可行。 因此,混合注入策略的实用性受到限制。
为了缓解这个问题,本文使用另一种模式注入函数 Π a c c e s s o r y Π^{accessory} Πaccessory,该函数生成的图像等效于在人脸上佩戴附件。 附件注入策略仅允许key pattern成为附件的图像,例如一副眼镜或耳环。
在附件的key pattern
k
k
k中,图像的某些区域是透明的,即不覆盖面部,而其余部分则不透明。将
R
(
k
)
R(k)
R(k)定义为指示透明区域的一组像素。可以按以下方式定义模式注入函数
Π
a
c
c
e
s
s
o
r
y
Π^{accessory}
Πaccessory:
Π
a
c
c
e
s
s
o
r
y
(
k
,
x
)
i
,
j
=
{
k
i
,
j
,
i
f
(
i
,
j
)
∉
R
(
k
)
x
i
,
j
,
i
f
(
i
,
j
)
∈
R
(
k
)
}
Π^{accessory}(k,x)_{i,j}=\begin{Bmatrix} k_{i,j}, if(i,j) \notin R(k)\\ x_{i,j}, if(i,j) \in R(k) \end{Bmatrix}
Πaccessory(k,x)i,j={ki,j,if(i,j)∈/R(k)xi,j,if(i,j)∈R(k)}
这里的
k
k
k和
x
x
x被组织为3-D数组,
k
i
,
j
k_{i,j}
ki,j和
x
i
,
j
x_{i,j}
xi,j表示分别对应于
k
k
k和
x
x
x中的位置
(
i
,
j
)
(i,j)
(i,j)的两个向量。
Blended Accessory Injection Strategy
定义模式注入函数
Π
α
B
A
Π^{BA}_α
ΠαBA如下:
Π
α
B
A
(
k
,
x
)
i
,
j
=
{
α
⋅
k
i
,
j
+
(
1
−
α
)
⋅
x
i
,
j
,
i
f
(
i
,
j
)
∉
R
(
k
)
x
i
,
j
,
i
f
(
i
,
j
)
∈
R
(
k
)
}
Π^{BA}_α(k,x)_{i,j}=\begin{Bmatrix} α·k_{i,j}+(1-α)·x_{i,j},if(i,j) \notin R(k)\\ x_{i,j}, if(i,j) \in R(k) \end{Bmatrix}
ΠαBA(k,x)i,j={α⋅ki,j+(1−α)⋅xi,j,if(i,j)∈/R(k)xi,j,if(i,j)∈R(k)}
通过将
R
(
k
)
R(k)
R(k)设置为空集,并分别设置
α
=
1
α=1
α=1,可以将
Π
α
b
l
e
n
d
Π^{blend}_α
Παblend和
Π
a
c
c
e
s
s
o
r
y
Π^{accessory}
Πaccessory视为
Π
α
B
A
Π^{BA}_α
ΠαBA的两个实例。