AI内参_26_025_ICML_2018论文精读模型经得起对抗样本的攻击这或许只是个错觉
你好,我是洪亮杰。
今天,我和你分享的主题是ICML二零一八论文精读聊一聊梯度混淆带来的安全错觉。
二零一八年七月十号到十五号国际机器学习大会ICML二零一八在瑞典的斯德哥尔摩举行。
Icml从一九八零年开始举办,已经有了三十多年的历史,是机器学习、人工智能领域的顶级会议。
今年,ICML大会共收到了两千四百七十三份投稿,投稿量和去年相比增加了百分之四十五。
今年最后录取了六百二十一篇,论文录取率近百分之二十五。
除了主会议以外,ICML大会还组织了九个讲座六十七个研讨班。
在接下来的几期内容里,我会为你精选三篇ICML二零一八的论文,我们一起来讨论。
今天我和你分享的是大会的最佳论文,题目是梯度混淆带来的安全错觉,绕过对对抗样本的防御。
先简单介绍一下这篇论文的作者群。
第一作者,安妮什阿提耶是麻省理工大学的博士生,主要研究方向是机器学习算法的安全。
他在今年的ICML大会上就发表了三篇论文。
第二,作者是尼古拉泽,多维奇是阿提耶的导师,他是麻省理工大学计算机系的教授,做安全相关的研究。
第三作者大卫瓦格纳来自加州大学伯克利分校,是计算机系教授,也是安全研究方面的专家。
这篇论文的内容对于大多数人来说呢,可能是比较陌生的,想要弄清楚。
这篇论文的主要贡献,我们首先要熟悉一下这篇论文所要解决的专家。
试想,我们比较熟悉的监督学习任务。
一般来说,在监督学习任务中,我们会有一个数据集,用各种特性来表征这个数据集里的数据点。
拿最普通的监督学习来说,比如需要把图像分类为猫狗等机器学习算法,就是学习一个分类器,可以根据不同的输入信息来做分类的决策。
当然我们所说的是在正常情况下使用分类器的场景,有一类特别的应用场景或者说是对抗场景,其实是希望利用一切方法来破坏或者绕开分类器的决策结果。
一个大类的对抗机制是尝试使用对抗样本。
什么是对抗样本呢?就是说一个数据样本和原来正常的某个样本是非常类似的,但是可以导致分类决策出现很大不同。
例如,在我们刚才图像识别的例子中,一个有效的对抗样本就是一张非常像狗的图片。
但是可以导致分类器,认为这是一只猫或者别的动物利用这种类似的样本,可以使分类器的训练和测试都产生偏差,从而达到攻击分类器的目的。
除了对抗样本的概念以外,我们再来看一看攻击分类器的一些基本的模式。
一般来说,对分类器的攻击有两种模式,一种叫做白盒攻击,一种叫做黑盒攻击。
白盒攻击主要是指攻击者可以完全接触到分类器的所有内部细节,比如深度模型的架构和各种权重,但无法接触到测试数据。
而黑盒攻击则是指攻击者无法接触分类器的细节解。
这篇论文考虑的场景是白盒攻击,攻击方尝试针对每一个合法的数据点,去寻找一个距离最近的数据变形,使得分类器的结果发生变化。
通俗的说就是希望对数据进行最小的改变,从而让分类器的准确率下降。
在完全白盒的场景下,最近也有一系列的工作,希望让神经网络更加健壮,从而能够抵御对抗样本的攻击。
但是到目前为止,学术界还并没有完全的答案。
通过上面的介绍,我们知道目前有一些防御对抗样本的方法,似乎为分类器提供一些健壮性的保护。
这篇文章的一个重要贡献就是指出,这些防御方法有可能只是带来了一种由梯度混淆所导致的错觉,通过混淆是梯度屏蔽的一种特殊形式。
对于迭代攻击方法来式,如果发生梯度混淆,防御方会形成防御成本的假象。
作者们在这篇论文中,对梯度混混进进行了分析,提出了三种类型的梯度混淆,但是是扩散梯度、随机梯度和消失梯度或者爆炸梯度。
针对这三种不同的梯度混淆,作者们提出了相应的一些攻击方案,使得攻击方可以绕过梯度混淆,来达到攻击的目的。
并且在ICLR二零一八的数据集上展示了很好的效果。
值得注意的是,这篇论文针对的是在防御过程中防御方的方法所导致的梯度混淆的问题。
目前学术界还有相应的工作,是从攻击方的角度出发,试图学习打破梯度下降,例如让梯度指向错误的方向。
我们首先来看一看这三种类型的梯度。
混淆。
扩散梯度主要是指防御方发生了不可微分的情况,不可微分的后果是直接导致数值不稳定或者梯度不存在扩散梯度其实并不意味着防御方有意识的希望这么做。
这很有可能是因为防御方引入了一些看似可以微焚,但是并没有优化目标函数的情况。
随机梯度主要是由随机防御引起的这有可能是神经网络本身被随机化了,或者使输入的数据被随机化,造成了梯度随机化消失。
梯度和爆炸梯度主要是通过神经网络的多次迭代估值所导致,例如让一次迭代的结果直接进入下一次迭代的输入。
刚才我们说了,梯度混淆可能是防御方无意识所产生的结果,并不是设计为之。
那么攻击方有什么方法来识别?防御方是真的产生了有效果的防御,还是仅仅发生了梯度混淆的情况呢?作者们做了一个总结,如果出现了以下这些场景,可能就意味着出现了梯度混淆的情况。
第三种情况一步,攻击的效果比迭代攻击好,迭代攻击也就是攻击多次在白盒攻击的情况下,迭代攻击是一定好于一步攻击的。
因此,如果我们出现了这种一步攻击,好于迭代攻击的情况,往往就意味着异常。
第二种情况,黑盒攻击的效果比白盒好,理论上白盒攻击的效果应该比黑盒好出现。
相反的情况往往也意味着不正常。
第三种情况无局限,效果没有达到百分之百。
最后的这种情况就是随机寻找对抗样本,发现了比基于梯度下降的攻击要好的对抗样本。
那么针对一度混淆攻击方有什么方法呢?针对扩散梯度,作者们提出了一种叫BPDA的方法,如果有兴趣建议你阅读论文来了解这种算法的细节。
总体说来,BPDA就是希望找到神经网络不可微分的地方,利用简单的、可微分的函数对其前后进行逼近,从而达到绕过阻碍的目的。
针对随机梯度,作者们提出了变换之上的期望这一方法,这个方法的特点是针对随机变化变换的期望,应该还是能够反映真实的梯度信息。
于是,作者们就让攻击方作用于变换的期望值,从而能够对梯度进行有效的估计。
针对消失或者爆炸的梯度,作者们提出了重新参数化这一技术,重新参数化是深度学习中重要的技术。
在这里,作者们使用重新参数化,其实就是对变量进行变换,从而使得新的变量不发生梯度消失或者爆炸的情况。
今天我为你讲了今年ICML的最佳论文,我们一起来回顾一下要点。
第一,这篇论文讨论了一个比较陌生的主题,我们简要介绍了论文的背景。
第二,我们详细介绍了论文提出的三种类型的梯度混淆。
最后给你留一个思考题,我们为什么要研究深度学习模型是否健壮?是否能够经得起攻击呢?有什么现实意义吗?欢迎你给我留言是否一起讨论。