0x00 原文链接以及源码链接
原文:https://arxiv.org/abs/2202.00091v1
源码:暂无
0x01 目的
minimize a number of perturbed pixels
0x01 方法
使用进化算法解决 decision-based sparse attack问题
效果图如下:
进化算法需要种群里的个体进行编码,这里设计的编码是 $v = \{0, 1\}^{N}$,其中$N = WH$,即所有的像素个数。这是一个二进制向量,也称为候选解。
总流程
S1 种群初始化
初始化一个含有p个个体的种群。
使用初始化好的$v^{(o)}$向量来初始化这p个个体。
$v^{(o)}$向量的初始化:
即,若原图$x$和目标类的图像$x^{‘}$的对应像素的所有通道值都一样,那么对应像素的位置作为$v^{(o)}$向量的相应索引值置为0,否则为1。
利用$v^{(o)}$向量初始化p个个体:
每一个候选解的生成是通过随机改变$v^{(o)}$向量的d个 1-bit,其中$d = \lfloor \alpha WH \rfloor $,$\alpha$为初始化比例。如果该候选解的适应度不是$\infty$,该候选解将会被加入到种群中。计算适应度的函数见公式3。否则,将会随机改变另外d个1-bit去产生新的候选解。
上述过程将会一直重复,直到成功的找到p个候选解加入到种群$\mathbb{V}$中,种群中每一个候选解的对应适应度将会存入适应度矩阵。
具体算法如下所示:
S2 二进制差分重组
k点或均匀交叉,一对父母交配产生下一代的后代。但是,在种群初始化阶段之后,所有的第一代双亲都略有不同。因为它们都是由一个初始化的向量$v^{(o)}$生成的,因此这些交叉变量导致了低水平的解决方案和低查询效率。为了解决这个问题,本文增加了种群丰富性。受差分进化算法的启发,本文生成下一代的方法是:变异和重组。但是直接使用差分进化是不切实际的,因为差分进化中的变异操作是将多个选定亲本的加权差值与另一个亲本相加,得到一个后代。这些个体是实坐标空间中的向量,因此子代可以受益于加权实值差,但在我们提出的搜索空间中无法获得,其中所有候选解都是二进制向量。因此,本文提出了二元差分重组方案——一种基于遗传算法中均匀交叉和变异概念的混合方法。实验证明,用最好的候选解和两个随机的候选解进行重组比其他的重组方案性能好。
二进制差分重组方案如下:
1)从种群中随机的挑选两个候选解:$v^{(j)}$、$v^{(q)}$
2)使用均匀交叉从任意一个选择的候选解中以相等的概率选择每一位,以产生一个新的候选解。
3)利用该新候选解==重组==种群中最好的解$v^{(k_{b})}$,通过改变$v^{(k_{b})}$的所有1bit(其在新候选解中的对应位为0-bit)得到后代$v^{(r)}$。
二进制差分重组可被公式化为:
作为从个体差异中获益的结果,本文的方法能够促进进化进程,如第4节所示。
element-wise product:两个矩阵对应位置元素进行乘积
S3 变异
变异操作是为了促进生物多样性。
实际上,本文对后代$v^{(r)}$的所s
S4 适应度计算 (fitness value)
使用适应度(fitness value)来评估一个候选解是好是坏。适应度通过设计的适应函数计算得到的。
定向攻击的适应度函数:
其中对抗样本$ \widetilde{x}$的表示如下,$ \widetilde{y}$是目标类:
视觉效果如下:
对于非定向攻击,适应度函数和公式3一致,但是约束条件变为$f(\widetilde{x}) \neq y$
S5 选择
通过适应度函数得到的值(fitness value)越小说明该候选解越好。
如果种群最坏的个体的适应值(fitness value)比后代的还要高,那么如果种群V最坏的个体将会被舍弃,并且新的后代会被选中来取代他加入种群。
S6
计算最好的个体、最坏的个体,重复S2-S5。
攻击可视化
实验结果
补充说明
现已有许多决策的密集攻击 HJSA、SignOpt等等,这些攻击可被改写基于决策的稀疏攻击,利用$l_{0}$球,类似$PGD_{0}$。
以后补充。。。。