论文笔记--DeepFool: a simple and accurate method to fool deep neural networks
论文原文:DeepFool: a simple and accurate method to fool deep neural networks arXiv:1511.04599 [cs.LG]
思路
deepfool提出两种产生对抗样本的算法,二分类和多分类情况。并实验比较EOT、FGSM和deepfool三种算法的鲁棒性。
1、二分类器
- 符号函数k^(x) = sign(f(x)) 其中 f(x) = wx + b。对样本添加扰动使得样本分类到距离最近的类。
- r:样本到分类边界的最短距离*法线方向的单位向量
2、多分类器
- k^(x)= fk(x),fk(x) 是向量f(x)的第k个维度,即第k个子分类器。
- 计算样本到各个类的最小距离,取最近的一类,L为距离超平面最近的一类。
3、评估鲁棒性
通过扰动所占样本的比值来评估鲁棒性。下表为deepfool,EOT,FGSM三种算法的鲁棒性和运行时间对比
4、论文复现-多分类结果:
- Evaluating on clean data
loss: 0.0294 acc: 0.9900 - Evaluating on adversarial data
loss: 1.6897 acc: 0.1145
def _deepfool2(model, x, epochs, eta, clip_min, clip_max, min_prob):"""DeepFool二分类情况干净样本和对抗样本输出: +1/-1"""y0 = tf.stop_gradient(tf.reshape(model(x), [-1])[0])y0 = tf.to_int32(tf.greater(y0, 0.0))def _cond(i, z):xadv = tf.clip_by_value(x + z*(1+eta), clip_min, clip_max)y = tf.stop_gradient(tf.reshape(model(xadv), [-1])[0])y = tf.to_int32(tf.greater(y, 0.0))return tf.logical_and(tf.less(i, epochs), tf.equal(y0, y))def _body(i, z):xadv = tf.clip_by_value(x + z*(1+eta), clip_min, clip_max)y = tf.reshape(model(xadv), [-1])[0]g = tf.gradients(y, xadv)[0]dx = - y * g / (tf.norm(g) + 1e-10) # 1范数:norm(1)return i+1, z+dx_, noise = tf.while_loop(_cond, _body, [0, tf.zeros_like(x)],name='_deepfool2', back_prop=False)return noise
def _deepfoolx(model, x, epochs, eta, clip_min, clip_max, min_prob):"""DeepFool多分类情况.分类到最大概率的标签."""y0 = tf.stop_gradient(model(x))y0 = tf.reshape(y0, [-1])k0 = tf.argmax(y0)ydim = y0.get_shape().as_list()[0]xdim = x.get_shape().as_list()[1:]xflat = _prod(xdim)def _cond(i, z):xadv = tf.clip_by_value(x + z*(1+eta), clip_min, clip_max)y = tf.reshape(model(xadv), [-1])p = tf.reduce_max(y)k = tf.argmax(y)return tf.logical_and(tf.less(i, epochs),tf.logical_or(tf.equal(k0, k),tf.less(p, min_prob)))def _body(i, z):xadv = tf.clip_by_value(x + z*(1+eta), clip_min, clip_max)y = tf.reshape(model(xadv), [-1])gs = [tf.reshape(tf.gradients(y[i], xadv)[0], [-1])for i in range(ydim)]g = tf.stack(gs, axis=0)yk, yo = y[k0], tf.concat((y[:k0], y[(k0+1):]), axis=0)gk, go = g[k0], tf.concat((g[:k0], g[(k0+1):]), axis=0)yo.set_shape(ydim - 1)go.set_shape([ydim - 1, xflat])a = tf.abs(yo - yk)b = go - gkc = tf.norm(b, axis=1)score = a / cind = tf.argmin(score)si, bi = score[ind], b[ind]dx = si * bidx = tf.reshape(dx, [-1] + xdim)return i+1, z+dx_, noise = tf.while_loop(_cond, _body, [0, tf.zeros_like(x)],name='_deepfoolx', back_prop=False)return noise
论文笔记--DeepFool: a simple and accurate method to fool deep neural networks相关推荐
- 论文那些事—DeepFool: a simple and accurate method to fool deep neural networks
DeepFool: a simple and accurate method to fool deep neural networks 1.摘要及背景 提出Deepfool算法,对比FGSM和I-BL ...
- 小样本论文笔记5:Model Based - [6] One-shot learning with memory-augmented neural networks.
小样本论文笔记5:Model Based - [6] One-shot learning with memory-augmented neural networks 文章目录 小样本论文笔记5:Mod ...
- 意图识别算法:噪音处理之O2U-Net: A Simple Noisy Label Detection Approach for Deep Neural Networks
目录 问题描述 解决思路 具体过程 预训练阶段 Cyclical Training阶段 clean dataset训练阶段 实验结果 论文下载:O2U-Net: A Simple Noisy Labe ...
- Procedural Noise Adversarial Examples for Black-Box Attacks on Deep Neural Networks论文笔记
Procedural Noise Adversarial Examples for Black-Box Attacks on Deep Neural Networks论文笔记 0. 概述 如今一些深度 ...
- [论文阅读笔记58]Learning from Noisy Labels with Deep Neural Networks:A Survey
1.题目 Learning from Noisy Labels with Deep Neural Networks: A Survey 作者团队:韩国科学技术院(KAIST) Song H , Kim ...
- AlphaGo是如何炼成的:解读论文 Mastering the game of Go with deep neural networks and tree search
这篇发表在nature 2016年1月27日上的文章题目为:"Mastering the game of Go with deep neural networks and tree sear ...
- 论文笔记:Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World
Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World 文章概况 作者 ...
- [论文阅读笔记]Deep Neural Networks are Easily Fooled:High Confidence Predictions for Unrecognizable Images
Deep Neural Networks are Easily Fooled:High Confidence Predictions for Unrecognizable Images(CVPR201 ...
- [深度学习论文笔记][Adversarial Examples] Deep Neural Networks are Easily Fooled: High Confidence Predictions
Nguyen, Anh, Jason Yosinski, and Jeff Clune. "Deep neural networks are easily fooled: High conf ...
- [论文阅读] ICCV2015 Joint Fine-Tuning in Deep Neural Networks for Facial Expression Recognition
Joint Fine-Tuning in Deep Neural Networks for Facial Expression Recognition 论文链接:https://ieeexplore. ...
最新文章
- Composer 篇
- django项目简单调取百度翻译接口
- Crackme006 - 全新160个CrackMe学习系列(图文|视频|注册机源码)
- 通过此注释改善您的JUnit体验
- mysql decode语句_MySQL复制问题的分析
- 断开式 Dgv 修改数据 winform
- Java并发之Condition的实现分析
- 深度学习——夏侯南溪关注的深度学习任务
- 一路风雨走过来:那些我亲密接触过的项目
- 啦啦外卖最新版41.9啦啦外卖41.9版本全开源
- TP-LINK TL-WR845N和腾达W311R怎么设置wds桥接
- matlab的金融分析工具,金融分析利器之 MATLAB空间计量工具箱
- Informer时序模型(自定义项目)
- 国产计算机系统哪个好,5大国产手机操作系统分析评测,你更中意谁?
- 保险与赌博的差异,航延险是赌博吗?
- python股票量化分析
- 347. Top K Frequent Elements
- VideoView播放视频的时候尺寸异常
- set Assigning an instance of ‘esri.***‘ which is not a subclass of ‘esri.***‘错误偶遇
- HTML+CSS实现炫酷的登录界面
热门文章
- Postgresql源码(41)plpgsql函数编译执行流程分析
- 用Python分析44万条数据,揭秘如何成为网易云音乐评论区的网红段子手
- matlab plotyy legend,Matlab如何在plotyy中设置legend可以显示四条不同的曲线描述
- Android仓库管理系统
- java 循环依赖_Java详解之Spring Bean的循环依赖解决方案
- 虫虫吃第一颗豆子---第一次作业
- Skin Pack Auto UXThemePatcher-Win8 UXTheme桌面主题破解补丁
- 【题解:洛谷4186||USACO18JAN Cow at Large G】
- 2021 部分团队的年终总结
- pycharm双击打不开,没有反应,下列方法亲测有用!