之前对抗攻击算法都是在整个图像的所有像素点上做微小的扰动,以达到欺骗模型的目的。而本文的思想是只改变少量的像素点,甚至在只改变一个像素点的极端情况下就能获得较好的攻击效果。提出了一种基于差分进化(DE)生成单像素对抗样本的黑盒攻击(仅需要概率标签)算法。由于DE的固有属性,仅需要较少的对抗信息就可以欺骗更多类型的网络。

算法优点 :

  • 高效性
  • 半黑盒攻击:只需要返回黑盒的类标概率而不用网络的内部参数。
  • 灵活性:可以攻击那些不可微或梯度难以计算的模型。

主要出发点:

  • 自然图像邻域的分析
  • 感知度量

单像素攻击是只改变一个像素点的极端情况下进行攻击。与之相反,通用对抗扰动则修改了每个像素来实现攻击。增强对抗扰动的隐藏效果有两个方法:1. 降低扰动幅度 2. 减少扰动数量。单像素攻击就是基于减少扰动数量这一目的而提出的算法。

单像素攻击算法:
输入nn维图像x=(x1,,xn)x=(x1,⋯,xn),图像每个像素看成是向量的一个分量;
ff,分类器;
tt,类别;
ft(x)f_t(x),图像xx属于类别tt的概率;
e(x)=(e1,,en)e(x)=(e1,⋯,en),对抗扰动向量;
LL,最大修改器限制;
公式如下:
[paper]One Pixel Attack for Fooling Deep Neural Networks
单像素攻击可以分解为两步:1,计算对哪个像素点进行扰动;2,计算扰动的幅度大小。因此问题就可以简化为:
[paper]One Pixel Attack for Fooling Deep Neural Networks
若为单像素攻击,则d=1d=1
单像素攻击算法仅控制扰动的像素个数,对于扰动幅度大小则不作限制。
[paper]One Pixel Attack for Fooling Deep Neural Networks
以原文中的图例解释,假如我们的输入是3像素,而我们的攻击的单像素的,那么我们的输入空间被切割为三根红黑线;如果攻击是两像素,则攻击输入空间是蓝色的平面部分,以此类推更多维的攻击。

差分进化算法:
差分进化算法是一种常见的遗传算法,常用来解决多模优化问题的优化算法,主要区别是变异向量是由父代差分向量生成。
优势:
有较高概率找到全局最优解;
不用计算梯度,需要更少的信息;
简单;

将扰动以数组形式,候选解需固定扰动像素点的数目。单像素攻击,以一个5元组表示,分别是xyx-y轴坐标,以及RGB各通道的扰动值。初始候选解为400,每次生成400候选后代解,依以下公式:
[paper]One Pixel Attack for Fooling Deep Neural Networks
xix_i 是一个候选解,r1r2r3r1,r2,r3是随机数,FF是比例参数设为0.5,gg是当前代。生成子代时,每个候选解将根据人口指数与相对应的父亲竞争,获胜者将在下一次迭代中生存下来。最大迭代次数设为100,或者,满足对于某些测试集的指定百分比时提前停止。初始化时,xyx-y坐标,CIFAR-10数据集用U(1,32)U(1,32)均匀分布,ImageNet数据集用U(1,227)U(1,227)均匀分布;各通道颜色幅度用高斯分布 N(µ=128,σ=127)N(µ=128,σ=127)

相关文章: