One Pixel Attack for Fooling Deep Neural Networks
@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 期望最大化
\max_{e(x)} & f_{adv}(x+e(x)) \\
\mathrm{s.t.} & \|e(x)\| \le L,
\end{array}
\]
其中\(e(x)\)为扰动.
本文的问题, 可以理解为一个特例
\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\)),
\]
\((x,y)\)表示图片像素点的位置, \((r,g,b)\)表示图片的RGB属性, 于是(mutation step)
\]
文中给定\(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进行比较, 没有特别好讲的.
One Pixel Attack for Fooling Deep Neural Networks的更多相关文章
- 论文阅读笔记三十:One pixel attack for fooling deep neural networks(CVPR2017)
论文源址:https://arxiv.org/abs/1710.08864 tensorflow代码: https://github.com/Hyperparticle/one-pixel-attac ...
- Classifying plankton with deep neural networks
Classifying plankton with deep neural networks The National Data Science Bowl, a data science compet ...
- Must Know Tips/Tricks in Deep Neural Networks
Must Know Tips/Tricks in Deep Neural Networks (by Xiu-Shen Wei) Deep Neural Networks, especially C ...
- Must Know Tips/Tricks in Deep Neural Networks (by Xiu-Shen Wei)
http://lamda.nju.edu.cn/weixs/project/CNNTricks/CNNTricks.html Deep Neural Networks, especially Conv ...
- (转)Understanding, generalisation, and transfer learning in deep neural networks
Understanding, generalisation, and transfer learning in deep neural networks FEBRUARY 27, 2017 Thi ...
- Training (deep) Neural Networks Part: 1
Training (deep) Neural Networks Part: 1 Nowadays training deep learning models have become extremely ...
- 为什么深度神经网络难以训练Why are deep neural networks hard to train?
Imagine you're an engineer who has been asked to design a computer from scratch. One day you're work ...
- [C4] Andrew Ng - Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization
About this Course This course will teach you the "magic" of getting deep learning to work ...
- 大师Geoff Hinton关于Deep Neural Networks的建议
大师Geoff Hinton关于Deep Neural Networks的建议 Note: This covers suggestions from Geoff Hinton's talk given ...
随机推荐
- acid, acknowledge, acquaint
acid sulphuric|hydrochloric|nitric|carbolic|citric|lactic|nucleic|amino acid: 硫|盐|硝|碳|柠檬|乳|核|氨基酸 王水是 ...
- 零基础学习java------35---------删除一个商品案例,删除多个商品,编辑(修改商品信息),校验用户名是否已经注册(ajax)
一. 删除一个商品案例 将要操作的表格 思路图 前端代码 <%@ page language="java" contentType="text/html; cha ...
- git 的基本流程
有个本地文件 打开 新建一个 打开git $ git push origin master 这里是上传文件. (你每次上传的时候,都要先提交到本地的仓库...然后再上传) github上就有了 如何 ...
- OC-copy,单例
总结 编号 主题 内容 一 NSFileManager NSFileManager介绍/用法(常见的判断)/文件访问/文件操作 二 集合对象的内存管理 集合对象的内存管理/内存管理总结 三 *copy ...
- Js判断数组中是否存在某个元素
Js判断数组中是否存在某个元素 方法一:indexOf(item,start); Item:要查找的值:start:可选的整数参数,缺省则从起始位子开始查找. indexOf();返回元素在数组中的位 ...
- 【Matlab】CFAR/phased.CFARDetector2D
| CFAR学习进行时ing... | CFAR原理.参数 检测阈值\(T = αP_n\) \(P_n\)是噪声功率估计,\(α\)是比例因子 训练单元:训练噪声,估计\(P_n = \frac{1 ...
- Anaconda+pycharm(jupyter lab)搭建环境
之前先是安装了pycharm,手动安装了python2.7和3.7版本,在pycharm里面使用alt+/手动下载包.后来想使用jupyter lab,手动下载包太麻烦且有版本管理的文艺,于是打算装A ...
- Linux中定时任务
目录 一.简介 二.crondtab file 三.crond命令的调试 四.精确到秒的任务计划 一.简介 定时任务在线测试网站 定时任务基本概念: (1).crond是一个daemon类程序,路径为 ...
- python函数概念
函数介绍 函数就类似与一个工具,作用就是在有需求时可以直接使用. 函数作用 1.精简代码,不需要重复写代码. 2.提高代码兼容性 3.提供返回值 函数语法结构 def 函数名(参数1, 参数2): & ...
- WPF之交互触发器(CallMethodAction)学习
需求背景: 当我们需要制作画板时,我们的VM需要记录我们的坐标并保存到Path的Data中,用我们普通的Command是无法办到的,这时我们就衍生出来了一个交互触发器CallMethodAction ...