2021ICML:稀疏细微对抗攻击同伦算法 (Sparse and imperceptible adversarial attack via a homotopy algorithm)
Torch:https://github.com/VITA-Group/SparseADV_Homotopy
稀疏对抗攻击仅需一些
ℓ
0
\ell_0
ℓ0范化的像素便能愚弄深度神经网络 (DNN)。近期有工作将它与
ℓ
∞
\ell_\infty
ℓ∞扰动幅度的细微扰动结合。由此产生的稀疏细微攻击呈现相关性,并揭示了更多的DNN与其脆弱性的内容。
进一步,耦合了
ℓ
0
\ell_0
ℓ0正则和非凸框约束的优化更加困难,相应地攻击也更具挑战性。一种同伦算法被提出来应对这一挑战,其在一个统一的框架中同时解决稀疏性和扰动界限:
1)在每一次迭代中,非凸规划算法非单调加速近端梯度 (nmAPG) 需要优化
ℓ
0
\ell_0
ℓ0正则对抗损失;
2)为避免陷入局部最小值,添加了
ℓ
0
\ell_0
ℓ0更改控制步骤,以及一个可选的攻击后步骤;
3)扩展算法到结构稀疏正则;
4)同时在攻击和非攻击领域验证所提出的同伦攻击 (Homotopy attack) 的有效性,数据集包括CIFAR-10和ImageNet。
@inproceedings{Zhu:2021:1286812877,
author = {Ming Kang Zhu and Tian Long Chen and Zhang Yang Wang},
title = {Sparse and imperceptible adversarial attack via a homotopy algorithm},
booktitle = {Proceedings of International Conference on Machine Learning},
pages = {12868--12877},
year = {2021},
url = {http://proceedings.mlr.press/v139/zhu21a.html}
}
令
X
\mathcal{X}
X表示原始图像的集合,一个训练的DNN分类器用于将
X
\mathcal{X}
X中的每张图像
x
∈
R
n
x\in\mathbb{R}^n
x∈Rn转换为类标签
y
∈
Y
=
{
1
,
2
,
…
,
K
}
y\in\mathcal{Y}=\{1,2,\dots,K\}
y∈Y={1,2,…,K}。给定图像
x
0
∈
X
x_0\in\mathcal{X}
x0∈X,目标是找到一个稀疏细微扰动
δ
∈
R
n
\delta\in\mathbb{R}^n
δ∈Rn,其可以将图像
x
0
+
δ
x_0+\delta
x0+δ误分类为类别
t
t
t。与此同时,扰动的数量应该尽可能小,扰动的量级亦是如此:
min
δ
f
(
x
0
+
δ
,
t
)
+
λ
∥
δ
∥
0
s
.
t
.
∥
δ
∥
∞
≤
ϵ
,
0
≤
x
0
+
δ
≤
1.
(1)
\tag{1} minδf(x0+δ,t)+λ‖δ‖0s.t.‖δ‖∞≤ϵ,0≤x0+δ≤1.
min
δ
f
(
x
0
+
δ
,
y
0
)
+
λ
∥
δ
∥
0
s
.
t
.
∥
δ
∥
∞
≤
ϵ
,
0
≤
x
0
+
δ
≤
1.
(2)
\tag{2} minδf(x0+δ,y0)+λ‖δ‖0s.t.‖δ‖∞≤ϵ,0≤x0+δ≤1.
由于公式1中的约束均为框约束,因此可以简化为一个
δ
∈
[
l
,
u
]
\delta\in[l,u]
δ∈[l,u],其中
l
,
u
∈
R
n
l,u\in\mathbb{R}^n
l,u∈Rn,以及
0
∈
[
l
.
u
]
0\in[l.u]
0∈[l.u]。令
I
[
l
,
u
]
I_{[l,u]}
I[l,u]表示指示函数:
I
[
l
,
u
]
=
{
0
,
δ
∈
[
l
,
u
]
+
∞
,
否则
.
I_{[l,u]}=\left\{ 0,δ∈[l,u]+∞,否则.
min
δ
f
(
x
0
+
δ
,
t
)
+
λ
∥
δ
∥
0
+
I
[
l
,
u
]
(
δ
)
.
(3)
\tag{3} \min_\delta f(x_0+\delta,t)+\lambda\|\delta\|_0+I_{[l,u]}(\delta).
δminf(x0+δ,t)+λ∥δ∥0+I[l,u](δ).(3) 非凸和非平滑性使得公式3的求解似乎不可行。经典的加速近端梯度 (APG) 方法已被证明对凸优化问题是有效的,但仍不清楚通常的APG是否可以收敛到非凸规划的临界点。Li等人针对非凸和非光滑程序提出了两种收敛加速近端梯度方法,其中公式3是一种特殊情况,本文中采样线性搜索非单调APG (nmAPG) 算法。
APG首先使用当前和先前的解决方案获得外推解决方案,然后解决近端映射问题。当扩展APG到非凸规划问题时,主要的挑战是防止由于振荡现象引起的错误外推。Li等人引入了一个监视器来防止和纠正错误的外推,使它们满足足够的下降特性。在实践中,由于不完全知道梯度的Lipstchiz常数,nmAPG使用以BB步长初始化的回溯搜索来搜索步长。
接下来说明如何使用nmAPG来求解公式3。假设
f
f
f是一个平滑非凸函数,其梯度有Lipstchiz常数
L
L
L。给定
δ
k
\delta^k
δk,有:
f
(
x
0
+
δ
,
t
)
≤
f
(
x
0
+
δ
k
,
t
)
+
∇
δ
f
(
x
0
+
δ
k
,
t
)
T
(
δ
−
δ
k
)
+
L
2
∥
δ
−
δ
k
∥
2
,
f(x_0+\delta,t)\leq f(x_0+\delta^k,t)+\nabla_\delta f(x_0+\delta^k,t)^T(\delta-\delta^k)+\frac{L}{2}\|\delta-\delta^k\|^2,
f(x0+δ,t)≤f(x0+δk,t)+∇δf(x0+δk,t)T(δ−δk)+2L∥δ−δk∥2,其中
∥
⋅
∥
\|\cdot\|
∥⋅∥是
∥
⋅
∥
2
\|\cdot\|_2
∥⋅∥2的简化。
然后考虑问题:
min
δ
f
(
x
0
+
δ
k
,
t
)
+
∇
δ
f
(
x
0
+
δ
k
,
t
)
T
(
δ
−
δ
k
)
+
L
2
∥
δ
−
δ
k
∥
2
+
λ
∥
δ
∥
0
+
I
[
l
,
u
]
,
\min_\delta f(x_0+\delta^k,t)+\nabla_\delta f(x_0+\delta^k,t)^T(\delta-\delta^k)+\frac{L}{2}\|\delta-\delta^k\|^2+\lambda\|\delta\|_0+I_{[l,u]},
δminf(x0+δk,t)+∇δf(x0+δk,t)T(δ−δk)+2L∥δ−δk∥2+λ∥δ∥0+I[l,u],其等价于
min
δ
L
2
∥
δ
−
[
δ
k
−
1
L
∇
δ
f
(
x
0
+
δ
k
,
t
)
]
∥
2
+
λ
∥
δ
∥
0
+
I
[
l
,
u
]
.
(4)
\tag{4} \min_\delta \frac{L}{2}\|\delta-[\delta^k-\frac{1}{L}\nabla_\delta f(x_0+\delta^k,t)]\|^2+\lambda\|\delta\|_0+I_{[l,u]}.
δmin2L∥δ−[δk−L1∇δf(x0+δk,t)]∥2+λ∥δ∥0+I[l,u].(4) 令
g
(
δ
)
=
λ
∥
δ
∥
0
+
I
[
l
,
u
]
(
δ
)
g(\delta)=\lambda\|\delta\|_0+I_{[l,u]}(\delta)
g(δ)=λ∥δ∥0+I[l,u](δ),公式4的解表示为:
Prox
1
L
g
(
δ
k
−
1
L
∇
f
(
x
0
+
δ
k
,
t
)
)
=
arg min
δ
L
2
∥
δ
−
[
δ
k
−
1
L
∇
δ
f
(
x
0
+
δ
k
,
t
)
]
∥
2
λ
∥
δ
∥
0
+
I
[
l
,
u
]
.
(5)
\tag{5} \text{Prox}_{\frac{1}{L}g}(\delta^k-\frac{1}{L}\nabla f(x_0+\delta^k,t))=\argmin_\delta\frac{L}{2}\|\delta-[\delta^k-\frac{1}{L}\nabla_\delta f(x_0+\delta^k,t)]\|^2\lambda\|\delta\|_0+I_{[l,u]}.
ProxL1g(δk−L1∇f(x0+δk,t))=δargmin2L∥δ−[δk−L1∇δf(x0+δk,t)]∥2λ∥δ∥0+I[l,u].(5) 事实上,其可以显式获得。令:
S
L
(
δ
)
=
δ
−
1
L
∇
δ
f
(
x
0
+
δ
,
t
)
,
∀
δ
∈
[
l
,
u
]
,
S_L(\delta)=\delta-\frac{1}{L}\nabla_\delta f(x_0+\delta,t),\forall\delta\in[l,u],
SL(δ)=δ−L1∇δf(x0+δ,t),∀δ∈[l,u],以及
Π
[
l
,
u
]
(
δ
)
=
arg min
{
∥
y
−
δ
∥
:
y
∈
[
l
,
u
]
}
,
∀
δ
∈
R
n
.
\Pi_{[l,u]}(\delta)=\argmin\{\|y-\delta\|:y\in[l,u]\},\forall\delta\in\mathbb{R}^n.
Π[l,u](δ)=argmin{∥y−δ∥:y∈[l,u]},∀δ∈Rn. 对于所有的
i
=
1
,
2
,
…
,
n
i=1,2,\dots,n
i=1,2,…,n,公式4的最优解为:
δ
i
k
+
1
=
{
[
Π
[
l
,
u
]
(
S
L
(
δ
k
)
)
]
,
[
S
L
(
δ
k
)
]
i
2
−
[
Π
[
l
,
u
]
(
S
L
(
δ
k
)
)
−
S
L
(
δ
k
)
]
i
2
>
2
λ
L
;
0
,
其他
.
\delta_i^{k+1}=\left\{ [Π[l,u](SL(δk))],[SL(δk)]2i−[Π[l,u](SL(δk))−SL(δk)]2i>2λL;0,其他.
分组稀疏于近期引入至对抗攻击以提供更多的结构性与可解释性的扰动。为了将我们的算法从按元素
ℓ
0
\ell_0
ℓ0正则扩展到分组稀疏,需要重新制定问题和nmAPG。
假设输入图像
x
0
x_0
x0可以被划分为
m
m
m个组
x
T
=
(
x
G
1
T
,
…
,
x
G
m
T
)
x^T=(x^T_{G_1},\dots,x^T_{G_m})
xT=(xG1T,…,xGmT),那么关于分组稀疏和不可感知的问题可以转换为:
min
δ
f
(
x
0
+
δ
,
t
)
+
λ
∥
δ
∥
2
,
0
s
.
t
.
∥
δ
∥
∞
≤
ϵ
,
0
≤
x
0
+
δ
≤
1
,
(6)
\tag{6} minδf(x0+δ,t)+λ‖δ‖2,0s.t.‖δ‖∞≤ϵ,0≤x0+δ≤1,
∥
δ
∥
2
,
0
=
∣
{
i
:
∥
δ
G
i
≠
0
,
i
=
1
,
2
,
…
,
m
}
∣
.
\|\delta\|_{2,0}=|\{i:\|\delta_{G_i}\neq0,i=1,2,\dots,m\}|.
∥δ∥2,0=∣{i:∥δGi=0,i=1,2,…,m}∣. 同样使用指示函数,有:
min
δ
f
(
x
0
+
δ
,
t
)
+
λ
∥
δ
∥
2
,
0
+
I
[
l
,
u
]
(
δ
)
.
\min_\delta f(x_0+\delta,t)+\lambda\|\delta\|_{2,0}+I_{[l,u]}(\delta).
δminf(x0+δ,t)+λ∥δ∥2,0+I[l,u](δ). 令
f
f
f是一个平滑非凸函数,其梯度是具有 Lipschitz常数
L
L
L的Lipschitzian。与公式4类似,考虑如下问题:
min
δ
L
2
∥
δ
−
[
δ
k
−
1
L
∇
δ
f
(
x
0
+
δ
k
,
t
)
]
∥
2
+
λ
∥
δ
∥
2
,
0
+
I
[
l
,
u
]
(
δ
)
=
min
δ
L
2
∥
δ
−
s
L
(
δ
k
)
∥
2
+
λ
∥
δ
∥
2
,
0
+
I
[
l
,
u
]
(
δ
)
(8)
\tag{8} minδL2‖δ−[δk−1L∇δf(x0+δk,t)]‖2+λ‖δ‖2,0+I[l,u](δ)=minδL2‖δ−sL(δk)‖2+λ‖δ‖2,0+I[l,u](δ)
定理2.1. 公式8的最小解为,对于所有的
i
=
1
,
2
,
…
,
m
i=1,2,\dots,m
i=1,2,…,m:
δ
G
i
k
+
1
=
{
[
∏
[
l
,
u
]
(
s
L
(
δ
k
)
)
]
G
i
,
∥
[
s
L
(
δ
k
)
]
G
i
∥
2
−
∥
[
Π
[
l
,
u
]
(
s
L
(
δ
k
)
)
−
s
L
(
δ
k
)
]
G
i
∥
2
>
2
λ
L
0
,
otherwise
\delta_{G_{i}}^{k+1}=\left\{[∏[l,u](sL(δk))]Gi, ‖[sL(δk)]Gi‖2−‖[Π[l,u](sL(δk))−sL(δk)]Gi‖2>2λL0, otherwise
证明. 首先,由于按组独立,公式8可以分解为
m
m
m个子问题:
min
δ
G
i
L
2
∥
[
δ
−
s
L
(
δ
k
)
]
G
i
∥
2
+
λ
⋅
sgn
(
∥
δ
G
i
∥
)
+
I
[
l
G
i
,
u
G
i
]
(
δ
G
i
)
,
(10)
\tag{10} \min _{\delta_{G_{i}}} \frac{L}{2}\left\|\left[\delta-s_{L}\left(\delta^{k}\right)\right]_{G_{i}}\right\|^{2}+\lambda \cdot \operatorname{sgn}\left(\left\|\delta_{G_{i}}\right\|\right)+I_{\left[l_{G_{i}}, u_{G_{i}}\right]}\left(\delta_{G_{i}}\right),
δGimin2L
[δ−sL(δk)]Gi
2+λ⋅sgn(∥δGi∥)+I[lGi,uGi](δGi),(10) 如果
∥
δ
G
i
∥
=
0
\left\|\delta_{G_{i}}\right\|=0
∥δGi∥=0,则意味着
δ
G
1
=
0
\delta_{G_{1}}=0
δG1=0,则优化目标的值为
L
2
∥
[
s
L
(
δ
k
)
]
G
i
∥
2
\frac{L}{2}\left\|\left[s_{L}\left(\delta^{k}\right)\right]_{G_{i}}\right\|^{2}
2L
[sL(δk)]Gi
2;如果
∥
δ
G
i
∥
≠
0
\left\|\delta_{G_{i}}\right\| \neq 0
∥δGi∥=0,则
sgn
(
∥
δ
G
i
∥
)
=
1
\operatorname{sgn}\left(\left\|\delta_{G_{i}}\right\|\right)=1
sgn(∥δGi∥)=1,此时公式10变为:
λ
+
∑
j
∈
G
i
min
δ
j
L
2
(
δ
j
−
[
s
L
(
δ
k
)
]
j
)
2
+
I
[
l
j
,
u
j
]
(
δ
j
)
.
(11)
\tag{11} \lambda+\sum_{j \in G_{i}} \min _{\delta_{j}} \frac{L}{2}\left(\delta_{j}-\left[s_{L}\left(\delta^{k}\right)\right]_{j}\right)^{2}+I_{\left[l_{j}, u_{j}\right]}\left(\delta_{j}\right) .
λ+j∈Gi∑δjmin2L(δj−[sL(δk)]j)2+I[lj,uj](δj).(11) 在公式11中,有最小解为
[
Π
[
l
,
u
]
(
s
L
(
δ
k
)
)
]
j
,
∀
j
∈
G
i
\left[\Pi_{[l, u]}\left(s_{L}\left(\delta^{k}\right)\right)\right]_{j}, \quad \forall j \in G_{i}
[Π[l,u](sL(δk))]j,∀j∈Gi, which can be unified as
[
Π
[
l
,
u
]
(
s
L
(
δ
k
)
)
]
G
i
\left[\Pi_{[l, u]}\left(s_{L}\left(\delta^{k}\right)\right)\right]_{G_{i}}
[Π[l,u](sL(δk))]Gi,有最小值为:
λ
+
∑
j
∈
G
i
L
2
(
[
Π
[
l
,
u
]
(
s
L
(
δ
k
)
)
−
s
L
(
δ
k
)
]
j
)
2
,
\lambda+\sum_{j \in G_{i}} \frac{L}{2}\left(\left[\Pi_{[l, u]}\left(s_{L}\left(\delta^{k}\right)\right)-s_{L}\left(\delta^{k}\right)\right]_{j}\right)^{2},
λ+j∈Gi∑2L([Π[l,u](sL(δk))−sL(δk)]j)2,其可以被重写为
λ
+
L
2
∥
[
Π
[
l
,
u
]
(
s
L
(
δ
k
)
)
−
\lambda+\frac{L}{2} \|\left[\Pi_{[l, u]}\left(s_{L}\left(\delta^{k}\right)\right)-\right.
λ+2L∥[Π[l,u](sL(δk))−
s
L
(
δ
k
)
]
G
i
∥
2
\left.s_{L}\left(\delta^{k}\right)\right]_{G_{i}} \|^{2}
sL(δk)]Gi∥2。因此对比两个优化目标,公式8的解可以由公式9获得。
令
g
(
δ
)
=
λ
∥
δ
∥
2
,
0
+
I
[
l
,
u
]
(
δ
)
g(\delta)=\lambda\|\delta\|_{2,0}+I_{[l, u]}(\delta)
g(δ)=λ∥δ∥2,0+I[l,u](δ),公式8的解表示为:
Prox
1
t
g
(
δ
k
−
1
L
∇
δ
f
(
x
0
+
δ
k
,
t
)
)
=
argmin
δ
L
2
∥
δ
−
[
δ
k
−
1
L
∇
δ
f
(
x
0
+
δ
k
,
t
)
]
∥
2
+
λ
∥
δ
∥
2
,
0
+
I
[
l
,
u
]
(
δ
)
.
Prox1tg(δk−1L∇δf(x0+δk,t))=argminδL2‖δ−[δk−1L∇δf(x0+δk,t)]‖2+λ‖δ‖2,0+I[l,u](δ).
使用正则化优化的现有稀疏对抗攻击方法通常预先选择一个特别的固定权重以控制稀疏性的正则化项。此设置过于理想化,在实践中需要在调整权重时进行多次反复试验才能达到某些所需的稀疏度。为了缓解这个问题,我们使用同伦管理中的一个算法来制定nmAPG,其允许我们为所有正则化器雇佣一个权重降序序列以完成优化。它可以保证多阶段同伦解。在每一个阶段中,使用nmAPG优化公式1直接达到最大内循环次数。这可以从最后一个阶段不断地提供一个稀疏的初始解,用于下一个阶段的优化,从而得到最终的稀疏解。
尽管同伦是一个用于凸优化的高效灵活策略,但是它不能直接应用于如DNN对抗攻击这样的高维非凸问题。例如优化函数是高度非凸的,即使公式1的nmAPG的输入扰动是稀疏的,nmAPG的收敛解也可能是一个糟糕的局部最小值且可能不稀疏。接下来描述一些稳定策略。
权重
λ
\lambda
λ的初始值对于接下来的性能有很大影响。对于同伦,公式1的理想初始权重应当使得nmAPG的解
δ
\delta
δ接近
0
0
0:
1)以粗粒度方式增加
λ
\lambda
λ,直到一次迭代的nmAPG给出
δ
=
0
\delta=0
δ=0,因为如果
λ
\lambda
λ足够大,nmAPG将专注于优化稀疏函数;
2)以相对细粒度的方式减小
λ
\lambda
λ,直到 nmAPG的第一次迭代开始更新
δ
\delta
δ;
3)获得的
λ
\lambda
λ乘以指定常数
c
c
c以更好地执行稀疏约束。算法1总结了该过程。

即使有一个好的初始化权重,
ℓ
0
\ell_0
ℓ0正则的同伦解仍然对沿同伦路径的正则化参数
λ
\lambda
λ敏感,这可能在公式1的损失函数与正则器均非凸时,无法准确地控制稀疏度。此外,由于公式1的
λ
\lambda
λ固定,哪怕nmAPG的输入解是稀疏的,器收敛解也可能是非稀疏的。因此有必要引入额外的稀疏控制。
特别地,在同伦的每次外循环中,我们限制
ℓ
0
\ell_0
ℓ0的最大数为
v
v
v。假设
r
r
r是当前同伦外循环中对 nmAPG的输入扰动的
ℓ
0
\ell_0
ℓ0范数。然后,在nmAPG的内循环结束时,我们简单地保留具有最高
(
r
+
v
)
(r + v)
(r+v)绝对值的
δ
\delta
δ,并将所有其他
δ
\delta
δ减少到 0。这将保持扰动的非零条目数量稳定增加,从而避免了权重的小幅减少使扰动的
ℓ
0
\ell_0
ℓ0范数突然增加的情况。
在同伦算法中,
v
v
v的值是一个输入常量。当满足以下条件时,它会临时更新为一个小的正整数输入到nmAPG:
∥
δ
k
+
1
∥
1
∥
δ
0
k
+
1
∥
0
≤
ϵ
∗
γ
,
(12)
\tag{12} \frac{\|\delta^{k+1}\|_1}{\|\delta^{k+1}_0\|_0}\leq\epsilon*\gamma,
∥δ0k+1∥0∥δk+1∥1≤ϵ∗γ,(12)其中
γ
<
1
\gamma<1
γ<1是一个用户指定的常量。这样设置的原因是,如果公式12满足,
δ
k
+
1
\delta^{k+1}
δk+1的平均扰动量级将远小于不可见阈值
ϵ
\epsilon
ϵ,这意味着
∥
δ
k
+
1
∥
0
\|\delta^{k+1}\|_0
∥δk+1∥0实体的数量不足以攻击分类模型。因此
v
v
v被设置为一个临时正整数,nmAPG将在很小的
v
v
v下优化直接与公式12相逆。
上述策略已经可以生成稀疏对抗扰动。然而,我们注意到同伦算法有时仍会陷入局部最小,这似乎对于非凸
f
f
f是不可避免的。此时,随着同伦算法的减小,扰动的
ℓ
1
\ell_1
ℓ1范数与相应的
ℓ
0
\ell_0
ℓ0范数不成比例地增加,这意味着该算法不能有效地使用被扰动的条目,并且满足不等式公式12。因此该公式被看作是一个促发条件,表内nmAPG已经陷入局部最优。
为了缓解这个问题,提出一些“推动”来帮组算法更快地逃离局部最小。在同伦算法的外循环中,检查公式12是否满足。如果满足,则执行以下攻击后扰动步骤:
min
δ
w
1
f
(
x
0
+
δ
,
t
)
+
w
2
∥
δ
∥
p
s
.
t
.
∥
δ
∥
∞
≤
ϵ
,
0
≤
x
0
+
δ
≤
1
,
(13)
\tag{13} minδw1f(x0+δ,t)+w2‖δ‖ps.t.‖δ‖∞≤ϵ,0≤x0+δ≤1,
关于
w
1
≫
w
2
w_1\gg w_2
w1≫w2的假设使得优化器能够聚焦于最小化函数
f
f
f,而
∥
δ
∥
p
\|\delta\|_p
∥δ∥p的值可能增加。而当公式12违背时,这说明算法可能已经逃离局部最小。由于仅提供了一些推动方向而不是准确的更新,使用梯度下降优化公式13的迭代次数与当前的
ℓ
0
\ell_0
ℓ0成比例。在攻击后阶段之后,结合下一次同伦外循环中
v
v
v较小的nmAPG 阶段,扰动的
ℓ
1
\ell_1
ℓ1范数会增加,从而违反不等式公式12,然后可以将
v
v
v恢复正常。
算法2展示了完整的同伦攻击过程。
