Procedural Noise Adversarial Examples for Black-Box Attacks on Deep Neural Networks论文笔记
0. 概述
如今一些深度神经网络对于一些对抗性样本(Adversarial sample)是弱势的, 对抗性样本就是指我们对输入进行特定的改变, 通过原有的学习算法最终导致整个网络内部出现误差, 这属于攻击的一种, 然而, 现在的攻击都是要么计算代价特别大, 要么需要对目标的模型和数据集有大量的先验知识, 因此, 这些方法在实际上其实都不实用. 该文章主要介绍了一种程序性噪声, 利用该噪声, 使得构造实用的低计算量的黑盒攻击成为了可能, 对抗鲁棒性的神经网络结构, 比如Inception v3和Inception ResNet v2 在ImageNet数据集上. 该文章所提出来的攻击实现了低尝试次数下成功造成错分类.
这种攻击形式揭露了神经网络对于Perlin噪声的脆弱性, Perlin噪声是一种程序性噪声(Procedural Noise), 一般用于生成真实的纹理, 使用Perlin噪声可以实现对所有的分类器都实现top1 至少90%的错误率, 更加令人担忧的是, 该文显示出大多数的Perlin噪声是具有"普适性"(Universal)的, 在对抗样本中, 数据集的大部分, 使用简单的扰动使得高达70%的图片被错误分类
Top-5错误率: 即对一个图片,如果概率前五中包含正确答案,即认为正确。
Top-1错误率: 即对一个图片,如果概率最大的是正确答案,才认为正确。
这样的结果揭示了DNN系统的脆弱性, 并且该脆弱性需要被更多地研究, 该文也显示了对抗训练的局限性, 对抗训练是一种用来增强鲁棒性以至于能够防御对抗样本的手段, 然而, 攻击者只需要改变生成对抗样本的视角就能够实现成功攻击, 并且作为防御者, 很难去预测所有未来可能的对抗扰动.
1. 介绍
首先, 我们需要知道神经网络是十分脆弱的, 现存的有很多攻击手段, 比如在训练过程中, 攻击者可以注入一些恶意的样本(malicious data), 这个称之为下毒攻击(poisoning attack), 目标是降低整体的性能(performance). 在测试阶段, 攻击者可以利用学习算法的盲点和弱项来制造内部的误差, 我们称之为闪避性攻击(evasion attack), 这种针对机器学习系统的攻击在很多针对反病毒引擎, 反垃圾邮件或者在社交网路上检测虚假文件和虚假消息的系统上已经被报告出来.
在图像分类任务上, Szegedy等人提出神经网络会容易受这样的对抗样本所影响: 使用和真实的数据无差别的图片作为输入, 结果是错分类的, 扰动的目的是为了欺骗学习算法, 这样的扰动通常来说特别小, 检测这些对抗样本是一种挑战.
举个例子, 更改某几个像素点的值, 或者加上一些微妙的噪声
上图就是使用该文章所提出来的方法来进行噪声的添加, 最终导致分类错误, 最左边是原图, 中间是添加了噪声的图片, 原本被分类成"analog clock"被错分类成"barbell"
关于制作这些对抗性样本提出来的有黑盒和白盒的方法, 白盒的方法依赖于基于增加到对抗样本的扰动大小的约束和一个机器学习分类器提供的几率(odds). 虽然, 这些攻击是十分有效的, 但是确是计算代价较大的, 并且对于扩展到自然大图片数据集上不友好, 比如ImageNet.
这里的odds应该是指softmax后的整个概率向量
通常来说, 黑盒攻击使用两种方法:
- 通过估计目标函数的梯度
- 使用对抗样本的可转移属性(transferability property)
构造者通常都要对机器学习系统进行大量的请求, 并且很难应用于高维度的数据集, 通常需要构建一个代理数据集和代理模型.
利用代理模型进行攻击比利用梯度要更好地进行扩展, 能够在一些ImageNet数据集上实现高达70% 的top-1 闪避(evasion), 并且减少请求的次数. 然而, 这些方法还是需要对目标分类器的了解或者是相似分类器的了解, 和梯度估计方法不同, 假设了攻击者具有更受限制的知识.
该篇文章提出了一个新颖的方法来生成有效的对抗样本, 在计算机视觉任务上作为黑盒攻击. 发现程序性噪声在欺骗自然图片分类器上具有极好的效果, 并且计算代价十分小, 请求次数也十分小.
Perlin噪声模式是用来生成自然界的纹理的, 在图片和视频游戏中也有应用, 有趣的是, 这些扰动视觉上类似通用的对抗扰动(Universal Adversarial Perturbation), 能够使用相同的对抗噪声模式来高概率地欺骗一个深度神经网络.
该文的方法依赖于一个减少控制噪声生成的参数的优化, 提出使用贝叶斯优化(Bayesian optimization), 这个优化已经被证明是对于黑盒优化有效的方法, 它通过考虑目标函数的估计的不确定性来减少了函数的数目.
实验结果是能够达到至少90%和45%的top-1和top-5错误率, 是部分的黑盒攻击的效果的两倍, 更进一步, 该结果在大多数情况下对比白盒攻击在ImageNet上效果甚至更好.
对抗训练(adversarial training)用于增强模型对于对抗样本的鲁棒性, 虽然该方法应对白盒攻击体现出了效果, 该文显示了其限制性, 只要攻击者改变生成对抗样本的视角即可, 我们使用了全体对抗训练(ensemble adversarial training), 对抗训练里面最优的模型, 仍然对于Perlin噪声攻击不够有鲁棒性.
给出该文章的主要贡献:
- 介绍一种黑盒攻击, 可扩展并且计算高效, 使用真实和自然纹理的程序性噪声函数, 展现了DNN在该种扰动下的脆弱性, 在ImageNet上比目前的黑盒和白盒攻击都要表现出色.
- 提出了黑盒优化的贝叶斯优化方法, 用来学习Perlin噪声的参数, 使用很少的迭代次数就可以制造出成功的对抗样本
- 和通用的扰动类似, 展现了一个通过我们的perlin噪声生成的单扰动能够实现许多成功的攻击对于大量的数据点集合而言. 彻底地减少了攻击者为了扩展攻击造成的影响.
- 我们的攻击策略显示出了对抗学习的限制性, 并且经验性地显示最好的全体对抗训练模型对于程序性噪声扰动并没有足够有效.
2. 相关工作
机器学习的脆弱性由对抗机器学习(adversarial machine learning)开展的一系列研究来进行探索.
关于对抗机器学习, 该方向是机器学习和安全的交叉点, 为了探究能够使攻击者来破坏机器学习系统的方法, 以及开发更加鲁棒性的算法用于减轻这些攻击的效果.
在训练阶段, 攻击者可以使用毒害攻击(poisoning attack), 通过注入一些恶意数据 到我们的训练集合里面, 进而操纵整个系统的行为, 同时是为了降低整个系统的性能. 第一个实际中的毒害攻击被应用在了垃圾邮件过滤和异常检测系统之中.
防御策略通常有以下两种方法:
- 试图在训练阶段, 将一些具有坏影响的样本剔除出去.
- 假设大多数有影响的样本是异常的样本, 利用异常检测进行剔除.
偷漏攻击(Evasion attack)是在测试阶段进行攻击的方法, 使得模型产生内部的错误, 并且使用这种弱点和盲点.
我们可以根据对抗者的能力和知识来对攻击进行分类
- 白盒攻击: 攻击者对目标分类器和数据集都能够访问
- 黑盒攻击: 攻击者不了解目标分类器和训练数据集
白盒攻击是基于迁移(transferability-based)的黑盒攻击的基础
Szegedy等人提出来最小化攻击, 做出最小化的扰动来实现攻击, 使用L-BFGS来解决优化问题
C. Szegedy, W. Zaremba, I. Sutskever, J. Bruna, D. Erhan, I. Goodfellow, and R. Fergus, “Intriguing Properties of Neural Networks,” arXiv preprint arXiv:1312.6199, 2013.
Biggio等人提出来限制最大扰动的攻击.
B. Biggio, I. Corona, D. Maiorca, B. Nelson, N. ˇSrndi´c, P. Laskov, G. Giacinto, and F. Roli, “Evasion Attacks against Machine Learning at Test Time,” in Joint European Conference on Machine Learning and Knowledge Discovery in Databases, 2013, pp. 387–402.
Goodfellow等人提出来快速梯度符号方法(FGSM--- Fast Gradient Sign Method)攻击, 利用cost函数反推出梯度, 然后对样本进行扰动.
**I. J. Goodfellow, J. Shlens, and C. Szegedy, “Explaining and Harnessing Adversarial Examples,” arXiv preprint arXiv:1412.6572, 2014. **
虽然, 这些方法依赖于近似, 但是不复杂并且有效以及可扩展到高维度的数据集.
其他的基于梯度的白盒攻击方法, 比如雅可比特性映射方法(JSMA--Jacobian Saliency Map Approach), C&W (Carlini & Wagner)方法以及DeepFool方法
**N. Papernot, P. McDaniel, S. Jha, M. Fredrikson, Z. B. Celik, and A. Swami, “The Limitations of Deep Learning in Adversarial Settings,” in European Symposium on Security and Privacy, 2016, pp. 372–387. **
**N.CarliniandD.Wagner,“TowardsEvaluatingtheRobustnessofNeural Networks,” in Symposium on Security and Privacy, 2017, pp. 39–57. **
**S.-M. Moosavi-Dezfooli, A. Fawzi, and P. Frossard, “Deepfool: a Simple and Accurate Method to Fool Deep Neural Networks,” in Conference on Computer Vision and Pattern Recognition, 2016, pp. 2574–2582. **
这些攻击的快速版本, 比如FGSM和Step-LL, 将效率和速度进行交换
A. Kurakin, I. Goodfellow, and S. Bengio, “Adversarial Machine Learning at Scale,” arXiv preprint arXiv:1611.01236, 2016.
Moosavi-Dezfooli等人公式化了白盒攻击, 并且概括了DeepFool来生成一个统一对抗扰动(UAPs--Universal Adversarial Perturbations): 通过图片集的单一的对抗扰动来欺骗分类器
以上这些方法是根据梯度来进行对抗样本的生成的, 但是由于神经网络的复杂性, 利用梯度来构造对抗样本是不足够合理的, 可能找不到解, 不过在实际的某些任务上, 仍然可以用梯度方法来找到对抗样本.
黑盒攻击代表了更为一般的场景, 特别是当机器学习算法被部署到真实世界中的时候. 很多实际的黑盒攻击关注于对抗样本的迁移性, Papernot等人观察到对抗样本在模型之间的迁移性, 并且基于此, 他们训练一个代理模型( surrogate model )来进行分类任务, 对代理模型进行白盒攻击, 使用所生成的对抗样本来黑盒攻击真实的模型.
N. Papernot, P. McDaniel, and I. Goodfellow, “Transferability in Machine Learning: From Phenomena to Black-box Attacks using Adversarial Samples,” arXiv preprint arXiv:1605.07277, 2016.
N. Papernot, P. McDaniel, I. Goodfellow, S. Jha, Z. B. Celik, and A. Swami, “Practical Black-box Attacks Against Machine Learning,” in Asia Conference on Computer and Communications Security, 2017, pp. 506–519.
为了增强他们的攻击, 还使用合成的办法对数据集进行扩展.
Kurakin等人将其攻击继承到大图片数据集ImageNet上面, 他们的结果是在最好的神经网络模型上表现出60%的top1错误和50%的top5错误.
A. Kurakin, I. Goodfellow, and S. Bengio, “Adversarial Machine Learning at Scale,” arXiv preprint arXiv:1611.01236, 2016.
Moosavi-Dezfooli等人也基于ImageNet任务中, 探索了他们的UAP在不同神经网络中的一般性, 使用迁移攻击实现了74%的top 1错误.
**S.-M. Moosavi-Dezfooli, A. Fawzi, O. Fawzi, and P. Frossard, “Universal Adversarial Perturbations,” in Conference on Computer Vision and Pattern Recognition, 2017, pp. 86–94. **
当攻击者只有少量的知识的时候, 上述方案看上去便不太实际, 而且迁移的特性是不被保证的.
其他的黑盒侧重于使用大量的请求来估计目标分类函数, 但是容易被注意到并防御下来.
利用梯度构造的对抗样本, 其接近于分类器分类的边界, 这对于复杂的数据集, 比如ImageNet数据集我们对于一张图片至少需要访问神经网络1000次(ImageNet有1000个类别), 这是很难解决的. 基于决策的方法和ZOO方法被提出.
W. Brendel, J. Rauber, and M. Bethge, “Decision-Based Adversarial Attacks: Reliable Attacks Against Black-Box Machine Learning Models,” arXiv preprint arXiv:1712.04248, 2017.
P.-Y. Chen, H. Zhang, Y. Sharma, J. Yi, and C.-J. Hsieh, “Zoo: Zeroth Order Optimization Based Black-box Attacks to Deep Neural Networks without Training Substitute Models,” in Workshop on Artificial Intelligence and Security, 2017, pp. 15–26.
很多这样的黑盒攻击并没有考虑对于复杂神经网络以及复杂的自然数据集的实际意义以及效率.
空域攻击(Spatial Attack), 利用简单的变换, 比如旋转, 缩放等来生成对抗样本, 实现了低次数的访问以及取得了合理的成功, 对于标准的ResNet-50来说, 在ImageNet任务下, 实现了训练集的70%的top-1错误以及50%的扩充训练集的top-1错误.
**L. Engstrom, D. Tsipras, L. Schmidt, and A. Madry, “A Rotation and a Translation Suffice: Fooling CNNs with Simple Transformations,” arXiv preprint arXiv:1712.02779, 2017. **
该文的方法为非空域攻击, 在原始图片上使用一种加性噪声来构造对抗样本.
正确地区分对抗样本是很困难的, 但亦提出来一些检测进行梯度混淆的对抗样本的方法, Athalye等人以及Carlini等人提出了避免这种特殊攻击的防御手段.
A. Athalye, N. Carlini, and D. Wagner, “Obfuscated Gradients Give a False Sense of Security: Circumventing Defenses to Adversarial Examples,” arXiv preprint arXiv:1802.00420, 2018.
N. Carlini and D. Wagner, “Adversarial Examples are not Easily Detected: Bypassing Ten Detection Methods,” in Workshop on Artificial Intelligence and Security, 2017, pp. 3–14.
在现存的防御手段中, 对抗性训练展现了更为一般性的鲁棒性, Kurakin等人实现了对抗性训练并且显示其针对单步梯度攻击的鲁棒性.
A. Athalye, N. Carlini, and D. Wagner, “Obfuscated Gradients Give a False Sense of Security: Circumventing Defenses to Adversarial Examples,” arXiv preprint arXiv:1802.00420, 2018.
A. Kurakin, I. Goodfellow, and S. Bengio, “Adversarial Machine Learning at Scale,” arXiv preprint arXiv:1611.01236, 2016
Madry等人使用投影梯度下降(PGD--ProjectedGradient Descent)的方法, 并通过实验说明了利用该方法生成样本进行训练, 能够对于先序攻击有一定适应性.
A. Madry, A. Makelov, L. Schmidt, D. Tsipras, and A. Vladu, “Towards Deep Learning Models Resistant to Adversarial Attacks,” arXiv preprint arXiv:1706.06083, 2017.
Tramer等人提出了全局对抗训练(ensemble adversarial training), 利用其他模型生成的对抗样本进行训练, 能够有效防范ImageNet的黑盒攻击.