1 引言
前一段时间解读了一篇发表于CVPR2021的一篇文章《Improving the Transferability of Adversarial Samples with AdversarialTransformations》,解读文章的链接为《CVPR2021:对抗变换提高对抗样本的可迁移性》。该论文的创新点是首先对抗训练出一个对抗变换网络,该对抗变换网络的核心作用是用来抑制对抗样本攻击性,然后借助对抗变换网络生成对抗样本,最终生成的对抗样本在攻击性和可迁移性的方面能力得到了显著的提高。由此启发一个想法油然而生,如果利用论文中方法生成对抗样本对分类器模型进行对抗训练,那么是不是会使分类器模型的更加鲁棒呢?带着这个问题展开本文章的理论分析和实验验证。
2 方法描述
令
x
∈
R
n
×
1
x\in\mathbb{R}^{n\times 1}
x∈Rn×1表示干净的数据样本,其对应的真实标签为
y
∈
{
1
,
⋯
,
k
}
y\in\{1,\cdots,k\}
y∈{1,⋯,k};带有参数
θ
\theta
θ的分类器网络为
f
θ
(
x
)
f_{\theta}(x)
fθ(x),其映射为
f
θ
:
R
n
×
1
→
R
k
×
1
f_\theta:\mathbb{R}^{n\times1}\rightarrow\mathbb{R}^{k\times1}
fθ:Rn×1→Rk×1;带有参数
φ
\varphi
φ的对抗变换网络
g
φ
(
x
)
g_{\varphi}(x)
gφ(x),其映射为
g
φ
:
R
n
×
1
→
R
n
×
1
g_{\varphi}:\mathbb{R}^{n\times 1}\rightarrow \mathbb{R}^{n\times 1}
gφ:Rn×1→Rn×1;损失函数为
J
(
⋅
,
⋅
)
J(\cdot,\cdot)
J(⋅,⋅)。生成对抗样本
x
′
∈
R
n
×
1
x^{\prime}\in \mathbb{R}^{\ n\times 1}
x′∈R n×1一般的优化形式为
max
x
′
J
(
f
θ
(
x
′
)
,
y
)
s
.
t
.
∥
x
′
−
x
∥
∞
≤
ε
\begin{array}{rl}\max\limits_{x^{\prime}}& J(f_{\theta}(x^{\prime}),y)\\\mathrm{s.t.} & \|x^{\prime}-x\|_{\infty}\le \varepsilon\end{array}
x′maxs.t.J(fθ(x′),y)∥x′−x∥∞≤ε其中
∥
⋅
∥
∞
\|\cdot\|_\infty
∥⋅∥∞表示的是无穷范数,
ε
\varepsilon
ε表示的是对抗样本
x
′
x^{\prime}
x′和干净样本
x
x
x之间的最大扰动距离。
当前常用样本数据变换的方式比较固定,比如翻转,缩放,颜色变换等。对抗变换网络的主要目的增强样本变换多样性,从而抑制对抗扰动的攻击性。在生成对抗样本的时候,则需要克服对抗变换网络削弱对抗攻击性的条件下,依然能够使得分类器模型分类出错。对抗变换网络训练与对抗样本生成的对抗目标可以用如下
min
\min
min-
max
\max
max公式给出
min
φ
max
x
′
J
(
f
θ
(
g
φ
(
x
′
)
)
,
y
)
s
.
t
.
{
∥
x
′
−
x
∥
∞
≤
ε
arg
max
f
θ
(
g
φ
(
x
)
)
=
y
\begin{array}{rl}\min\limits_{\varphi}\max\limits_{x^{\prime}}&J(f_{\theta}(g_{\varphi}(x^\prime)),y)\\\mathrm{s.t.}&\left\{\begin{aligned}\|&x^{\prime}-x\|_{\infty}\le\varepsilon\\&\arg\max f_{\theta}(g_{\varphi}(x))=y\end{aligned}\right.\end{array}
φminx′maxs.t.J(fθ(gφ(x′)),y){∥x′−x∥∞≤εargmaxfθ(gφ(x))=y其中对抗变换网络
g
φ
(
⋅
)
g_{\varphi}(\cdot)
gφ(⋅)可以是
C
N
N
\mathrm{CNN}
CNN网络,也可以是
V
i
s
i
o
n
T
r
a
n
s
f
o
r
m
e
r
\mathrm{Vision \text{ } Transformer}
Vision Transformer,在以下的实验方法中会着重对这两种网络架构进行探讨。
借助对抗网络
g
φ
(
⋅
)
g_{\varphi}(\cdot)
gφ(⋅)生成的对抗样本
x
′
x^{\prime}
x′对分类器模型
f
θ
f_{\theta}
fθ进行对抗训练。此时对抗训练的目标可以由双
min
\min
min-
max
\max
max进行描述
min
θ
max
x
′
min
φ
max
x
′
J
(
f
θ
(
g
φ
(
x
′
)
)
,
y
)
s
.
t
.
{
∥
x
′
−
x
∥
∞
≤
ε
arg
max
f
θ
(
g
φ
(
x
)
)
=
y
\begin{array}{rl}\min\limits_{\theta}\max\limits_{x^{\prime}}\min\limits_{\varphi}\max\limits_{x^{\prime}}&J(f_{\theta}(g_{\varphi}(x^\prime)),y)\\\mathrm{s.t.}&\left\{\begin{aligned}\|&x^{\prime}-x\|_{\infty}\le\varepsilon\\&\arg\max f_{\theta}(g_{\varphi}(x))=y\end{aligned}\right.\end{array}
θminx′maxφminx′maxs.t.J(fθ(gφ(x′)),y){∥x′−x∥∞≤εargmaxfθ(gφ(x))=y利用对抗变换网络对分类器网络进行训练的双
min
\min
min-
max
\max
max对抗训练的原理示意图如下所示
双
min
\min
min-
max
\max
max对抗训练有两种训练方式。一种方法就是分阶段进行对抗训练,即将双
min
\min
min-
max
\max
max对抗训任务分解成两个
min
\min
min-
max
\max
max对抗训练任务。另一种方法就是直接整体对双
min
\min
min-
max
\max
max任务进行对抗训练。
- 双 min \min min- max \max max分阶段对抗训练:第一阶段进行内部最小最大对抗训练,主要目的训练对抗变换网络 g φ ( ⋅ ) g_{\varphi}(\cdot) gφ(⋅),具体的最小最大目标函数为 min φ max x ′ J ( f θ ( g φ ( x ′ ) ) , y ) ⟶ φ ∗ \min\limits_{\varphi}\max\limits_{x^{\prime}}J(f_{\theta}(g_{\varphi}(x^{\prime})),y)\longrightarrow \varphi^* φminx′maxJ(fθ(gφ(x′)),y)⟶φ∗ 其中 φ ∗ \varphi^{} φ∗表示的是对抗变换网络参数 φ \varphi φ训练成熟之后的参数。对以上最小最大目标函数与再进行拆解可知,当借助于对抗变换网络生成对抗样本,另外我们也需要使得对抗样本对原始的分类器模型产生攻击效果,此时最大化损失函数 L a t t a c k = J ( f θ ( g φ ( x ′ ) ) , y ) + γ J ( f θ ( x ′ ) , y ) L_{attack}=J(f_\theta(g_{\varphi}(x^{\prime})),y)+\gamma J(f_{ \theta}(x^{\prime}),y) Lattack=J(fθ(gφ(x′)),y)+γJ(fθ(x′),y)当训练对抗变换网络参数 φ \varphi φ时,我们希望对抗变换网络不仅可以抑制对抗样本的攻击性,而且尽可能保留干净样本的特征,此时最小化损失函数 L t = J ( f θ ( g φ ( x ′ ) ) , y ) + α 1 J ( f θ ( g φ ( x ) ) , y ) + α 2 ∥ x ′ − g φ ( x ′ ) ∥ 2 L_{t}=J(f_{\theta}(g_{\varphi}(x^{\prime})),y)+\alpha_1 J(f_{\theta}(g_{\varphi}(x)),y)+\alpha_2 |x^{\prime}-g_{\varphi}(x^{\prime})|^2 Lt=J(fθ(gφ(x′)),y)+α1J(fθ(gφ(x)),y)+α2∥x′−gφ(x′)∥2阶段一相关的算法流程图如下所示 第二阶段进行外部最小最大对抗训练,其主要目的是训练分类器网络参数 θ \theta θ,具体的极大极小目标函数为 min θ max x ′ J ( f θ ( g φ ∗ ( x ′ ) ) , y ) ⟶ θ ∗ \min\limits_{\theta}\max\limits_{x^{\prime}}J(f_{\theta}(g_{\varphi^{}}(x^{\prime})),y)\longrightarrow \theta^{} θminx′maxJ(fθ(gφ∗(x′)),y)⟶θ∗其中 θ ∗ \theta^{} θ∗表示的分类器模型网络参数 θ \theta θ进行对抗训练成熟之后的参数。此时最大化生成对抗样本的损失函数即为上面的提到 L a t t a c k L_{attack} Lattack,最小化分类器损失函数即是正常的交叉熵函数 L c L_{c} Lc。阶段二相关的算法流程图如下所示
- 双 min \min min- max \max max整体进行对抗训练:一次对抗训练的过程为先生成对抗样本,然后训练对抗变换网络,再生成对抗样本,最后训练分类器模型参数 θ \theta θ,。具体的目标函数为 min θ max x ′ min φ max x ′ J ( f θ ( g φ ) , y ) ⟶ φ ∗ , θ ∗ \min\limits_{\theta}\max\limits_{x^{\prime}}\min\limits_{\varphi}\max\limits_{x^{\prime}}J(f_{\theta}(g_{\varphi}),y)\longrightarrow \varphi^{}, \theta^{} θminx′maxφminx′maxJ(fθ(gφ),y)⟶φ∗,θ∗其中 φ ∗ \varphi^{} φ∗和 θ ∗ \theta^{} θ∗为训练成熟的参数。 将分阶段对抗训练的损失函数 L a t t a c k L_{attack} Lattack, L t L_{t} Lt和 L c L_c Lc融合在一次对抗训练中。整体对抗训练的算法流程图如下所示
3 实验方法
选取的网络结构是
V
G
G
19
\mathrm{VGG19}
VGG19,选取的数据集是
C
K
+
\mathrm{CK+}
CK+,学习率为
0.0002
0.0002
0.0002,训练的
e
p
o
c
h
\mathrm{epoch}
epoch是
100
100
100。生成对抗攻击的算法中的参数中
γ
\gamma
γ取值为
1
1
1。训练对抗变换网络超参数中
α
1
\alpha_1
α1为
1
1
1,
α
2
\alpha_2
α2取值为
0.0001
0.0001
0.0001。选取的
b
a
s
e
l
i
n
e
\mathrm{baseline}
baseline算法有正常训练,
p
g
d
\mathrm{pgd}
pgd对抗训练,
f
a
s
t
\mathrm{fast}
fast对抗训练。具体的实验结果如下表所示,本文提出的两种方法对抗训练的效果并不是很好。
版权归原作者 鬼道2022 所有, 如有侵权,请联系我们删除。