Evaluating the Robustness of Nearest Neighbor Classifiers: A Primal-Dual Perspective
1. Introduction
对抗攻击:construct small imperceptible input perturbations to alter the predicted label。
攻击算法(adversarial attack):find an upper bound of the “minimum adversarial perturbation”。
验证算法(robustness verification):find an lower bound of the “minimum adversarial perturbation”。
由于神经网络的非凸性,目前的攻击和验证算法都很难达到 minimum adversarial perturbation。
本文贡献:本文研究对 1-NN 模型的攻击。将寻找 minimum adversarial perturbation 刻画为一系列的凸二次规划问题,并在多项式时间内求解。原问题的任何一个可行解都可以作为一个成功的攻击样本,对偶问题的任意一个可行解都可作为 lower bound of the minimum adversarial perturbation。
2. 模型
数据集:
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
.
.
.
,
(
x
n
,
y
n
)
{(x_1, y_1),(x_2, y_2),...,(x_n, y_n)}
(x1,y1),(x2,y2),...,(xn,yn),
x
∈
R
d
x \in R^d
x∈Rd,
y
∈
{
1
,
2
,
.
.
.
,
C
}
y \in \{1,2,...,C\}
y∈{1,2,...,C}。
KNN 分类器:
R
d
→
{
1
,
2
,
.
.
.
,
C
}
R^d \rightarrow \{1,2,...,C\}
Rd→{1,2,...,C}。
给定一个测试样本
z
z
z,分类器根据 Euclid 距离找到
z
z
z 的
K
K
K 个近邻,通过少数服从多数的原则确定其类别。
攻击算法:
ϵ
∗
=
{
min
δ
∣
∣
δ
∣
∣
s
.
t
.
f
(
z
+
δ
)
≠
1
}
,
δ
∈
R
d
\epsilon^* = \{ \min_\delta ||\delta|| s.t. f(z+\delta) \neq 1 \}, \quad \delta \in R^d
ϵ∗={δmin∣∣δ∣∣s.t.f(z+δ)=1},δ∈Rd
验证算法:find a lower bound
r
r
r, s.t.
f
(
z
+
δ
)
=
1
,
∀
∣
∣
δ
∣
∣
≤
r
.
f(z+\delta)=1, \quad \forall ||\delta|| \le r.
f(z+δ)=1,∀∣∣δ∣∣≤r.
3. 原二次规划问题
对于 1-NN 模型,给定一个测试样本
z
z
z,希望通过增加扰动
δ
\delta
δ,使得
z
+
δ
z+\delta
z+δ 到
x
j
(
y
j
≠
1
)
x_j (y_j \neq 1)
xj(yj=1)的距离小于其到类别 1 下的其他样本的距离:
每个约束条件可以重写为:
因此上述约束问题可表示为:
其中,
A
∈
R
n
×
d
,
b
∈
R
n
A \in R^{ n \times d }, b \in R^n
A∈Rn×d,b∈Rn。
a
i
=
(
x
j
−
x
i
)
,
b
i
=
∣
∣
z
−
x
i
∣
∣
2
−
∣
∣
z
−
x
j
∣
∣
2
2
a_i = (x_j - x_i), b_i = \frac{ ||z-x_i||^2 - ||z-x_j||^2 }{2}
ai=(xj−xi),bi=2∣∣z−xi∣∣2−∣∣z−xj∣∣2。
通过对所有的
{
j
:
y
j
≠
1
}
\{ j:y_j \neq 1 \}
{j:yj=1}求解上述二次规划问题,最终的minimum adversarial perturbation norm 为
ϵ
∗
=
min
j
:
y
j
≠
1
2
ϵ
(
j
)
\epsilon^* = \min_{j:y_j \neq 1} \sqrt{2\epsilon^{(j)}}
ϵ∗=minj:yj=12ϵ(j)。
4. 对偶二次规划问题
原问题引入 Lagrange 乘子
λ
≥
0
\lambda \ge 0
λ≥0:
L
(
δ
,
λ
)
=
1
2
δ
T
δ
−
λ
(
A
δ
+
b
)
L(\delta,\lambda) = \frac{1}{2}\delta^T\delta -\lambda (A \delta + b)
L(δ,λ)=21δTδ−λ(Aδ+b)
对
δ
\delta
δ 求导,得:
δ
=
A
T
λ
\delta = A^T \lambda
δ=ATλ
由此可得对偶问题:
Tips:弱对偶对任意的优化问题都成立,强对偶成立需要满足 Slater 条件:原始问题为凸优化问题,即 𝑓(𝑥),𝑔(𝑥) 为凸函数,ℎ(𝑥) 为仿射函数,且可行域中至少有一点使不等式约束严格成立时,强对偶性成立,对偶问题等价于原始问题。KKT条件是在强对偶成立的条件下推导出的变量取值的关系。
基于弱对偶,对任意原问题的可行解
δ
\delta
δ 与对偶问题的可行解
λ
\lambda
λ 都有:
D
(
j
)
(
λ
)
≤
P
(
j
)
(
δ
)
D^{(j)}(\lambda) \le P^{(j)}(\delta)
D(j)(λ)≤P(j)(δ)
基于强对偶,
因此,任意一个对偶问题的可行解
{
λ
(
j
)
}
\{\lambda^{(j)}\}
{λ(j)}都可产生 a lower bound of the minimum adversarial perturbation。
primal-dual relationship between 1-NN attack and verification:
- 任意一个原问题的可行解都可作为一个成功的攻击样本,且给出了 ϵ ∗ \epsilon^* ϵ∗ 的 upper bound。在求解优化问题时,通常距离测试样本 z z z 越近的 x j x_j xj 能够产生更小的 δ \delta δ,利用这个特点,一定程度上可以简化计算。
- 对偶问题的可行解给出了 ϵ ∗ \epsilon^* ϵ∗ 的 lower bound。
5. 二次规划问题的求解
看不下去 liao。o(╥﹏╥)o
对偶问题的解是稀疏的:假设
λ
∗
\lambda^*
λ∗ 是对偶问题的最优解,如果
λ
i
≠
0
\lambda_i \neq 0
λi=0,则原问题的限制条件等号成立(由 KKT 条件可以得出):
∣
∣
z
+
δ
−
x
j
∣
∣
2
=
∣
∣
z
+
δ
−
x
i
∣
∣
2
|| z + \delta - x_j ||^2 = || z + \delta - x_i ||^2
∣∣z+δ−xj∣∣2=∣∣z+δ−xi∣∣2,从而
z
+
δ
z + \delta
z+δ 在
(
x
i
,
x
j
)
(x_i, x_j)
(xi,xj) 连线的中垂面上(通过画图得到),从而如果
∣
∣
λ
∣
∣
0
=
q
||\lambda||_0 = q
∣∣λ∣∣0=q,则
z
+
δ
z + \delta
z+δ 在
q
q
q 个这种超平面上,所以
λ
\lambda
λ 是稀疏的。For instance, on MNIST dataset when we test on 100 subproblems, the average number of
∣
∣
λ
∣
∣
0
||\lambda||_0
∣∣λ∣∣0 is only 50.06, with 7612.59 dual variables per subproblem.(有点类似于 SVM 的稀疏。)
由于
λ
\lambda
λ 是稀疏的,作者提出了screening rule 来去除对偶问题中的一些变量:
A naive upper bound
∣
∣
δ
∗
∣
∣
≤
∣
∣
x
j
−
z
∣
∣
||\delta^*|| ≤||x_j - z ||
∣∣δ∗∣∣≤∣∣xj−z∣∣ can be used for running the screening rule.
┌
∣
∗
´
∀
`
∣
┘
\color{green}{┌|*´∀`|┘}
┌∣∗´∀`∣┘
┌
∣
∗
´
∀
`
∣
┘
\color{orange}{┌|*´∀`|┘}
┌∣∗´∀`∣┘
┌
∣
∗
´
∀
`
∣
┘
\color{red}{┌|*´∀`|┘}
┌∣∗´∀`∣┘ 由于
λ
\lambda
λ 是稀疏的,可使用贪婪坐标上升法求解。初始化
λ
=
0
\lambda=0
λ=0,每次迭代:
到此为止,作者提供了对于某个
p
(
j
)
(
δ
)
p^{(j)}(\delta)
p(j)(δ),如何快速求解。但是求解所有的
p
(
j
)
(
δ
)
p^{(j)}(\delta)
p(j)(δ) 求解仍然是一个很耗时的工作。可通过以下方式优化:
假设对于某个原问题
p
(
k
)
(
δ
)
p^{(k)}(\delta)
p(k)(δ),其解为
δ
k
\delta_k
δk,则有
ϵ
∗
≤
∣
∣
δ
k
∣
∣
\epsilon^* \le ||\delta_k||
ϵ∗≤∣∣δk∣∣,又因为对于任意可行解都有
D
(
j
)
(
λ
)
≤
P
(
j
)
(
δ
)
D^{(j)}(\lambda) \le P^{(j)}(\delta)
D(j)(λ)≤P(j)(δ),那么那些满足
D
(
j
)
(
λ
)
>
δ
k
T
δ
k
,
∃
λ
D^{(j)}(\lambda) > \delta_k^T \delta_k, \exist \lambda
D(j)(λ)>δkTδk,∃λ 的问题都可以被移除。
作者选择了这样的一个
λ
\lambda
λ 来筛选:
λ
\lambda
λ 具有 one-hot 的形式,此时对偶问题最优解易得为:
因此,凡是满足以下条件的
p
(
j
)
(
δ
)
p^{(j)}(\delta)
p(j)(δ) 都可以被移除:
算法:
6. 实验
以后再补吧 ┌ ∣ ∗ ´ ∀ ` ∣ ┘ \color{green}{┌|*´∀`|┘} ┌∣∗´∀`∣┘ ┌ ∣ ∗ ´ ∀ ` ∣ ┘ \color{orange}{┌|*´∀`|┘} ┌∣∗´∀`∣┘ ┌ ∣ ∗ ´ ∀ ` ∣ ┘ \color{red}{┌|*´∀`|┘} ┌∣∗´∀`∣┘