Su J, Vargas D V, Sakurai K, et al. One Pixel Attack for Fooling Deep Neural Networks[J]. IEEE Transactions on Evolutionary Computation, 2019, 23(5): 828-841.
@article{su2019one,
title={One Pixel Attack for Fooling Deep Neural Networks},
author={Su, Jiawei and Vargas, Danilo Vasconcellos and Sakurai, Kouichi},
journal={IEEE Transactions on Evolutionary Computation},
volume={23},
number={5},
pages={828–841},
year={2019}}
概
一般的adversarial attack 是针对所有像素, 但是这种情况下,

从人的角度来看, 是容易发现差别的(虽然不改变这依旧是船的本质). 所以本文研究了一种更为极端的情况, 只在少数几个像素点(甚至是one pixel)下进行扰动, 实验证明成功率也是可以的(且利用了Differential Evolution). 下图是one pixel attack 的一个例子:

主要内容
问题描述
一般的adversarial attack 期望最大化
maxe(x)s.t.fadv(x+e(x))∥e(x)∥≤L,
其中e(x)为扰动.
本文的问题, 可以理解为一个特例
maxe(x)s.t.fadv(x+e(x))∥e(x)∥0≤d,
特别的, one pixel 下d=1 .
实际上,这是一种trade-off, 如果我们不限制像素个数, 则需要限制其扰动大小, 若不限制扰动大小, 这需要限制其像素个数, 只有这样, 扰动后的图像在人眼中其本质不变.
Differential Evolution (DE)
这个算法整理于此here.
首先, 初始化PG={Θ1,…,ΘNP}(文中给定NP=400),
Θ=(x,y,r,g,b),
(x,y)表示图片像素点的位置, (r,g,b)表示图片的RGB属性, 于是(mutation step)
Θi,G+1=Θr1i,G+F⋅(Θr2i,G−Θr3i,G),
文中给定F=0.5, 且舍弃了crossover step.
注1: x,y是利用均匀分布初始化的, r,g,b使用高斯分布初始化的.
注2:既然x,y,r,g,b都是由一些特殊范围和限制的, 个人认为生成后的Θi,G+1是需要一定的调整使得落入可行域内的.
实验
主要在CIFAR-10, 和 ImageNet 上做了实验, 有一些指标, 还做了和随机one pixel attack进行比较, 没有特别好讲的.