Practical Black-Box Attacks against Machine Learning
Practical Black-Box Attacks against Machine Learning
Nicolas Papernot, etc.
Intro
attach经常会通过adversarial examples实例化:常规的输入被修改,而修改方式通常是增加一些小的,不可兼得,perturbations,从而导致classifier无法正确分类。
有这么几个假设
- adversary并不知道model的parameter和structure
- 并没有机会得到大量的training dataset
- adversary唯一能够了解的就只有DNN预测的label
Threat Model
adversary试图寻找一个classifier能够missclassify inputs。adversary不知道模型的任何信息,也不知道训练集是什么。这类的attack叫做black box。
Adversarial Capabilities: oracle $$O$$是一个已知的目标模型targeted model。adversary唯一能做的就是,给定任意一个输入$$x$$,向oracle $$O$$询问对应的label $$\tilde O(x)$$。
$$\tilde O (x) = arg \, max_{j} \, O_j(x)$$
Adversarial Goal: 希望生成的是adversarial sample,会使得oracle模型分类错误。可以变成一个优化问题
$$x^* = x + arg\, min{ z: \tilde O(x+z) \ne \tilde O(x) } = x + \delta_x$$
通常只会增加非常小的perturbation $$\delta_x$$,从而不会让人们观测到图像的变化。
Black-Box Attack Strategy
大多数adversarial attack还是基于gradient-based optimization,但在我们这里black-box的设定下就不可行。
在这里提出来使用target DNN作为oracle来构造一个合成的数据集合。构造一个substitute network F,是oracle O的一个估计。然后用F来构造adversarial samples。由此有了这么一个策略
- 采用一种Jacobian-based heuristic方法,来构造一个模型$$F$$,来模拟模型$$O$$。
- 构造adversarial samples,通过模型$$F$$。
Substitute Model Training
对于模型的结构,发现它们对于一个attach成功的影响非常小。
如果使用大量的queries来得到一个oracle的拷贝。但是这会使得整个adversarial behaviors可以被预测。
一个自然地替代方式,是随机选择额外的点进行查询。比如用高斯分布来采样哪些点来训练substituent model。
一种heuristic方法是在一组初始训练数据集上,确定一个方向,能够使得target model的变化最大。这些方向通过DNN的Jacobian matrix $$J_F$$确定。增加的perturbation是通过Jacobian matrix得到,所以叫做Jacobian-based Dataset Augmentation
$$s{\rho + 1} = { x + \lambda \cdot sgn(J_F[\tilde O(x)]): x \in s\rho } \cup s_\rho$$
Appendix
这篇paper接受于 Asian Conference on Computer and Communications Security, 2017
open-mind一下
这里的perturbed情况实际上是对应于图像特别有效,因为图像的输入大部分都是clean,没有noise的。
而反观其他领域,比如chemistry,大部分的输入是noisy。相应的,perturbation对于他们的影响也应该不会特别大。
因此不妨以此另外一个dataset clean的指标,对于perturbation的robustness。
因此有了另外一个想法,能否构造一个VAE,来去除noise/perturbation?这样新生成的instance还是能够被正确识别?网上一查,果然有人做过类似的活 DVAE