DeepFool: a simple and accurate method to fool deep neural networks
@article{moosavidezfooli2016deepfool:,
title={DeepFool: A Simple and Accurate Method to Fool Deep Neural Networks},
author={Moosavidezfooli, Seyedmohsen and Fawzi, Alhussein and Frossard, Pascal},
pages={2574--2582},
year={2016}}
概
本文从几何角度介绍了一种简单而有效的方法.
主要内容
adversarial的目的:
\Delta(x;\hat{k}):= \min_{r} \|r\|_2 \: \mathrm{subject} \: \mathrm{to} \: \hat{k}(x+r) \not = \hat{k}(x),
\]
其中\(\hat{k}(x)\)为对\(x\)的标签的一个估计.
二分类模型
当模型是一个二分类模型时,
\]
其中\(f:\mathbb{R}^n \rightarrow \mathbb{R}\)为分类器, 并记\(\mathcal{F}:= \{x: f(x)=0\}\)为分类边界.
\(f\)为线性
即\(f(x)=w^Tx+b\):

假设\(x_0\)在\(f(x)>0\)一侧, 则
\]
\(f\)为一般二分类
此时, 我们\(f\)的一阶近似为
\]
此时分类边界为\(\mathcal{F} =\{x:f(x_0)+\nabla^T f(x_0) (x-x_0)=0\}\),此时\(w=\nabla f(x_0),b=f(x_0),\) 故
r_*(x_0) \approx -\frac{f(x_0)}{\|\nabla f(x_0)\|_2^2} \nabla f(x_0).
\]
所以, 每次
x_{i+1} = x_i+r_i,
\]
直到\(\hat{k}(x_i) \not= \hat{k}(x_0)\)是停止, 算法如下

多分类问题
\(f:\mathbb{R}^n \rightarrow \mathbb{R}^c\), 此时
\hat{k}(x) = \arg \max_k f_k(x).
\]
\(f\)仿射
即\(f(x) = W^Tx + b\), 设\(W\)的第\(k\)行为\(w_k\),
P=\cap_{k=1}^c \{x: f_{\hat{k}(x_0)}(x) \ge f_k(x)\},
\]
为判定为\(\hat{k}(x_0)\)的区域, 则\(x+r\)应落在\(P^{c}\), 而
\]
当\(f\)为仿射的时候, 实际上就是找\(x_0\)到各分类边界(与\(x_0\)有关的)最短距离,
\hat{l}(x_0) = \arg \min _{k \not = \hat{k}(x_0)} \frac{|f_k(x_0) - f_{\hat{k}(x_0)}(x_0)|}{\|w_k-w_{\hat{k}(x_0)}\|_2},
\]
则
r_*(x_0)= \frac{|f_{\hat{l}(x_0)}(x_0) - f_{\hat{k}(x_0)}(x_0)|}{\|w_{\hat{l}(x_0)}-w_{\hat{k}(x_0)}\|_2^2}(w_{\hat{l}(x_0)}-w_{\hat{k}(x_0)}),
\]
\(f\)为一般多分类
\tilde{P}_i=\cap_{k=1}^c \{x: f_{\hat{k}(x_0)}(x_i) + \nabla^T f_{\hat{k}(x_0)}(x_i) (x-x_i)\ge f_k(x_i) + \nabla^Tf_k(x_i)(x-x_i)\},
\]
则
\]

\(l_p\)
\(p \in (1, \infty)\)的时候
考虑如下的问题
\min & \|r\|_p^p \\
\mathrm{s.t.} & w^T(x+r)+b=0,
\end{array}
\]
利用拉格朗日乘子
\]
由KKT条件可知(这里的\(r_k\)表示第\(k\)个元素)
\]
注: 这里有一个符号的问题, 但是可以把符号放入\(c_k\)中进而不考虑,
故
\]
其中\(q=\frac{p}{p-1}\)为共轭指数, 并\(c=[c_1,\ldots]^T\),且\(|c_i|=|c_j|,\) 记\(w^{q-1}=[|w_1|^{q-1},\ldots]^T\),又
\]
故
\]
故
\]
\(p=1\), 设\(w\)的绝对值最大的元素为\(w_{m}\), 则
\]
\(\mathrm{1}_m\)为第\(m\)个元素为1, 其余元素均为0的向量.
\(p=\infty\),
\]
故:
\(p \in [1, \infty)\):

\(p=\infty\):

