KNN鲁棒性训练之On the Robustness of Deep K-Nearest Neighbors

On the Robustness of Deep K-Nearest Neighbors

1. 摘要

近年来有许多关于网络攻击的模型,但是对于如何有效地防御攻击却鲜有研究。Deep k-Nearest Neighbor (DkNN)是一个防御模型,它结合了 KNN 与 deeping learning 的方法。关于 KNN ,当 K 很大或者数据维度很高时,由于缺少有效的攻击方法,很难去评估 DkNN 模型的鲁棒性。本文提出了一种启发式攻击算法,它通过梯度下降来寻找对抗样本,并用这些样本来攻击 DkNN 模型。实验结果表明,在 KNN 的攻击上,本文的攻击模型比其他 baseline 较好,在 DkNN 的攻击上,本文的攻击模型比其他的 baseline 好出一大截儿。

2. Introduction

深度学习在诸多领域中都取得了巨大的成功,但是许多研究表明,神经网络在攻击样本面前非常脆弱。我们急需更加鲁棒且可解释的神经网络模型。
We develop a new gradient-based attack on KNN and DkNN. gradient-based attack 在神经网络的攻击中很常见,应用在 KNN 上的难点是 KNN 是不可导的。本文的思想是用一个可导函数来近似原来的目标函数,然后利用梯度下降法求导。
本文的贡献如下:

  • 提出了 a gradient-based attack on KNN and DkNN。
  • 对 KNN 与 DkNN 模型进行了攻击,发现本文的攻击模型优于一些 baseline 模型。
  • DkNN 模型提出的 credibility scores 并不能够识别出咱们的攻击样本。
3. 背景

1) 什么是攻击样本?
攻击样本
2) KNN 的鲁棒性
没啥内容
3) Deep k-Nearest Neighbors
DkNN 适应于任意的深度学习模型,offering inter- pretability and robustness through a nearest neighbor search in each of the deep representation layers. 模型利用 credibility score 描述 how likely its prediction is to be correct. 对抗样本 credibility score 很低,因此很容易被检测出来。

4. 模型

文本的攻击为白盒攻击:对于 DkNN,可以看到训练集以及模型参数;对于 KNN,可以看到训练集、 K、距离度量。

4.1 KNN 的攻击

