范数|人工智能的梦魇:对抗攻击

范数|人工智能的梦魇:对抗攻击
文章插图
前言对于人工智能系统而言,对抗样本的存在是其面临最大的威胁之一,因为对抗样本仅需要针对模型生成特定扰动即可,而相比之下,数据投毒等攻击手段还需要攻击者可以控制训练集等,对攻击者的假设更强,在实际中对抗攻击是更容易出现的。本文试图对CV领域的对抗攻击技术做一个全面的介绍,首先会介绍重要的背景知识,包括距离度量、攻击者假设(攻击者知识、能力等)、对抗样本存在的本质原因以及对抗样本迁移性相关背景,之后会介绍一些典型的对抗攻击技术并给出实际攻击效果。
范数|人工智能的梦魇:对抗攻击
文章插图
相关知识距离度量对抗样本x’与原样本x在特定的距离度量方式下需要很接近,常用的就是Lp范数度量,两者之间的距离表示为:
范数|人工智能的梦魇:对抗攻击
文章插图
||||p定义为:
范数|人工智能的梦魇:对抗攻击
文章插图
Lp范数不是一个范数,而是一组范数,根据p的不同,范数也不同,下图是一个讲点关于p范数的变化图
范数|人工智能的梦魇:对抗攻击
文章插图
上图所示是p从无穷变化为0时,三维空间中到圆点的距离为1的点构成的图形的变化情况。
对于连续数据的测量,L0距离表示修改的原样本中的元素的数量,L2则是x‘和x之间的欧式距离,而L_infty是用的最多的,其测量的是x’和x之间的对应元素值最大的差异。而对于离散数据,可以用其他距离度量,比如删除点数、语义相似度等。
攻击者知识为了发动对抗攻击,攻击者可能需要有以下知识:
全部或部分训练集
样本的特征表示
模型具体结构
模型输出
……
攻击者能力这里注意区分攻击者能力和攻击者知识,攻击者知识是攻击者掌握的情况,攻击者能力则是攻击者在一定约束情况下可以采取的方案,包括但不限于如下:
修改输入样本
修改特征向量
……
本质对抗样本之所以会存在目前主要有以下代表性的解释
流形中的低概率区域[1]
这类解释认为对抗样本是从总体样本所在概率空间的某一子空间中抽样得到的,而模型在训练阶段因为训练样本有限,只学习了一些局部的子空间,对抗样本超出了模型能学习的概率分布所在支集。如下所示,对抗样本可能存在于某些低概率区域中。
范数|人工智能的梦魇:对抗攻击
文章插图
线性原因[9]
这类解释认为高维空间的线性模型是生成对抗样本的原因。假设给定输入以及对抗样本,我们来考虑权重向量和对抗样本的內积:
设激活函数为线性函数,对抗扰动导致激活函数增加了一部分,只要其中的扰动满足最大范数约束,就可以最大限度地增加对抗干扰,若权重向量的维数是n,则激活函数会相比于扰动之前增加emn,又由于扰动不会随着维数的增加而增加,但是却能引起激活函数值线性增加,换句话说,对于高维情况,输入的极小扰动会引起输入很大的改变。
此外,[20]认为数据流形的高维几何结构产生了对抗样本,[21]则发现记忆能力强的模型更容易受到对抗样本攻击,这些解释并不完全合理,限于篇幅,不再介绍,感兴趣的话可以自行查阅相关资料。
可迁移性我们知道对抗样本具有可迁移性,事实上,可迁移性可以进一步细分为以下三类:
不同模型间
在同一数据集的不同子集下训练的不同模型之间存在可迁移性,如VGG和ResNet之间