首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MIT&伯克利喊话ICLR七篇论文:你们的对抗样本防御器不靠谱!

编者按:基于神经网络的分类器通常被用于图像分类,它们的水平通常接近人类。但是,这些相似的神经网络特别容易受到对抗样本和细微的干扰输入的影响。为了减轻甚至消除影响,研究人员最近找出了能抵抗干扰的防御系统。在ICLR 2018接收的论文中,有好几篇关于防御系统的论文。然而,就在ICLR官方刚刚公布论文之后,麻省理工和伯克利的研究人员就提出“混淆梯度”的概念,能轻松击败大部分防御系统。以下是论智对原论文进行的编译。

上图是一个对抗样本的案例:通过在一张猫的图片中添加干扰,我们就能骗过InceptionV3分类器,使其把“猫”看成了美洲传统调料鳄梨酱。这种“愚弄网络的图片”很容易用梯度下降进行合成。为了应对神经网络对于对抗样本的脆弱性,最近一段时间有人提出了针对攻击的“防御系统”,能够提高神经网络的鲁棒性。

虽然人们对对抗样本已经有了更多了解,甚至找到了抵御攻击的方法,但却还没有一个彻底的解决方案能让神经网络不受对抗样本的干扰。据我们所知,目前发表的对抗样本防御系统在强大的优化攻击面前同样非常脆弱。

经过研究,我们认为防御系统能在受到迭代攻击时仍然保持较强的鲁棒性的共同原因是“混淆梯度”(obfuscated gradients)的存在。没有良好的梯度信号,基于优化的方法就不能成功。我们定义了三种混淆梯度——破碎梯度(shattered gradients)、随机梯度(stochastic gradients)以及消失/爆炸梯度(vanishing/exploding gradients),同时针对这三种现象分别提出了解决方案。为了研究混淆梯度的影响以及评估我们的解决方案的效果,我们用ICLR 2018中有关对抗样本的论文作为例子,在八篇有关对抗样本的防御机制的论文中,有七篇的防御机制都抵挡不住我们的新型攻击技术。以下是实验过程的详细介绍。

上文中我们提到了防御机制造成混淆梯度的三种方式,接下来让我们一一介绍各种情况。

破碎梯度(shattered gradients)是当防御不可微分时产生的,它会引起数值不稳定或者导致真正的梯度信号发生错误。造成梯度破碎的防御措施往往是通过引入可微分的操作无意产生的,但实际上梯度并不指向最大化分类损失的方向。

随机梯度(stochastic gradients)是由随机防御引起的,其中要么网络本身是随机的,要么输入的内容是随机的。多次评估梯度会得到不同的结果,这可能会产生单步方法(single-step methods)以及优化方法,即利用单个随机样本错误地估计真正的梯度方向,并且无法收敛到随机分类器的最小值。

爆炸和消失梯度(Exploding & Vanishing gradients)通常是由多次迭代的神经网络评估构成的防御造成的。因为这可以看作是一个非常深的神经网络评估,很容易看出为什么梯度会爆炸或消失。

在一些情况下,防御机制包含着不可微分的操作,但是在其他情况下,可能不会立即找到。以下是几种检查混淆机制的几种方法,也许不一定适用于每种情况,但是我们发现每个含有混淆梯度的防御机制都至少有一个无法通过的测试。

检查迭代攻击比单步方法更好。在白盒中应用基于优化的迭代攻击应明显强于单步攻击,并且表现得必须相当好。如果单步方法的性能优于多不方法,那么多步攻击有可能陷入局部最小值的最优搜索中。

证明白盒攻击比黑盒效果好。黑盒威胁模型是白盒威胁模型的子集,所以白盒设置中的攻击应该表现得更好。然而,如果防御正在混淆梯度,那么不需要梯度信号的黑盒通常比白盒攻击的效果好。

确保攻击达到100%的成功。如果对图片无限进行干扰,任何分类器应该对对抗样本有0%的鲁棒性(只要分类器不是一个常数函数)。如果攻击没有达到100%的成功率,这表明防御机制正在以微妙的方式打败攻击,实际上可能不会增加鲁棒性。