Notation:
z z z:target sample。
y z y_z yz:z’s ground-truth label。
z ^ \hat{z} z^:perturbed version of z z z
( X , Y ) (X,Y) (X,Y): training set。 X ∈ R n × d X \in R^{n \times d} XRn×d
y a d v y_{adv} yadv: class of z ^ \hat{z} z^
Baselines:
mean attack: First search for the class y a d v ≠ y z y_{adv} \neq y_z yadv=yz such that the mean of training samples with that class is closest to z z z in Euclidean distance. Let m m m denote the corresponding mean. Then use binary search to find the smallest c > 0 c > 0 c>0 such that ( 1 − c ) z + c m (1 − c)z + cm (1c)z+cm is misclassified by the kNN. 缺点:对攻击样本的扰动太明显。
naive attack: 对于每一个训练样本 z ′ ( y z ′ ≠ y z ) z'(y_{z'} \neq y_z) z(yz=yz),使 z ^ = ( 1 − c ) z + c z ′ \hat{z} = (1 − c)z + cz' z^=(1c)z+cz,找到最小的 c c c 使得 k n n ( z ^ ) ≠ y z knn(\hat{z} )\neq y_z knn(z^)=yz,由此可产生 n n n 个对抗样本,与 z z z 距离的,作为最终的对抗样本。论文的作者说,对于 1-NN 模型可找到全局最优解,实际上不是这样的。一个反例如下图:
在这里插入图片描述
对于 K(>1)-NN,使用下面的算法:
(1) 找到距离 z z z 最近的点 z ′ ( y z ′ ≠ y z ) z'(y_{z'} \neq y_z) z(yz=yz);(2) 将 z z z 添加到集合 S S S 中;(3) 对于所有类别 y z ′ y_{z'} yz 下的点,迭代地找出距离 S S S 的均值最近的点,并加入到 S S S 中。算法直到 ∣ S ∣ = k 2 |S| = \frac{k}{2} S=2k 时终止。
Gradient-Based Attack:
算法的总体流程:首先选择距离 z z z 较近的 m m m 个点。然后使用基于梯度的优化算法 move z z z closer to the ones with the target class y a d v y_{adv} yadv and further from the ones with the original class y z y_z yz
如何选择 m m m 个点:两种方法:(1) 选择属于同一类的 m m m 个样本(这个类别下的样本均值距离 z z z 比较近);(2) 选择距离 z z z 最近的 m m m 个样本。
要解决的问题是:对 z z z 添加扰动 δ \delta δ,使得 k n n ( z + δ ) = y a d v knn (z + \delta) = y_{adv} knn(z+δ)=yadv。因此优化目标可以是 z z z 的 K 个近邻都属于类别 y a d v y_{adv} yadv,或者说对于 m m m 个点, z z z 要尽量与类别 y a d v y_{adv} yadv 下的点距离近,而与其他类别下的点距离远。
优化目标:
在这里插入图片描述
z ^ = z + δ \hat{z} = z + \delta z^=z+δ 是对抗样本。 w i = 1 w_i = 1 wi=1 if y x i = y a d v y_{x_i}=y_{adv} yxi=yadv else 0 0 0。第一个约束条件限制了扰动 δ \delta δ 的 norm,第二个约束条件是对于图片的像素点来说取值要在 [ 0 , 1 ] [0,1] [0,1] 之间。
但是 上述优化目标有一些缺点。(1) 将所有的 x i x_i xi 同等地看待。(2) 对于 KNN 模型来说,重要的是 K 近邻,其他的样本点并不重要。(3) K 近邻重要,而距离 K 近邻的距离并不重要。
本文提出的改进优化目标:
在这里插入图片描述
在这里插入图片描述
σ ( x ) \sigma(x) σ(x) 函数用来近似 y = 1 y=1 y=1 if x ≥ 0 x \ge 0 x0 else 0 0 0 函数。当 α → ∞ \alpha \rightarrow \infty α 时, σ ( x ) \sigma(x) σ(x) 函趋向于 Heaviside step function。 η \eta η z + δ z+\delta z+δ 到第 k 个邻居的距离。 η \eta η 需要每个优化步骤中都计算一次,为了简化计算,使用所有样本到其第 k 个近邻的距离的均值作为 η \eta η
改进后的优化目标:只要使得 x ∈ y a d v x \in y_{adv} xyadv z + δ z + \delta z+δ 的 k 近邻中就行了,其他的点如果也在 k 近邻中,就要使它们和 z z z 的距离越大越好。
p-norm 的选择:本文另 p = 2 p=2 p=2 p = ∞ p=\infty p=
p = ∞ p = \infty p= 限制条件 z + δ ∈ [ 0 , 1 ] z + \delta \in [0,1] z+δ[0,1] 可转化为:
在这里插入图片描述
b u b_u bu b l b_l bl 分别是像素点值的上界和下界。
p = 2 p = 2 p=2
在这里插入图片描述
将约束条件作为惩罚项加入到目标函数中。( c c c 值的确定:通过二分法,如果攻击成功则增加 c c c 值,如果攻击失败,则减小 c c c 值。)

4.2 DkNN 的攻击

Notation:
f ( x ) f_{(x)} f(x):DkNN 的预测输出。
f λ ( x ) f_\lambda(x) fλ(x):DkNN 模型 λ \lambda λ 层的输出。
mean attack: 与 KNN 的攻击模型相同。
baseline attack:
在这里插入图片描述
x g x_g xg is a sample from a different class whose representation is closest to f 1 ( z ) f_1(z) f1(z)
Gradient-Based Attack:
在这里插入图片描述

5. 实验

KNN 模型的攻击结果:
在这里插入图片描述
DkNN 模型的攻击结果:
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值