Practical Black-Box Attacks against Machine Learning

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 上训练比较好.

猜你喜欢

转载自www.cnblogs.com/MTandHJ/p/12411649.html