来源:新智元
“对抗样本”(adversarial examples)几乎可以说是机器学习中的一大“隐患”,其造成的对抗攻击可以扰乱神经网络模型,造成分类错误、识别不到等错误输出。
对抗样本揭示了神经网络的脆弱性和不可解释性。例如,一张简单的涂鸦贴纸(对抗性补丁)就可能“迷惑”自动驾驶系统,导致AI模型对交通标志被错误分类,甚至将自动驾驶系统 “骗” 进反车道;也可能“欺骗”AI检测系统,让最先进的检测系统也无法看到眼前活生生的人。
但是,对抗样本真的是bug吗?
来自MIT的多位研究人员给出了否定的回答。他们通过一系列严谨的实验,证明:对抗样本不是Bug, 它们是特征 (Adversarial Examples Are Not Bugs, They Are Features)。
论文地址:
https://arxiv.org/pdf/1905.02175.pdf
这篇观点新颖的论文今天在Reddit上引起热议,读者纷纷表示论文“巧妙又简单,怎么没人早些想到这个方向”,“非常有趣的工作”……
实验的一个理念图
作者表示:“我们证明了对抗性样本并不是奇怪的像差或随机的伪影,相反,它们实际上是有意义的数据分布特征(即它们有助于模型泛化),尽管这些特征不易觉察。”
研究人员通过一系列实验证明:
(a)你可以根据嵌入到错误标记的训练集中的这些不易觉察的特征学习,并泛化到真正的测试集;
(b)你可以删除这些不易觉察的特征,并“稳健地”泛化到真正的测试集(标准训练)。
接下来,新智元带来这篇论文的解读。
一颗叫做Erm的遥远星球,生活着Nets族人
过去几年里,对抗样本在机器学习社区中得到了极大的关注。关于如何训练模型使它们不易受到对抗样本攻击的工作有很多,但所有这些研究都没有真正地面对这样一个基本问题:为什么这些对抗样本会出现?
到目前为止,流行的观点一直是,对抗样本源于模型的“怪异模式”,只要我们在更好的训练算法和更大规模的数据集方面取得足够的进展,这些bug最终就会消失。常见的观点包括,对抗样本是输入空间高维的结果,或者是有限样本现象的结果。
本文将提供一个新的视角,解释出现对抗样本的原因。不过,在深入讨论细节之前,让我们先给大家讲一个小故事:
一颗叫做Erm的星球
我们的故事开始于Erm,这是一个遥远的星球,居住着一个被称为Nets的古老的外星种族。
Nets是一个奇怪的物种:每个人在社会等级中的位置取决于他们将32×32像素图像(对Nets来说毫无意义)分类为10个完全任意的类别的能力。
这些图像来自一个名为 See-Far 的绝密数据集,Nets族的居民们是无法事先看到数据集中的图像的。
随着Nets人的成长和智慧的增长,他们开始在See-Far中发现越来越多的模式。这些外星人发现的每一个新模式都能帮助他们更准确地对数据集进行分类。由于提高分类精度具有巨大的社会价值,外星人为最具预测性的图像模式赋予了一个名称——TOOGIT。
一个TOOGIT, 可以高度预测一张 "1" 的图像。Nets对TOOGIT非常敏感。
最强大的外星人非常善于发现模式,因此他们对TOOGIT在See-Far图像中的出现极为敏感。
不知何故(也许是在寻找See-Far分类技巧),一些外星人获得了人类写的机器学习论文。有一个图像特别引起了外星人的注意:
一个 "对抗样本"?
这个图是比较简单的,他们认为:左边是一个“2”,中间有一个GAB pattern,表明图案是“4”——不出意料,左边的图片添加一个GAB,导致了一个新图像,在Nets看来,这个新图像就对应于“4”类别。
根据论文,原始图像和最终图像明明完全不同,却被分类为相同。Nets人对此无法理解。困惑之余,他们翻遍了人类的论文,想知道还有哪些有用的模式是人类没有注意到的……
正如Erm这个名字所暗示的,这个故事不是只想说外星人和他们奇怪的社会结构:Nets发展的方式喻指我们训练机器学习模型的方式。
尤其是,我们最大限度地提高了准确性,而没有纳入关于分类的类、物理世界或其他与人类相关的概念的许多先前背景。
这个故事的结果是,外星人能够意识到,人类认为毫无意义的对抗性扰动(adversarial perturbation),实际上是对See-Far分类至关重要的模式。因此,Nets的故事应该让我们思考:
对抗性扰动真的是不自然、而且没有意义的吗?
一个简单的实验
为了研究这个问题,我们先做了一个简单的实验:
我们从一个标准数据集(如CIFAR10)的训练集中的图像开始:
我们从每个(x, y)到“下一个”类y+1(或0,如果y是最后一个类),合成一个有针对性的对抗性样本
然后,我们通过将这些对抗性样本与其对应的目标类进行标记,构建一个新的训练集:
现在,由此产生的训练集与原始训练集相比,不知不觉地受到了干扰,但是标签已经改变了——因此,对人类来说,它的标签看起来是完全错误。事实上,这些错误的标签甚至与“置换”假设一致(即每只狗都被贴上猫的标签,每只猫都被贴上鸟的标签,等等)。
我们用“错误标记的数据集”来训练一个新的分类器(不一定与第一个分类器的架构相同)。这个分类器在原始(未修改的)测试集(即标准CIFAR-10测试集)上的表现如何呢?
值得注意的是,我们发现得到的分类器实际上只有中等的精度(例如CIFAR上,精度只有44%)!尽管训练输入仅通过不可察觉的扰动与它们的“真实”标签相关联,并且与通过所有可见特性匹配的不同(现在是不正确的)标签相关联。
这是怎么回事?
刚刚描述的实验建立了标准模型的对抗性扰动,作为目标类的模式预测。也就是说,仅训练集中的对抗性干扰就能对测试集做出适度准确的预测。
从这个角度来看,人们可能会想:也许这些模式与人类用来对图像进行分类的模式(比如耳朵、胡须、鼻子)并没有本质上的不同!
这正是我们的假设——存在着各种各样的输入特征可以预测标签,而其中只有一些特征是人类可以察觉的。
更准确地说,我们认为数据的预测特征可以分为“robust”和“non-robust”特征。
Robust features(鲁棒性特征)对应于能够预测真实标签的模式,即使在某些人为预先定义的扰动集造成对抗性扰动的情况下。
相反,non-robust features(非鲁棒性特征)对应的模式虽然具有预测性,但在预先定义的扰动集会被攻击者“翻转”,造成指示的分类错误。(正式的定义请参阅论文)
由于我们总是只考虑不影响人类分类性能的扰动集,所以我们希望人类只依赖于robust features。然而,当目标是最大化 (标准) 测试集的准确性时,non-robust features 可以和 robust features 一样有用。
事实上,这两种类型的特性是完全可以互换的。如下图所示:
从这个角度来看,本文中的实验描述了一些相当简单的过程。在原始训练集中,输入的鲁棒性和非鲁棒性特征都是可以预测的。当实验中加入小的对抗性扰动时,不能显著影响鲁棒性特征,但对非鲁棒性特征的改变是允许的。例如,每只狗的图像现在都保留了狗的鲁棒性特征(因此这些图像在我们看来是狗),但非鲁棒性特征更接近猫。
在重新标记训练集之后,我们的设置使鲁棒性特征实际上指向了错误的方向(即具有 “狗” 的鲁棒性特征的图片被标记为 “猫”),在这种情况下,实际上只有非鲁棒特征为泛化提供了正确的指导。
总之,鲁棒和非鲁棒特征都可以用于预测训练集,但只有非鲁棒性特征才会导致对原始测试集的泛化:
因此,在该数据集上训练的模型实际上能够泛化到标准测试集的事实表明:存在足以用其实现良好泛化的非鲁棒性特征。而且,即使有强大的鲁棒性预测特征的存在,深度神经网络仍要依赖于这些非鲁棒性特征,。
实验证明,对抗性扰动不是毫无意义的信号,而是直接对应于对泛化至关重要的扰动性特征。同时,关于对抗性示例相关文章显示,通过强大的优化,可以获得面向对抗性扰动更具鲁棒性的模型。
因此,一个自然而然的问题就是:能否验证高鲁棒性模型实际上依赖于高鲁棒性的特征?为了测试这一点,我们建立了一种方法,尽量将输入仅限于模型敏感的特征(对于深度神经网络而言,就是倒数第二层激活的特征)。由此创建一个新的训练集,该训练集仅限于包含已经训练过的高鲁棒性模型使用的特征:
然后,我们在没有对抗训练的情况下在结果数据集上训练模型,发现得到的模型具有非常高的准确性和鲁棒性!这与标准训练集的训练形成鲜明对比,后者训练出的模型虽然准确,但非常脆弱。
CIFAR-10 测试集(D)上测试的标准精度和鲁棒性精度。左:在 CIFAR-10(D)上正常训练;中:在 CIFAR-10(D)上的对抗性训练;右:在我们重新构建的数据集上正常训练。
结果表明,鲁棒性(和非鲁棒性)实际上可以作为数据集本身的属性出现。特别是,当我们从原始训练集中去除了非鲁棒性特征时,可以通过标准(非对抗性)训练获得高鲁棒性的模型。这进一步证明,对抗性实例是由于非鲁棒性特征而产生的,而且不一定与标准训练框架相关联。
这一变化的直接后果是,对抗性实例的可转移性不再需要单独的解释。具体来说,既然我们将对抗性漏洞视为源自数据集特征的直接产物(而不是训练单个模型时的个别现象),我们自然希望类似的表达模型也能够找到并利用这些特征来实现分类精度的提升。
为了进一步研究这个想法,我们研究了在不同架构下对类似非鲁棒性特征的学习,与这些特征间的对抗性实例的可转移性的相关性:
我们生成了在第一个实验中描述的数据集(用目标类别标记的对抗性实例的训练集),使用 ResNet-50 构建对抗性实例。我们可以将结果数据集视为将所有 ResNet-50 的非强健功能 “翻转” 到目标类别上。然后在此数据集上训练上图中的五个架构,并在真实测试集上记录泛化性能:这与测试架构仅用 ResNet-50 的非鲁棒性特征进行泛化的程度相对应。
结果表明,正如本文关于对抗性实例的新观点中所述,模型能够获得 ResNet-50 数据集引入的非鲁棒性特征,这与 ResNet-50 到标准模型之间的对抗性可转移性有很强的相关性。
本文中的讨论和实验将对抗性实例视为纯粹以人为中心的现象。从分类任务表现的角度来看,模型没有理由更偏好鲁棒性特征。毕竟,鲁棒性的概念是人类指定的。因此,如果我们希望模型主要依赖于鲁棒性特征,需要通过将先验知识结合到框架或训练过程中来明确解释这一点。
从这个角度来看,对抗性训练(以及更广泛的鲁棒性优化)可以被认为是一种将所需的不变性结合到学习模型中的工具。比如,高鲁棒性训练可以被视为通过不断地 “翻转” 来破坏非鲁棒特征的预测性,从而引导训练的模型不再依赖非鲁棒性特征。
同时,在设计可解释性方法时,需要考虑标准模型对非鲁棒性特征的依赖性。特别是,对标准训练模型预测的任何 “解释” 应该选择要么突出这些特征(会导致对人类而言的意义不明确),要么全部隐藏(会导致不完全忠实于模型的决策过程)。因此,如果我们想要获得既对人类有意义,又忠实于模型可解释性方法,那么仅靠训练后的处理基本上是不行的,还需要在训练过程中进行必要的干预。
参考链接:
http://gradientscience.org/adv/
论文地址:
https://arxiv.org/pdf/1905.02175.pdf
☞ OpenPV平台发布在线的ParallelEye视觉任务挑战赛
☞【学界】OpenPV:中科院研究人员建立开源的平行视觉研究平台
☞【学界】ParallelEye:面向交通视觉研究构建的大规模虚拟图像集
☞【CFP】Virtual Images for Visual Artificial Intelligence
☞【最详尽的GAN介绍】王飞跃等:生成式对抗网络 GAN 的研究进展与展望
☞【智能自动化学科前沿讲习班第1期】王飞跃教授:生成式对抗网络GAN的研究进展与展望
☞【智能自动化学科前沿讲习班第1期】王坤峰副研究员:GAN与平行视觉
☞【重磅】平行将成为一种常态:从SimGAN获得CVPR 2017最佳论文奖说起
☞【学界】Ian Goodfellow等人提出对抗重编程,让神经网络执行其他任务
☞【学界】六种GAN评估指标的综合评估实验,迈向定量评估GAN的重要一步
☞【资源】T2T:利用StackGAN和ProGAN从文本生成人脸
☞【学界】 CVPR 2018最佳论文作者亲笔解读:研究视觉任务关联性的Taskonomy
☞【业界】英特尔OpenVINO™工具包为创新智能视觉提供更多可能
☞【学界】ECCV 2018: 对抗深度学习: 鱼 (模型准确性) 与熊掌 (模型鲁棒性) 能否兼得