Papernot N, Mcdaniel P, Goodfellow I, et al. Practical Black-Box Attacks against Machine Learning[C]. computer and communications security, 2017: 506-519.

@article{papernot2017practical,

title={Practical Black-Box Attacks against Machine Learning},

author={Papernot, Nicolas and Mcdaniel, Patrick and Goodfellow, Ian and Jha, Somesh and Celik, Z Berkay and Swami, Ananthram},

pages={506--519},

year={2017}}

Adversarial samples 构造策略中的black-box策略. black-box attacks, 即不依赖所针对的神经网络\(O\)的参数(像FGSM需要关于样本求导), 不依赖训练\(O\)所需的样本.

主要内容

算法为:

策略如下, 我们现在仅有一个黑盒般的神经网络\(O\), 我们喂入一个样本\(x\)就会有一个输出, 记\(\tilde{O}(x)\)为对应的预测的类, 即

\[\tilde{O}(x) = \arg \max_{j \in 0, \ldots, N} O_j(x),
\]

其中\(O_j(x)\)是概率向量\(O(x)\)的第\(j\)个元素.

我们构造一个新的神经网络\(S\), 以期望训练\(S\)使得\(S\)和\(O\)二者的分类边界近似. 因为没有训练样本, 一种想法是人工生成训练样本(随机生成是可以预料到的方法, 但是这种方法作者说不好).

Jacobian-based Dataset Augmentation

假设有一批最开始的样本(可以是找的少量训练样本, 或者随机生成的样本), 设为\(S_0\), 将这批样本畏入\(O\)获得对应的样本标签(虽然可能是误判, 我们的目的是拟合\(O\)),

\[D \leftarrow \{(x, \tilde{O}(x)):x \in S_0\},
\]

再将这批数据喂入\(S\)训练\(S\), 现在我们需要更新\(S_0\):

\[S_1 \leftarrow \{x + \lambda \cdot \mathrm{sgn} (J_F[\tilde{O}(x)]: x \in S_0]\} \cup S_0.
\]

其中\(J_F[\tilde{O}(x)]\)表示\(\tilde{O}(x)\)关于\(x\)的导数(这个idea应该是中FGSM中来的, 比较Goodfellow是联合作者).

后续的数据的更新是类似的.

现在假设我们已经训练好了\(S\), 我们需要在\(S\)的基础上构造adversarial samples, 这些作者直接借鉴了部分关于white-box的工作(FGSM等), 我们只需利用white-box attacks 去欺骗\(S\)即可.

Note

  • 网络结构, 比如网络的层数, 训练时的epoch等等对结果的影响有限.
  • white-box 方法选择对结果的影响有限.
  • 该方法可以扩展到除DNN以外的机器学习上, 比如逻辑斯蒂回归(决策树似乎也可, 但是没找到怎么实现的方案).
  • 为了提高网络的稳定性, 我们可以在训练的时候加入adversarial samples, 但是作者发现, 最好是在\(\epsilon\)(输入摄动)较大但有限的adversarial samples 上训练比较好.

最新文章

  1. C#基础:飞行棋游戏
  2. [Head First设计模式]云南米线馆中的设计模式——模版方法模式
  3. prince2 证书有用吗
  4. linux php 安装 memcache 扩展
  5. php插入排序
  6. 技术分享:WIFI钓鱼的入门姿势
  7. Android常用布局
  8. Java基础 —— Java常用类
  9. C中宏展开问题
  10. Oracle > count(*) / count(0) / count(1) | order by 1, 2
  11. ios开发之C语言第3天
  12. 实验记录贴 —— 账号同步实验 RTX 和 LDAP(AD域)
  13. Tomcat 的context.xml
  14. c++,模板函数的定义和使用【初探】
  15. 初识BASH SHELL
  16. Java关键字---this的由来和其三大作用
  17. java利用itext导出pdf
  18. zabbix系列(五)zabbix3.0.4 探索主机Discovery自动发现主机详细图文教程
  19. sublime text syntaxdef
  20. 纯CSS绘制三角形(各种角度)类似于使用字符画法,根据位移不同,也可以使用两个元素画出三角边框

热门文章

  1. gitlab基础命令之代码回滚
  2. Spring Boot Actuator:健康检查、审计、统计和监控
  3. Ajax异步更新网页(使用原生JavaScript)
  4. 【Spark】【RDD】从本地文件系统创建RDD
  5. 开发中的PR和MR
  6. 【dva】dva的基本用法
  7. RocketMQ源码详解 | Broker篇 · 其五:高可用之主从架构
  8. [BUUCTF]REVERSE——[WUSTCTF2020]level1
  9. 使用CCS10新建TMS320F28335工程并闪烁LED(流水灯)程序
  10. 这样学习ZooKeeper离大厂所需技能要求还远吗