人工智能内生安全——对抗攻击 | 刘广睿的思维实验室
0%

人工智能内生安全——对抗攻击

1 技术简介

对抗攻击指通过特殊构造的输入使分类器结果不可靠。比如在一个交通路牌上贴一些黑白色块贴纸就可以让自动驾驶系统将其误判为绿灯标志。
对路牌做微小扰动就可以令自动驾驶系统将其误判为其它标志
目前对于对抗样本产生的原因尚未有统一定论,Goodfellow 提出一种猜测称深度神经网络在高维空间中的线性特征是产生对抗样本的根本原因。每层神经元的输出$ a=g(wx+b) $,实际上是在空间中的旋转、移动和拉伸。

旋转:使用权重$ w $进行线性变换;

移动:使用偏置$ b $进行平移;

拉伸:使用激活函数$ g $进行非线性变化。

对于简单的分类问题,在二维平面被拉伸可成可以通过直完成分割的分类布局,对于更复杂的问题,通过增加神经元,在高维空间进行分离。总之神经网络学习到的并非人类认知的底层逻辑,而仅仅是在高维空间中,通过一切扭曲变换使得样本可以被线性分割。
深度神经网络在高位空间的线性化是对抗样本的成因
在如图的拉伸结果中,距离较大的地方可以认为其映射是连续的,但缠绕在一起的部分超平面已经无法连续。对抗样本正是在这类区域增加扰动,扰动虽然极其微小但对于分类器来说,样本早已跨越了分类界限。我们可以简单理解为在分类器边界对样本做一个微小的扰动,以改变样本类别。
边界样本更容易被对抗攻击
用数学语言来理解,在训练分类器时,我们固定输入 $ x $ 和真实类别 $ y $,调整参数 $ \theta $ 使损失函数最小化,尽量缩小判别类别 $ f(x) $ 与真实类别 $ y $ 的距离。而在攻击一个已经训练好的分类器时,即分类器参数 $ \theta $ 确定,在保证真实类别 $ y $ 不变的条件下,调整 $ x $ 使得损失函数最大,即尽量拉大判别类别 $ f(x) $ 与真实类别 $ y $ 的距离,使分类器判别错误。那么如何能最大化损失函数呢?就是在损失函数于样本的梯度方向增加一个步长的扰动,此扰动要在足够微小以避免改变真实类别 $ y $ ,满足 $ L_{\infty} $约束$ ||x^*-x||_{\infty}\leq\epsilon $ 以最小的步长达到分类器边界。则最终得到的对抗样本 $ x^* $ 为:

\[ x^*=x+\epsilon\cdot sign(\bigtriangledown_{x}J(\theta,x,y)) \]
其中 $ sign() $ 是符号函数,括号里面是损失函数对 $ x $ 的偏导,$ x $ 是输入的原始图片,$ x^* $ 是生成的对抗样本,$ J $ 是分类器的损失函数,$ y $ 是输入图片x的标签(真实类别)。
最大化损失函数以寻找对抗样本

2 攻击方案

已发现的对抗攻击技术可以分为用于白盒的梯度攻击和用于黑盒的优化攻击,根据攻击目的也可以分为置信度降低攻击、无目标攻击和有目标攻击。

基于梯度的对抗攻击

如上所述,在白盒条件下,计算损失函数梯度并在此方向向样本中加入微量扰动。

基于优化的对抗攻击

多用于黑盒环境,由于不知道模型参数所以无法计算梯度,退一步考虑怎样才能找到最小的扰动方式。比如使用GAN(生成对抗网络)使对抗样本分布向目标类别样本分布拟合,或者使用最优化算法在空间中寻找最优的扰动解集。

置信度降低攻击

攻击者目标为使分类器对于某样本的置信度降低。比如从99%是A类降低到55%是A类。

无目标攻击

攻击者目的为使分类器对于某样本的判别出现错误,但不关心错误分类与哪一类。比如使某原属于A类的样本被分类器分类与非A类。

有目标攻击

攻击者目的为使分类器对于某样本的判别出现错误,且指定其错误分类于某类。比如使某原属于A类的样本被分类于B类。

3 防御方案

现有的防御手段有对抗训练、梯度隐藏、随机化以及去噪。

对抗训练技术

对已经训练完成的分类器计算生成对抗样本,并将对抗样本集加入模型训练集中,进一步加强训练分类器。此方案虽然可以抵御部分对抗样本,但并不能从根本上解决对抗攻击问题。对抗训练后的模型依旧可以找到可以攻击成功的对抗样本,并且不断的对抗训练会使分类边界不断扩大。

梯度隐藏

隐藏分类器返回的置信度信息,由于白盒对抗攻击通常使用分类器返回的置信度来调整扰动,辅助产生对抗样本。隐藏模型梯度可以增加攻击者难度。

模型随机化

本方案主要防御基于梯度的对抗攻击,将模型的输入进行随机化处理。比如对于图像识别分类器,每次给图片样本加一个宽度随机的边框,由于在模型训练时也进行这种处理,模型在分类时可以识别任意宽度边框的样本,但对于梯度攻击,不同宽度的边框会计算出完全不同的梯度,由于边框宽度是随机变化的,使得攻击者无法确定梯度方向。

样本去噪

此方案很直接,因为对抗模型实在原始样本中添加微小噪音扰动。那么为了防御这种攻击,在模型分类时,先对模型的输入进行去噪处理,去除攻击者为制造对抗样本而增加的噪音。然而目前并没有很完善的针对对抗攻击的去噪技术,一些去噪甚至会起到相反效果,使对抗攻击样本被误分类的置信度更高。


参考


- - - - - - - - - - - - - - - - 本 文 结 束 啦 感 谢 您 阅 读 - - - - - - - - - - - - - - - -