One Pixel Attack for Fooling Deep Neural Networks

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 期望最大化

[egin{array}{rc} max_{e(x)} & f_{adv}(x+e(x)) \ mathrm{s.t.} & |e(x)| le L, end{array} ]

其中(e(x))为扰动.
本文的问题, 可以理解为一个特例

[ egin{array}{rc} max_{e(x)} & f_{adv}(x+e(x)) \ mathrm{s.t.} & |e(x)|_0 le d, end{array} ]

特别的, one pixel 下(d=1) .

实际上,这是一种trade-off, 如果我们不限制像素个数, 则需要限制其扰动大小, 若不限制扰动大小, 这需要限制其像素个数, 只有这样, 扰动后的图像在人眼中其本质不变.

Differential Evolution (DE)

这个算法整理于此here.

首先, 初始化(P_G={Theta_1,ldots, Theta_{NP}})(文中给定(NP=400)),

[Theta=(x,y,r,g,b), ]

((x,y))表示图片像素点的位置, ((r,g,b))表示图片的RGB属性, 于是(mutation step)

[Theta_{i, G+1} = Theta_{r_1^i,G} + F cdot (Theta_{r_2^i,G}- Theta_{r_3^i,G}), ]

文中给定(F=0.5), 且舍弃了crossover step.

注1: (x, y)是利用均匀分布初始化的, (r,g,b)使用高斯分布初始化的.

注2:既然(x,y,r,g,b)都是由一些特殊范围和限制的, 个人认为生成后的(Theta_{i,G+1})是需要一定的调整使得落入可行域内的.

实验

主要在CIFAR-10, 和 ImageNet 上做了实验, 有一些指标, 还做了和随机one pixel attack进行比较, 没有特别好讲的.

原文地址:https://www.cnblogs.com/MTandHJ/p/12697936.html