摘要
基于决策的对抗攻击的的目标是:仅仅通过被攻击模型输出的预测标签去生成对抗样本。
本文提出了HopSkipJumpAttack算法, 这是一种新的基于梯度方向的估计的算法, 它仅仅利用决策边界的二值信息。
本文提出的算法可以在或者相似度度量下进行无目标攻击或者有目标攻击。
本文对提出的攻击算法进行了理论分析
实验证明相比Boundary Attack攻击算法, HSJA攻击算法所需要的查询被攻击模型的次数更少。
HSJA算法攻击多种防御方法时也取得了良好的效果。
一些背景知识
对抗样本有至少三种分类方法:
-
相似性度量similarity metric
distance
distance是两个图片之间像素值不同的像素的个数
distance是两个图片之间欧式距离
distance是两个图片之间像素值不同的像素的个数 -
攻击目标attack goal
untargeted attack只要攻击后被攻击模型的预测结果和攻击前不一样即可
targeted attack需要攻击后使得模型的预测结果是指定的结果 -
攻击算法的理论模型threat model
白盒攻击white box attack
攻击者可以使用被攻击模型的所有信息,包括模型的结构以及模型的权重参数
黑盒攻击black box attack
攻击者仅仅可以使用被攻击模型的输出;
如果使用的是输出的概率向量则称为基于分数的黑盒攻击 score-based;
如果使用的是被攻击模型输出的预测标签则称为 基于决策的黑盒攻击 decision-based。
本文的贡献:
- 作者提出了一种可以减少误差的搜索决策边界的方法。此外还提出了一种新的无偏的在决策边界上的梯度方向的估计方法, 这种估计方法仅仅使用被攻击模型输出的预测标签信息(模型的决策信息decision-based)。
- 作者提出了新的对抗攻击算法HSJA, 它基于上面的决策边界搜索方法,梯度方向估计方法。这种新的攻击算法是没有超参数的, 并且查询被攻击模型的次数大大减少,同时用理论证明了该算法可以收敛。
- 作者做实验对比了新算法HSJA与当时最新的基于决策decision based的攻击算法的效果,新算法表现良好。
- 作者在数种防御方法上也做了测试。
将对抗样本的生成简化为一个如下的优化过程:
函数输出的预测标签
函数输出的属于每个类的概率的向量
表示有目标攻击中指定的对抗样本需要被误分类的类别
是原始样本, 是对抗样本
迭代生成对抗样本
是原始样本, 蓝色是的部分, 红色是的部分
结合Figure2看下面的迭代算法流程
- 梯度更新Gradient Update
1.1 图2计算处的梯度Compute the gradient, 这里的梯度计算本文使用梯度估计方法, 只需要访问被攻击模型的输出标签,不访问模型本身的梯度,即decision based
1.2 图3寻找步长step size使得位于蓝色区域 - 图4边界搜索Boundary search得到
迭代进行上面的步骤,直到算法收敛。
distance情况下的迭代算法的公式:
是当时的取值
distance情况下的迭代算法的公式:
是当时的取值
梯度估计的公式
是从均匀分布uniform distribution中采样得到的d维向量, d是样本x的维度
是一个很小的正数
搜索决策边界的算法
p与距离函数有关,或者 即 或者 distance
文章出处登录后可见!