Press "Enter" to skip to content

新网络安全军备竞赛场:对抗样本防护

在《对抗样本对人工智能应用的威胁》一文中,我们主要对当前人工智能技术中的对抗样本现象进行了实验和简单原理分析。而为了使人工智能系统在对抗样本下更具鲁棒性(Robust),研究人员对对抗样本的防护同样展开了广泛研究。

 

 

对抗样本防护技术,一般可分为主动防护方式和被动防护方式。主动防护方式是指通过技术加固,把神经网络本身的对抗样本防护能力进行提升;而被动防护方式则是独立于神经网络,通常置于神经网络输入之前,起到针对对抗样本的防护作用。

 

关于对抗样本的主动防护方式,目前前沿的研究方向又可以分为网络蒸馏、对抗训练、分类器鲁棒化等。

 

网络蒸馏:

 

如图1所示,网络蒸馏技术原本被用于降低神经网络的复杂度,Papernot等人在其论文《Distillationas a defense to adversarial perturbations against deep neural networks》中将该技术用于对抗样本的防护。具体做法是将第一个深度神经网络输出的分类可能性结果输入到第二个网络中进行训练。通过这种方式,网络蒸馏可以从原有神经网络中提取知识来增进网络的鲁棒性。通过这种技术处理,降低了模型对小扰动的敏感度从而提升了对对抗样本的抵抗能力。该技术在MNIST 和CIFAR-10分别进行了试验,达到了对于对抗样本的防护效果。

 

 

图1

 

对抗训练:

 

使用对抗样本进行训练也是一种主动防护方式,主要原理是将对抗样本同样作为训练数据对神经网络进行训练。

 

Goodfellow在其论文《Explaining and harnessingadversarial example》、Ruitong Huang在其论文《Learning witha strong adversary》里在模型的训练过程中同时生成对抗样本,然后将生成的对抗样本添加到训练集中,以此方式进行对抗训练,在MNIST数据集上实现了防护。Kurakin和Goodfellow在其论文《Adversarial machinelearning at scale》中使用一半的原始训练集图片和一半的对抗样本进行训练,在ImageNet数据集上体现了良好的防护效果。Tramèr等人在其论文《Ensemble adversarial training: Attacks and defenses》中将来自使用不同训练方法得到的训练样本作为输入,来对抗黑盒对抗样本攻击的可迁移性。

 

分类器鲁棒化:

 

该技术的主要依据为,对抗样本基本作用方式是使得分类器对微小扰动的判断结果不确定性增强。

 

Bradshaw在其论文《Adversarialexamples, uncertainty, and transfer testing robustness in gaussianprocess hybrid deep networks》中构建了基于径向基核函数的高斯过程来应对对抗样本的不确定性。Abbasi在其论文《Robustness to adversarial examples throughan ensemble of specialists》中认为对抗样本通常将神经网络的分类结果引导为一个类别子集中去,将分类结果分为若干子类集合,然后通过投票的方式去得到最终的结果,通过这种方式来抵御不确定性的发生。

 

关于对抗样本的被动防护方式,当前前沿的研究方向又可以主要分为对抗样本检测、输入重构、网络验证等。

 

对抗样本检测:

 

该类型的做法是通过串联一个检测器在神经网络来检测输入的合法性。其通常做法是通过寻找对抗样本和正常样本的区别点来建立一个二元分类器,分类器输出结果为该样本是否是对抗样本。

 

Tianyu Pang等人在论文《Towards robust detection of adversarial examples》中使用反向交叉熵训练了一个神经网络来区分对抗样本和正常样本。Weilin Xu等人在其论文《Feature Squeezing:Detecting Adversarial Examples in Deep Neural Networks》中发现对抗样本数据输入神经网络得到的结果和经过“Feature Squeezing”后的对抗样本数据再输入神经网络的结果通常偏差大于正常样本经过相同处理后的偏差。利用上述性质,可以在训练阶段在正常数据的训练数据集中得到正常样本的阈值,然后在测试阶段使用该阈值判断一个数据是否为对抗样本,如图2 所示。

 

 

图2

 

输入重构:

 

输入重构是将恶意的对抗样本数据转化为非恶意数据,即经过转化后的数据将无法再对模型的分类结果产生误导。

 

