IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 大白话之One Pixel Attack for Fooling Deep Neural Networks论文讲解 -> 正文阅读

[人工智能]大白话之One Pixel Attack for Fooling Deep Neural Networks论文讲解

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))subjecttoe(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 xy,使用正态分布 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库的差分进化算法比较慢,作者在代码上做了一些速度上的提升。

附录

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

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-07-28 00:15:18  更:2021-07-28 00:15:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/9 9:37:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码