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

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

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

\[ \begin{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进行比较, 没有特别好讲的.

猜你喜欢

转载自www.cnblogs.com/MTandHJ/p/12697936.html
今日推荐