目录

  • 1 引言
  • 2 算法原理
    • 2.1 第一印象
    • 2.2 初步设想
    • 2.3 在此之前
    • 2.4 承上:what is differential evolution(差分进化)
  • 3 总结
  • 附录

1 引言

  • 使用单像素点愚弄深度神经网络。2017 CVPR 论文地址
  • 对抗样本生成的一种策略。
  • 本文采取一种独立思考的方式,来理解与讲解这篇论文。

2 算法原理

2.1 第一印象

  • what the fuck?改变一个像素点就能使网络分类错误?想法great,但怎么可能
  • 逐渐冷静。。。单像素点真的能攻击成功?

2.2 初步设想

  • Can we:貌似 ”goodfellow的模型高度线性化,使得图像会有扰动放大效应“ 为改设想提供了一定的理论依据。
  • How:假设确实改动某个像素点的值能实现对抗攻击。那如何去做?
  • Ask:既然只是更改一个像素点,自然而然,我们想到暴力求解可不可行?
  • Answer:如果用cifar数据集,一张图片意味着要进行 32 * 32 * 3 * 256次迭代。代价太大,不可行。
  • Ask:那梯度求解方式?
  • Answer:类似FGSM用梯度求解,是建立在基本改变图片全部像素点的前提下。这种场景和只改动单个像素点差远了。
  • Ask:那进化算法总行吧?既能实现黑盒攻击,问题解空间也不大。进化算法:你直接报我身份证得了。想要详细与进化算法深入接触?跳转
  • Focus(注意了哈):作者提出使用差分进化算法来求解。恭喜你,最终还是说对了。

2.3 在此之前

  • 先抛开差分进化不管。首先 Focus on 优化目标,即我们要找的那个像素点应该满足何种标准。
    max ⁡ e ( x ) f a d v ( x + e ( x ) ) s u b j e c t t o ∣ ∣ e ( x ) ∣ ∣ 0 ≤ d \max_{e(x)} f_{adv}\left(x+e(x)\right)\\ subject\; to \qquad ||e(x)||_0\le d\\ e(x)max​fadv​(x+e(x))subjectto∣∣e(x)∣∣0​≤d

f : 模 型 的 类 别 概 率 输 出 层 d : 改 变 像 素 点 的 个 数 该 算 法 中 d = 1 a d v : 待 攻 击 成 的 类 别 该 算 法 是 实 现 有 目 标 攻 击 f:模型的类别概率输出层\\ d:改变像素点的个数\\ 该算法中 d = 1\\ adv:待攻击成的类别\\ 该算法是实现有目标攻击 f:模型的类别概率输出层d:改变像素点的个数该算法中d=1adv:待攻击成的类别该算法是实现有目标攻击

  • 如上公式,简而言之就是希望待攻击成的类别的置信度尽可能的大

2.4 承上:what is differential evolution(差分进化)

1. 定义求解空间

  • 假设是cifar10数据集,其解空间就是:
    ( x , y , R , G , B ) s u b j e c t t o x , y ∈ [ 0 , 31 ] ; R , G , B ∈ [ 0 , 255 ] (x,y,R,G,B)\\ subject\;to\quad x,y \in[0,31]; R,G,B\in [0,255] (x,y,R,G,B)subjecttox,y∈[0,31];R,G,B∈[0,255]
  • 视觉上的解空间如下图:

2. 初始化解集

  • 使用均匀分布 U ( 1 , 32 ) U(1,32) U(1,32)来生成 x , y x,y x,y,使用正态分布 N ( μ = 128 , σ = 127 ) N(\mu =128,\sigma=127) N(μ=128,σ=127)来生成 R , G , B R,G,B R,G,B
  • 以如上方式生成400个候选解集

3. 生成解集
x i ( g + 1 ) = x r 1 ( g ) + F ( x r 2 ( g ) − x r 3 ( g ) ) , r 1 ≠ r 2 ≠ r 3 x_i(g+1)= x_{r1}(g)+F\left( x_{r2}(g)-x_{r3}(g)\right), \\r1\neq r2\neq r3\\ xi​(g+1)=xr1​(g)+F(xr2​(g)−xr3​(g)),r1​=r2​=r3

  • 其中, x i x_i xi​ 是候选解集中的一个元素, r 1 , r 2 , r 3 r1,r2,r3 r1,r2,r3是在候选解范围的随机数 r 1 , r 2 , r 3 ∈ [ 0 , 399 ] r1,r2,r3 \in [0,399] r1,r2,r3∈[0,399] ; F F F是超参数,这里设置为0.5; g g g是当前迭代代数。

4、种群适应

  • 400个父代候选解 使用步骤3公式 又生成了400个子代解。共800,按照之前讲的优化目标从800个解中选出400个最优秀的解集。不断迭代即可。