Yang Song在其论文《Pixeldefend: Leveraging generative models to understand and defend againstadversarial examples》中提出了Pixeldefend方法。该方法使用PixelCN网络将对抗样本图片重构为符合训练图片的分布状态。清华大学廖方舟使用神经网络的方法来对对抗样本进行降噪处理,具体做法为将损失函数直接加在网络高层的特征层上,从而在输出的结果上防止分类误差的放大,并使用该方法取得了NIPS 2017对抗样本攻防赛冠军。

 

网络验证

 

网络验证(Network verification)是通过确定目标神经网络的性质,然后判断输入符合或者违反网络的性质。由于该类方法对目前尚未出现的对抗样本攻击方式也有潜在的检测效果,因此网络验证是一种受关注的防御方式。

 

Katz在其论文《Reluplex:An efficient smt solver for verifying deep neural networks》中提出了使用可满足性模理论并利用ReLU激活函数来验证神经网络的方法来防护对抗样本。但是该方法效率较慢,通常用于检测拥有几百个节点的神经网络。在Katz的另一篇论文中提出,可以通过排出节点优先级和使用验证知识共享的方式来提升检测效率。

 

自此,我们对几类防护技术进行了分类梳理。上述防护技术分别在各自的数据集和神经网络模型下进行了实验,取得了不错的防护成功率。

 

为了从根本上解决对抗样本问题,也有越来越多的研究者正试图从对抗样本的内在成因之中找到答案。对于成因的解释主要有模型鲁棒边界、样本复杂度、计算复杂度三个方向。

 

1. 鲁棒性边界方向

 

Fawzi在其论文《Adversarial Vulnerability for any Classifier》中从分类器的鲁棒性方向进行了分析,在论文中提出了扰动条件下任意分类器所能达到的基本上界,即在给定数据集的情况下任意分类器所能达到的最高鲁棒性是存在最大值的。其指出当数据潜在空间在高纬空间时,任意分类器均面临对抗样本风险。并且发现了鲁棒性和分类器在潜在空间中线性度的紧密相关性。该论文还给出了在不同分类器同时起作用的对抗样本的数据分布区间,于是解释了有些对抗样本的可迁移性。

 

2. 样本复杂度方向

 

Ludwig Schmidt在其论文《Adversarially Robust Generalization Requires More Data》中提出训练一个可抵御对抗样本的模型所需的数据样本显着地高于标准的数据样本集合。这个集合体量的间隙是基于信息论的,而与训练算法和模型的种类无关。并且提出可以确定一个下限来给出一个在确定扰动强度下所需要的最低数据样本复杂度。作者认为该数据样本复杂度下限的存在意味着对抗样本的存在并不是某一个分类模型的缺陷。

 

3. 计算复杂度方向

 

Sebastien Bubeck在其论文《Adversarial examples from computational constraints》中提出对抗样本的出现不是由于信息论下模型或者数据集的局限,而是由于计算复杂度上的局限造成。为了证明他的观点,作者首先阐明,存在基于较小的训练样本集进行对抗样本鲁棒学习的方式。然后通过实验证明即便针对一个简单的网络模型,在进行为了抵御对抗样本而进行的学习时,计算复杂度也是在Kearns SQ(统计查询模型)下难以计算的。

 

这三种解释方向目前虽尚无定论,却都展现了当前技术发展状态下可抵御对抗样本的“robust learning”的训练难度要远远大于标准的训练难度,甚至在当前技术条件下尚无法“完全”达到。

 

在本文中,我们把对抗样本防护相关的前沿研究成果进行了梳理。通过分析我们可以得出以下结论:

 

对于人工智能对抗样本问题的防护目前还没有找到可以使我们一劳永逸的“银弹”。也正因为如此我们判断,和传统互联网、移动互联网以至物联网安全一样,人工智能对抗样本领域将同样存在着新型的攻防军备竞赛。而其竞争的焦点将集中在训练模型、计算能力、样本量的积累等方面。

 

所以,作为第一个提出认知安全概念的网络安全厂家,我们建立了高性能的实验平台,对前沿的对抗样本生成和防护的训练模型进行了一一实验和分析,积累了大量的对抗样本数据并使用GAN等方式扩展训练数据空间。在相关领域我们从没有停止前进的脚步,希望用我们的努力换来一个更安全可靠的智能世界。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注