Nicolas Papernot, Patrick McDaniel, Somesh Jha, Matt Fredrikson, Z. Berkay Celik, Ananthram Swami, The Limitations of Deep Learning in Adversarial Settings.

利用Jacobian矩阵构造adversarial samples,计算量比较大.

主要内容

目标:

\[\tag{1}
\mathop{\arg \min} \limits_{\delta_X} \|\delta_X\|, \mathbf{s.t.} \: F(X+\delta_X)=Y^*.
\]

简而言之, 在原图像\(X\)上加一个扰动\(\delta_X\), 使得\(F\)关于\(X+\delta_X\)的预测为\(Y^*\)而非\(Y\).

若\(Y \in \mathbb{R}^M\)是一个\(M\)维的向量, 类别由下式确定

\[label(X)=\mathop{\arg \min} \limits_{j} F_j(X).
\]

\(F(X)=Y\)关于\(X\)的Jacobian矩阵为

\[[\frac{\partial F_j(X)}{\partial X_i}]_{i=1,\ldots,N,j=1,\ldots,M},
\]

注意, 这里作者把\(X\)看成一个\(N\)维向量(只是为了便于理解).

因为我们的目的是添加扰动\(\delta_X\), 使得\(X+\delta_X\)的标签为我们指定的\(t\), 即我们希望

\[t=\mathop{\arg \min} \limits_{j} F_j(X+\delta_X).
\]

作者希望改动部分元素, 即\(\|\delta_X\|_0\le \Upsilon\), 作者是构造了一个saliency_map来选择合适的\(i\), 并在其上进行改动, 具体算法如下:

saliency_map的构造之一是:

\[S(X,t)[i] = \{
\begin{array}{ll}
0, & if \: \frac{\partial{F_t(X)}}{\partial X_i} <0 \:or \: \sum_{j \not= t} \frac{\partial F_j(X)}{\partial X_i} >0, \\
\frac{\partial{F_t(X)}}{\partial X_i} |\sum_{j \not= t} \frac{\partial F_j(X)}{\partial X_i}|, & otherwise.
\end{array}
\]

可以很直观的去理解, 改变标签, 自然希望\(F_t(X)\)增大, 其余部分减少, 故 \(\frac{\partial{F_t(X)}}{\partial X_i} <0 \:or \: \sum_{j \not= t} \frac{\partial F_j(X)}{\partial X_i} >0\)所对应的\(X_i\)自然是不重要的, 其余的是重要的, 其重要性用\(\frac{\partial{F_t(X)}}{\partial X_i} |\sum_{j \not= t} \frac{\partial F_j(X)}{\partial X_i}|\)来表示.

alg2, alg3

作者顺便提出了一个更加具体的算法, 应用于Mnist, max_iter 中的\(784\)即为图片的大小\(28 \times 28\), \(\Upsilon=50\), 相当于图片中\(50\%\)的像素发生了改变, 且这里采用了一种新的saliency_map, 其实质为寻找俩个指标\(p,q\)使得:



其实际的操作流程根据算法3. \(\theta\)是每次改变元素的量.

一些有趣的实验指标

Hardness measure





其中\(\epsilon(s,t,\tau)\)中, \(s\):图片标签, \(t\):目标标签, \(\tau\):成功率, \(\epsilon\)为改变像素点的比例. (12)是(11)的一个梯形估计, \(\tau_k\)由选取不同的\(\Upsilon_k\)来确定, \(H(s, t)\)越大说明将类别s改变为t的难度越大.

Adversarial distance



\(A(X,t)\)越大, 说明将图片\(X\)的标签变换至\(t\)的难度越大, 而一个模型的稳定性可以用下式衡量

\[\tag{14}
R(F)=\min_{X,t} A(X,t).
\]

The Limitations of Deep Learning in Adversarial Settings的更多相关文章

  1. What are some good books/papers for learning deep learning?

    What's the most effective way to get started with deep learning?       29 Answers     Yoshua Bengio, ...

  2. Applied Deep Learning Resources

    Applied Deep Learning Resources A collection of research articles, blog posts, slides and code snipp ...

  3. (转)Deep Learning Research Review Week 1: Generative Adversarial Nets

    Adit Deshpande CS Undergrad at UCLA ('19) Blog About Resume Deep Learning Research Review Week 1: Ge ...

  4. 论文笔记之:UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS

    UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS  ICLR 2 ...

  5. Towards Deep Learning Models Resistant to Adversarial Attacks

    目录 概 主要内容 Note Madry A, Makelov A, Schmidt L, et al. Towards Deep Learning Models Resistant to Adver ...

  6. (转) The major advancements in Deep Learning in 2016

    The major advancements in Deep Learning in 2016 Pablo Tue, Dec 6, 2016 in MACHINE LEARNING DEEP LEAR ...

  7. 博弈论揭示了深度学习的未来(译自:Game Theory Reveals the Future of Deep Learning)

    Game Theory Reveals the Future of Deep Learning Carlos E. Perez Deep Learning Patterns, Methodology ...

  8. [C3] Andrew Ng - Neural Networks and Deep Learning

    About this Course If you want to break into cutting-edge AI, this course will help you do so. Deep l ...

  9. 0.读书笔记之The major advancements in Deep Learning in 2016

    The major advancements in Deep Learning in 2016 地址:https://tryolabs.com/blog/2016/12/06/major-advanc ...

随机推荐

  1. 日常Java 2021/9/20

    Java随机数 运用Java的random函数实现猜数字游戏 随机产生一个1-50之间的数字,然后让玩家猜数,猜大猜小都给出提示,猜对后游戏停止 package pingchangceshi; imp ...

  2. 论 Erda 的安全之道

    作者|陈建锋 来源|尔达 Erda 公众号 ​ 软件研发是一个复杂的工程,不仅需要进行软件的设计.开发.测试.运维,还涉及到大量的人力.物力管理.今天讨论的主角 - "安全",在软 ...

  3. keybd_event模拟键盘按键,mouse_event怎么用

    从 模仿UP主,用Python实现一个弹幕控制的直播间! - 蛮三刀酱 - 博客园 (cnblogs.com) 知道了 PyAutoGUI: * Moving the mouse and clicki ...

  4. abundant

    In ecology [生态学], local abundance is the relative representation of a species in a particular ecosys ...

  5. 关于learning Spark中文版翻译

      在网上找了很久中文版,感觉都是需要支付一定金币才能下载,索性自己翻译算了.因为对Spark有一定了解,而且书籍前面写道,对Spark了解可以直接从第三章阅读,就直接从第三章开始翻译了,应该没有什么 ...

  6. Sharding-JDBC 简介

    什么是Sharding-JDBC 1.是轻量级的 java 框架,是增强版的 JDBC 驱动2. Sharding-JDBC(1)主要目的是:简化对分库分表之后数据相关操作.不是帮我们做分库分表,而是 ...

  7. Linux网络管理(一)之配置主机名与域名

    Linux网络管理(一)之配置主机名与域名参考自:[1]修改主机名(/etc/hostname和/etc/hosts区别) https://blog.csdn.net/shmily_lsl/artic ...

  8. ORACLE dba_objects

    dba_objects OWNER 对象所有者 OBJECT_NAME 对象名称 SUBOBJECT_NAME 子对象名称 OBJECT_ID 对象id DATA_OBJECT_ID 包含该对象的se ...

  9. [PROC FREQ] 单组率置信区间的计算

    本文链接:https://www.cnblogs.com/snoopy1866/p/15674999.html 利用PROC FREQ过程中的binomial语句可以很方便地计算单组率置信区间,SAS ...

  10. vs2019+windows服务+nancy+打包

    一.创建windows服务  二.nuget包添加nancy 1.nancy 2.0.0和Nancy.Hosting.Self 2.0.0插件 2.项目添加文件夹Modules,在Modules文件夹 ...