5、最终选择

  • 自己设定迭代多少次。反正最终还是会获得400个候选解集,按照之前的优化目标,找到其中最好的一个解,作为该问题的解。
  • 这个解就包含了需要修改的像素位置以及改动多少像素值的信息。将其该解运用到干净样本中,就生成了能够愚弄分类器的对抗样本。

3 总结

  • 典型的A+B论文吧。
  • 经了解得知,差分进化其实是数学上的一个优化方法,大概在90年代提出。
  • 经coding发现,差分进化算法在scipy库中就有。
  • 但是实验发现使用scipy库的差分进化算法比较慢,作者在代码上做了一些速度上的提升。

附录

  • 论文作者代码:
    https://github.com/Hyperparticle/one-pixel-attack-keras
  • My Coding:
    不好意思拿出来(狗头)
  • 参考资料:
    [论文总结] One Pixel Attack for Fooling DNN 对抗样本单像素攻击
    OnePixel攻击

采用写作新形式,任何问题,评论区留言,力所能及,必答之。

大白话之One Pixel Attack for Fooling Deep Neural Networks论文讲解相关推荐

  1. 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. 概述 如今一些深度 ...

  2. Weighted-Entropy-based Quantization for Deep Neural Networks 论文笔记

    ---恢复内容开始--- 摘要 量化被认为是优化神经网络模型的推理成本的最有效方法之一,用于部署到具有严格资源限制的移动和嵌入式系统.在这种方法中,在严格的精度损失约束(例如,1%)下提供低成本量化是 ...

  3. 【模型压缩】Channel Pruning for Accelerating Very Deep Neural Networks算法笔记

    转:https://blog.csdn.net/u014380165/article/details/79811779 论文:Channel Pruning for Accelerating Very ...

  4. Simultaneous Feature Learning and Hash Coding with Deep Neural Networks

    Simultaneous Feature Learning and Hash Coding with Deep Neural Networks 论文下载地址 自从2014年中山大学潘炎老师讲deep ...

  5. Deep Neural Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images

    论文原文:Deep Neural Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images  ...

  6. 论文-Deep Neural Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images

    Deep Neural Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images Deep N ...

  7. [深度学习论文笔记][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 ...

  8. 对抗样本论文学习:Deep Neural Networks are Easily Fooled

    近日看了一些对抗样本(adversarial examples)方面的论文,在这里对这些论文进行一下整理和总结. 以下仅代表个人理解,本人能力有限难免有错,还请大家给予纠正,不胜感激.欢迎一起讨论进步 ...

  9. ImageNet Classification with Deep Convolutional Neural Networks论文翻译——中英文对照

    文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书 翻译论文汇总:https://github.com/SnailTyan/deep-learning-papers- ...

最新文章

  1. Linux下SSH命令使用方法详解
  2. python和表格关系_python – 单表继承上的SQLAlchemy一对多关系...
  3. 卷及神经网络CNN for image retrieval
  4. MyEclipse解决Launching xx on MyEclipse Tomcat has encountered a problem
  5. 推荐四十多条纯干货 Java 代码优化建议
  6. jcmd:JDK14中的调试神器
  7. 详解Django-auth-ldap 配置方法
  8. 在linux系统上使用jmeter
  9. [渝粤教育] 重庆大学 电子商务 参考 资料
  10. 一加9R将推12+256GB新版本:骁龙870+120Hz高刷屏
  11. set在python中的用法_python中set的用法:详细源码示例
  12. 实施ERP过程中必须注意的“后天条件”
  13. 人大金仓数据库的安装的使用
  14. web前端数据可视化框架汇总
  15. 【机器学习】分类决策树基本介绍+代码实现
  16. ZT - 谷歌微软等三巨头掀电视革命:智能电视年底成真
  17. RF- BuiltIn_Run Keyword关键字系列
  18. 同时打开对比两个pdf文件软件推荐
  19. Java校验时间段重叠
  20. 使用MySQLDUMP进行数据库逻辑备份与恢复

热门文章

  1. 视频教程-图解Python编程神器Jupyter Notebook-Python
  2. petalinux挂载88e1512、88e1111及base-t、base-x转换
  3. html母亲节主题网页源码jd
  4. 读洛水《知北游》有感(1)
  5. 数据处理任务量级巨大?构建预置容器镜像的Amazon EKS解决方案了解一下!
  6. 广州你让我泪流满面1
  7. 【Python】matplotlib plt显示中文乱码解决方法
  8. Jboot用@Cron失效
  9. 物联网技术周报第 103 期: DIY 智能音箱:基于 Raspberry Pi + Snowboy + AVS
  10. python通信自动化测试_基于Python的无线通信设备自动化测试软件的研制