暴力随机抽样。识别混淆梯度的最后一个简单方法是在每张图像的某个ε-球内暴力搜索对抗样本。如果用优化方法进行的随机搜索没有找到对抗样本,防御很可能是混淆梯度。

既然已经找到了混淆梯度,那么应该用什么方法解除样本的防御系统呢?通过基于优化的方法产生对抗样本的例子需要通过反向传播获取有用的梯度。因此,许多防御有意或无意地造成梯度下降,最终失败。我们讨论了一些技术,能解决混淆梯度的问题。

1.后向传递可微近似(Backward Pass Differentiable Approximation)

破碎的梯度可能是无意产生的(如数值不稳定)或者有意产生的(使用不可微分的操作)。为了攻击那些梯度不易获得的防御,我们引入后向传递可微近似(BPDA)的技术。

2.对随机性求导

使用随机分类器之前对输入使用随机变换时会产生随机梯度,当对采用这些技术的防御系统进行基于优化的攻击时,有必要估计随机函数的梯度。

3.重新调整参数

针对梯度消失或爆炸,我们通过重新调整参数来解决。

为了了解混淆梯度的影响,我们研究了ICLR 2018接收的论文中研究白盒威胁模型中鲁棒性的成果。我们发现除了一篇之外,其他论文中的防御机制都依赖于这一现象来保证对抗样本的鲁棒性,而且我们的技术可以使那些依赖于混淆梯度的技术失效。下表总结了实验结果:

在接收的八篇论文中,有两个防御措施在ImageNet上的鲁棒性较好,ImageNet比CIFAR-10更难;而另一个措施却在MNIST上表现得好,MNIST比CIFAR-10要容易得多。因此,将这些防御措施跨数据集比较是很困难的。

但是,Madry等人写的International Conference on Learning Representations这篇文章中的方法不会生成混淆梯度的三种情况。但是,我们发现了这种方法的两个重要特征:

对抗性在训练在ImageNet上有困难;

只在l∞对抗样本上进行的训练只在其他干扰的度量下对对抗样本提供有限的鲁棒性。

除此之外,其他七篇论文全部或多或少地依赖于混淆梯度,具体防御研究过程以及对应的攻击方法可阅读原论文了解。

对图片进行不同程度的干扰。第一行:无干扰;第二行:失真值=0.015;第三行:失真值=0.031

论文一经推出,就引发了网友们的热议。在reddit上,GANs之父Ian Goodfellow对该研究提出了小小的疑问:

论文作者声称他们找到了“混淆梯度”的问题,其实这只是“梯度隐藏”的另一个名字而已,推荐看这些论文以及PPT:

Practical Black-Box Attacks against Machine Learning;

Attacking Machine Learning with Adversarial Examples;

Ensemble Adversarial Training: Attacks and Defense;

Gradient Masking in Machine Learning。

并且,你说你研究了ICLR 2018上所有有关“防御”的论文,但你其实漏了一篇有关梯度隐藏的问题:Ensemble Adversarial Training: Attacks and Defenses。

论文作者Carlini对这一问题回答道:

我不确定是否应该把它看做梯度隐藏的一类,我觉得这与梯度隐藏有些不同。

我认为梯度隐藏是由蒸馏(distillation)或者针对FGSM的训练(没有随机添加)引起的,其中梯度其在局部指向错误的方向,但梯度信号的大部分仍然保留。

就我们所研究的防御而言,梯度往往是复杂的,而且几乎没有任何有用的指向实际对抗的方向。

也许我们的论文结论是错误的,但我觉得创造出两个相关的词总比把一个定义扩展到新情况中。如果研究人员认为我们的成果是错的,想叫它为“梯度隐藏”,我是无所谓的。对我而言,了解事情的本质比它应该怎样命名更重要。

我们不评估集体对抗训练,因为它不讨论白盒安全性。我们在论文中提到了这一点。但是我们的确没有完全研究ICLR 2018相关的所有论文,这一点将在更新版中得到更正。

可以看到,虽然这篇论文提出的“混淆梯度”问题还有待讨论,但是对抗样本问题仍然是神经网络面临的巨大挑战。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180206A0NGGY00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券