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

ICML2018 最佳论文:攻击基于混淆梯度的对抗样本防御

导读

机器学习,尤其深度学习,在计算机视觉,自然语言处理等任务上得到了广泛应用。而对抗样本则是深度学习面临的一大安全问题。 广义的对抗样本定义,是指对样本数据的特征值进行微小改动,以至该样本通过机器学习模型后,产生与原样本输出不同的模型输出。例如图1中,正常被分类为tabby cat的样本图片,经过加入极为微小的对抗摄动,被同样的模型分类Guacamole。对抗样本攻击发生于机器学习模型使用阶段,攻击者不需要获取模型的确切训练数据。攻击者可发起白盒,甚至黑盒攻击。这使得对抗样本攻击成为了易于成功,对深度学习应用(例如自动驾驶汽车,自动化工业生产线,安防监控系统等)产生了极大的安全威胁。同时,针对对抗样本本身分布规律的研究,可以帮助我们了解非线性深度学习模型以及数据流形的局部特征。解决对抗样本问题,是实现稳健、可靠、可解释机器学习道路上的重要一环。

图1. 对抗样本示例

面临的问题

对抗样本攻击可以分为两类:第一类方法基于被攻击模型或被攻击模型替身模型的参数得到对抗目标函数对于样本数据特征值的梯度,从而使用梯度下降优化样本数据特征值来生成对抗样本;第二类攻击基于模型输出-输入的雅克比矩阵直接对特征值进行改动。目前提出的针对第一类攻击方法的防御方法中,大部分方法依赖于混淆梯度(Obfuscated gradients)的手段,使攻击者难以基于梯度优化生成对抗样本。然而,基于混淆梯度的防御存在缺陷,可以用特殊方法实现对抗样本攻击。

为了说明混淆梯度防御的缺陷,在本文中,作者选取了ICLR 2018会议提出的7种基于混淆梯度的防御方法进行了攻击。混淆梯度是指让攻击者不能找到有用的梯度。混淆梯度防御可以分为三类:第一类为离散梯度(Gradient Shattering)防御。此类防御方法引入了不连续的梯度,使攻击者在使用梯度下降法生成对抗样本时出现数值不稳定或是导数不存在的错误;第二类为随机梯度(Stochastic Gradients)防御。此类防御通常对模型输入进行随机变换,在模型受攻击时便可以产生随机梯度使生成的对抗样本失效;第三类防御为梯度爆炸或梯度消失(Vanishing & Exploding Gradients)防御。此类防御通过构建神经网络循环机制来变相增加网络深度,导致攻击时梯度爆炸或消失,使攻击者无法找到对抗样本。本文所提出的攻击方法完全攻破了其中6种防御方法,部分攻破了其余1种防御方法。

解决方案

作者首先提出了如何识别防御是否是基于混淆梯度的方法。作者将识别方法归纳为以下几点:

单步梯度攻击效果优于迭代攻击;

黑盒攻击效果优于白盒攻击;

不限定特征值改动大小的攻击无法达到100%成功率;

基于梯度的方法无法发现对抗样本,然而在原样本特征空间邻域内暴力搜索可以发现对抗样本;

增加特征值改动上限无法提升攻击成功率。

一旦防御方法被识别为基于混淆梯度的方法,则可以通过文章提出的攻击方法进行攻击。作者提出了Backwards Pass Differentiable Approximation(BPDA),结合之前提出的攻击方法Expectation over Transformation(EoT),来攻破混淆梯度防御。

BPDA原理非常简单:给定输入样本数据x,假设神经网络可写为函数,在计算对抗样本梯度时,攻击者可以用另一个函数来进行计算,在前向传播验证对抗样本是否成功时仍然使用进行判断。此处g(x)可以是一个逼近被攻击模型的替身模型。EoT也比较易于理解:针对进行随机变换的模型输入,攻击者可以找一个对应的变换的分布,针对依分布变换后的数据的模型输出期望来寻找对抗样本。针对梯度消失&爆炸的防御,BPDA将防御视为将神经网络模型表征的函数f(x)嵌套另一个表征循环机制的函数g(x)的复合函数f(g(x)),因为g(x)深度过深造成梯度的消失或爆炸。BPDA使用替换优化变量的方式,将优化变量由样本的特征值x变为z, 即x=h(z),以使g(x)=g(h(z))=h(z)。此处h则是可导的。这样一来便绕过了g(x)带来的梯度消失或梯度爆炸问题。自此,结合BPDA,EoT与变量替换,攻击者可以绕过基于混淆梯度的防御成功生成对抗样本。

实验验证

本文针对ICLR 2018提出的9种防御方法进行了攻击,其中基于离散梯度的防御,主要有三种Thermometer Encoding(Buckman et al.),Input transformation(Guoet al.),以及Local Intrinsic dimensionality(Ma et al.)。有两种基于随机梯度的防御,Stochastic activation pruning(Dhillon et al.)以及Mitigating through randomisation(Xie et al.)。基于梯度消失&爆炸的防御有两种方法,PixelDefend(Song et al.)以及Defense-GAN(Samangouei et al.)。不基于混淆梯度的防御为Adversarial training(Madry et al.)以及Cascade adversarial training(Na et al.)。BPDA的攻击结果如图2所示。可以看出,除了Adversarial training,Cascade adversarial training,以及Defense-GAN,BPDA均实现了完全成功攻击,将对抗样本分类准确率降到了0%~9%。对于Cascade adversarial training实现了部分攻击,将模型准确率降至了15%。

图2. BPDA 攻击效果

文章进一步分析了针对Thermometer encoding,Adversarial training,以及二者结合的对抗样本失真度与攻击效果(模型分类准确率)的关系(如图3)。实验发现,Thermometer encoding不能防御BPDA攻击。反而加入了Thermometer encoding的Adversarial training劣于Adversarial training的防御效果。进一步说明了目前基于混淆梯度的防御方法针对BPDA攻击无效。

图3. 模型准确率与对抗样本失真度的关系

总结

本文提出了基于混淆梯度的对抗样本防御方法的缺陷,并提出了一种规避混淆梯度的攻击方法BPDA。BPDA成功攻破了ICLR 2019上提出的7种基于混淆梯度的防御方法,进一步揭示了目前深度学习模型的安全缺陷。

文章出处

Anish Athalye, Nicholas Carlini, and David Wagner.“Obfuscated Gradients Give a False Sense of Security: Circumventing Defenses to Adversarial Examples”.Proceedings of the 35th International Conference on Machine Learning, ICML 2018. (Best paper award)

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券