注: 因为, 仅仅到达边界并不足够, 往往希望更进一步, 所以在最后(?)\(x=x+ (1+\eta) r\), 文中取\(\eta=0.02\).
DeepFool: a simple and accurate method to fool deep neural networks的更多相关文章
- Dropout: A Simple Way to Prevent Neural Networks fromOverfitting
https://www.cs.toronto.edu/~hinton/absps/JMLRdropout.pdf Deep neural nets with a large number of par ...
- AUGMIX : A SIMPLE DATA PROCESSING METHOD TO IMPROVE ROBUSTNESS AND UNCERTAINTY
目录 概 主要内容 实验的指标 Dan Hendrycks, Norman Mu,, et. al, AUGMIX : A SIMPLE DATA PROCESSING METHOD TO IMPRO ...
- 论文笔记系列-Simple And Efficient Architecture Search For Neural Networks
摘要 本文提出了一种新方法,可以基于简单的爬山过程自动搜索性能良好的CNN架构,该算法运算符应用网络态射,然后通过余弦退火进行短期优化运行. 令人惊讶的是,这种简单的方法产生了有竞争力的结果,尽管只需 ...
- 小米造最强超分辨率算法 | Fast, Accurate and Lightweight Super-Resolution with Neural Architecture Search
本篇是基于 NAS 的图像超分辨率的文章,知名学术性自媒体 Paperweekly 在该文公布后迅速跟进,发表分析称「属于目前很火的 AutoML / Neural Architecture Sear ...
- PyNest——Part1:neurons and simple neural networks
neurons and simple neural networks pynest – nest模拟器的界面 神经模拟工具(NEST:www.nest-initiative.org)专为仿真点神经元的 ...
- 【论文阅读】DCAN: Deep Contour-Aware Networks for Accurate Gland Segmentation
DCAN: Deep Contour-Aware Networks for Accurate Gland Segmentation 作者:Hao Chen Xiaojuan Qi Lequan Yu ...
- simple factory, factory method, abstract factory
simple factory good:1 devide implementation and initialization2 use config file can make system more ...
- ThiNet: A Filter Level Pruning Method for Deep Neural Network Compression笔记
前言 致力于滤波器的剪枝,论文的方法不改变原始网络的结构.论文的方法是基于下一层的统计信息来进行剪枝,这是区别已有方法的. VGG-16上可以减少3.31FLOPs和16.63倍的压缩,top-5的准 ...
- 论文笔记——ThiNet: A Filter Level Pruning Method for Deep Neural Network Compreesion
论文地址:https://arxiv.org/abs/1707.06342 主要思想 选择一个channel的子集,然后让通过样本以后得到的误差最小(最小二乘),将裁剪问题转换成了优化问题. 这篇论文 ...
随机推荐
- 学习java 7.21
学习内容: 模块使用 AWT是窗口框架 它从不同平台的窗口系统中抽取出共同组件,当程序运行时,将这些组件的创建和动作委托给程序所在的运行平台.简而言之,当使用AWT编写图形界面应用时,程序仅指定了界面 ...
- pow()是如何实现的?
如1.5 ** 2.5,如何计算?似乎是这样的: 1. cmath calculates pow(a,b) by performing exp(b * log(a)). stackoverflow 2 ...
- 零基础学习java------day14-----泛型,foreach,可变参数,数组和集合间的转换,Set,Map,
1.泛型(jdk1.5以后出现) https://www.cnblogs.com/lwbqqyumidi/p/3837629.html#!comments (1)为什么要用泛型? 限制集合,让它只能存 ...
- 在JTable单元格上 加入组件,并赋予可编辑能力 [转]
表格(单元格放置组件) 对于JTable单元格的渲染主要是通过两个接口来实现的,一个是TableCellRenderer另一个是TableCellEditor,JTable默认是用的是DefaultC ...
- 常见排序——Java实现
1 package struct; 2 3 /** 4 * 5 * @作者:dyy 6 * @公司:陕西科技大学 7 * @修改日期: 8 * @邮箱:1101632375@qq.com 9 * @描 ...
- Nginx 1.9.7.2 + PHP 5.6.18(FastCGI)在CentOS Linux下的编译安装
本文参考张宴的Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)[原创]完成.所有操作命令都在CentOS 6.x 64位操作系统下实践 ...
- [源码解析] PyTorch分布式优化器(3)---- 模型并行
[源码解析] PyTorch分布式优化器(3)---- 模型并行 目录 [源码解析] PyTorch分布式优化器(3)---- 模型并行 0x00 摘要 0x01 前文回顾 0x02 单机模型 2.1 ...
- vs2019+windows服务+nancy+打包
一.创建windows服务 二.nuget包添加nancy 1.nancy 2.0.0和Nancy.Hosting.Self 2.0.0插件 2.项目添加文件夹Modules,在Modules文件夹 ...
- Linux中的正则
目录 一.匹配规则 二.举例 一.匹配规则 * 匹配 0 或多个字符 ? 匹配任意一个字符 [list] 匹配 list 中的任意单一字符 [^list] 匹配 除list 中的任意单一字符以外的字符 ...
- 高可靠性——TSN 802.1Qci协议介绍
TSN协议族根据实现功能可以分为:定时与同步.延时.可靠性和资源管理四个类别,往期的时间同步--TSN协议802.1AS介绍一文向大家介绍了定时与同步功能的核心--802.1AS协议,而在基于TSN工 ...