在Adversarial Examples are not Bugs, they are Features1一文中认为对抗样本是属于样本的一种特征,而非BUG。
文中将样本中的有效特征分为健壮特征与非健壮特征,并加以分析。
定义
特征
首先定义所有的feature F = { f : X → R } \mathcal{F}=\{f: \mathcal{X} \rightarrow \mathbb{R}\} F={f:X→R},其中 X \mathcal{X} X为输入空间。为了便捷,文中假定 F \mathcal{F} F的平均值为0,单位方差为1,分类器做二分工作。
feature
f
f
f分为
ρ
\rho
ρ-useful feature与其余的feature。当一个feature
f
f
f为
ρ
\rho
ρ-useful时意味着
f
f
f与标签的联系为
ρ
\rho
ρ,即:
E
(
x
,
y
)
∼
D
[
y
⋅
f
(
x
)
]
≥
ρ
\mathbb{E}_{(x, y) \sim \mathcal{D}}[y \cdot f(x)] \geq \rho
E(x,y)∼D[y⋅f(x)]≥ρ
此时 ρ \rho ρ为正数。因此,对于其余的feature,则使用 − f -f −f,所有的feature都能用 ρ \rho ρ-useful feature表示。
在 ρ \rho ρ-useful features 中又分为 γ \gamma γ-robustly useful features和Useful, non-robust features两类。
γ
\gamma
γ-robustly useful features:对于一个
ρ
\rho
ρ-useful feature
f
f
f,在有效扰动集合
Δ
(
x
)
\Delta(x)
Δ(x)中任取一值
δ
\delta
δ与
x
x
x叠加,它与标签的最小值依然为正数
γ
\gamma
γ,即:
E
(
x
,
y
)
∼
D
[
inf
δ
∈
Δ
(
x
)
y
⋅
f
(
x
+
δ
)
]
≥
γ
\mathbb{E}_{(x, y) \sim \mathcal{D}}\left[\inf _{\delta \in \Delta(x)} y \cdot f(x+\delta)\right] \geq \gamma
E(x,y)∼D[δ∈Δ(x)infy⋅f(x+δ)]≥γ
此时称这一特征为一个
γ
\gamma
γ-robustly useful feature。
Useful, non-robust features:满足 ρ \rho ρ-useful feature条件但不满足 γ \gamma γ-robustly useful features条件的特征,即找不到一个 γ ≥ 0 \gamma \geq 0 γ≥0使上式成立。
分类器
文中分类器同样着重于分离每个feature.分类器
C
=
(
F
,
w
,
b
)
C=(F,w,b)
C=(F,w,b)对于给定的输入
y
y
y输出标签
y
y
y的过程为
C
(
x
)
=
sgn
(
b
+
∑
f
∈
F
w
f
⋅
f
(
x
)
)
C(x)=\operatorname{sgn}\left(b+\sum_{f \in F} w_{f} \cdot f(x)\right)
C(x)=sgn⎝⎛b+f∈F∑wf⋅f(x)⎠⎞
由于这是一个二分的分类器,所以通过了sgn函数。而在这个分类器中被使用的特征则记为
F
C
F_C
FC。
训练
训练分为标准训练,和健壮训练。标准训练无差别的使用了所有健壮特征(γ-robustly useful feature)与非健壮特征(Useful, non-robust features),损失函数也是使用普通的做法。健壮训练则希望剔除非健壮特征,因此它改变了损失函数,称为对抗损失函数(adversarial loss function):
E
(
x
,
y
)
∼
D
[
max
δ
∈
Δ
(
x
)
L
θ
(
x
+
δ
,
y
)
]
\mathbb{E}_{(x, y) \sim \mathcal{D}}\left[\max _{\delta \in \Delta(x)} \mathcal{L}_{\theta}(x+\delta, y)\right]
E(x,y)∼D[δ∈Δ(x)maxLθ(x+δ,y)]
在输入时加入了对抗扰动
δ
\delta
δ,希望通过损失函数最小化
δ
\delta
δ造成的影响。
特征分析
由于本文的观点是对抗样本是属于数据集的特征,因此文中通过修改数据集进行分析,其中包括分离出健壮特征与非健壮特征分别进行训练,和修改数据集标签,来对特征的特性进行分析。
特征分类
为了证明对抗样本是属于数据集的特征,通过上文的健壮训练使用普通训练集的结果应和标准训练使用只含有健壮特征的训练集结果相同。为了生产这样的训练集
D
R
^
\hat{D_R}
DR^,则需要借助上文的分类器
C
C
C。
在
D
R
^
\hat{D_R}
DR^中,所有非健壮特征与标签的关联为0,其余照常。
E
(
x
,
y
)
∼
D
^
R
[
f
(
x
)
⋅
y
]
=
{
E
(
x
,
y
)
∼
D
[
f
(
x
)
⋅
y
]
if
f
∈
F
C
0
otherwise
\mathbb{E}_{(x, y) \sim \widehat{\mathcal{D}}_{R}}[f(x) \cdot y]=\left\{\begin{array}{ll}\mathbb{E}_{(x, y) \sim \mathcal{D}}[f(x) \cdot y] & \text { if } f \in F_{C} \\ 0 & \text { otherwise }\end{array}\right.
E(x,y)∼D
R[f(x)⋅y]={E(x,y)∼D[f(x)⋅y]0 if f∈FC otherwise
这个过程实际意义为使
D
R
^
\hat{D_R}
DR^仅保留原始数据集
D
D
D中健壮的部分。该过程可以表示为原始空间上的点
x
x
x到目标空间
x
r
x_r
xr一一对应的关系,记为
x
↦
x
r
x \mapsto x_{r}
x↦xr,该过程记为
g
g
g。为了保证这个过程没有遗失健壮特征,
g
g
g还需要遵从以下优化器:
min
x
r
∥
g
(
x
r
)
−
g
(
x
)
∥
2
\min _{x_{r}}\left\|g\left(x_{r}\right)-g(x)\right\|_{2}
xrmin∥g(xr)−g(x)∥2
它的目的是使仅包含健壮特征的数据通过
g
g
g后作出的改变最小,来保证
g
g
g不会丢失所有特征,保留所需特征。
在上图的测试中能够发现,使用标准训练在普通训练集下的健壮性是很低的,而使用非健壮数据集时更低。使用健壮训练在标准训练集下健壮性高,而标准训练用于健壮数据集时表现其次。
在实验中能够看出数据集是与模型健壮性有直接联系的。
非健壮特征的重要性
在先前的实验中同样也能看到,仅仅使用非健壮数据集也能得到相当的表现,甚至比使用健壮数据集时在不要求健壮性时表现更好。为了研究这一特性,文中对训练集进行了更改。在标签上作出两类更改:
- 随机生成标签
- 使用原有标签重新分配(例如打乱标签)
无论哪种方式都会使原数据
x
x
x与标签
t
t
t不匹配。此时,通过在
x
x
x中添加尽量小的扰动,使一个通过标准训练的分类器
C
C
C重新认为两着相匹配。
x
a
d
v
=
arg
min
∥
x
′
−
x
∥
≤
ε
L
C
(
x
′
,
t
)
x_{a d v}=\underset{\left\|x^{\prime}-x\right\| \leq \varepsilon}{\arg \min } L_{C}\left(x^{\prime}, t\right)
xadv=∥x′−x∥≤εargminLC(x′,t)
其中
ε
\varepsilon
ε为小常数,
L
C
L_C
LC为一个普通分类器的损失函数。由于
ε
\varepsilon
ε值小,
x
a
d
v
x_{a d v}
xadv中的健壮特征应仍然与原标签关联紧密,因此影响分类器判断的是非健壮特征。以此为基础,文中准备了如上文的两类数据集
D
^
r
a
n
d
\widehat{\mathcal{D}}_{r a n d}
D
rand和
D
^
d
e
t
\widehat{\mathcal{D}}_{d e t}
D
det:
E
(
x
,
y
)
∼
D
^
rand
[
y
⋅
f
(
x
)
]
{
>
0
if
f
non-robustly useful under
D
≃
0
otherwise
\mathbb{E}_{(x, y) \sim \widehat{\mathcal{D}}_{\text {rand}}}[y \cdot f(x)]\left\{\begin{array}{ll}>0 & \text { if } f \text { non-robustly useful under } \mathcal{D} \\ \simeq 0 & \text { otherwise }\end{array}\right.
E(x,y)∼D
rand[y⋅f(x)]{>0≃0 if f non-robustly useful under D otherwise
由于标签随机产生,因此初非健壮特征的特征应与标签
t
t
t几乎没有关联。
E
(
x
,
y
)
∼
D
^
d
e
t
[
y
⋅
f
(
x
)
]
{
>
0
if
f
non-robustly useful under
D
<
0
if
f
robustly useful under
D
∈
R
otherwise
(
f
not useful under
D
)
\mathbb{E}_{(x, y) \sim \widehat{\mathcal{D}}_{d e t}}[y \cdot f(x)]\left\{\begin{array}{ll}>0 & \text { if } f \text { non-robustly useful under } \mathcal{D} \\ <0 & \text { if } f \text { robustly useful under } \mathcal{D} \\ \in \mathbb{R} & \text { otherwise }(f \text { not useful under } \mathcal{D})\end{array}\right.
E(x,y)∼D
det[y⋅f(x)]⎩⎨⎧>0<0∈R if f non-robustly useful under D if f robustly useful under D otherwise (f not useful under D)
由于标签在原标签池中选择,因此健壮特征应与标签
t
t
t负相关,而其余特征则不确定。
在测试中发现原数据集中表现的越好,在修改后的数据集中表现的也越好,其中由于
D
^
d
e
t
\widehat{\mathcal{D}}_{d e t}
D
det中健壮特征产生了副收益,所以表现更差。但即使如此,分类器的整体效果依然没有崩坏,可见非健壮特征在分类过程中作用之大。