目录
一、对抗样本攻击的基本原理
1.1 什么是对抗样本攻击和对抗样本
对抗样本攻击:攻击者通过在干净样本中添加人们难以察觉的细微扰动,可以使深度学习模型以较高的置信度输出攻击者想要的任意错误结果,将这种现象成为对抗样本攻击。
对抗样本:添加细微扰动后的干净样本
1.2 对抗样本攻击的基本思路
① 对抗样本攻击主要通过在干净样本中添加人们难以察觉的细微扰动,使得正常训练的深度学习模型输出置信度很高的错误预测。
② 对抗样本攻击的核心在于如何构造细微扰动。
1.3 对抗样本攻击的分类
1.3.1 按攻击效果分类
对抗样本攻击按照攻击效果可以分为定向攻击(Targeted Attack)和非定向攻击(Non-Targeted Attack)。
①定向攻击:旨在将深度学习模型误导至攻击者指定的输出,如在猫狗分类任务中,指定将猫都预测为狗。
定向攻击既要降低深度学习模型对输入样本真实标签的置信度,又要尽可能提高攻击者指定标签的置信度,因此攻击难度较大。
图1 定向攻击示意图
②非定向攻击:旨在将深度学习模型误导至错误的类别,但不指定具体类别,比如在猫狗分类任务中,将猫预测为任意类别,只要不是猫就可以,可以是狗、马、羊等等。
非定向攻击仅需要尽可能降低深度学习模型对输入样本真实类别的置信度即可,因此攻击难度相对较小。
图2 非定向攻击示意图
1.3.2 按攻击者能力分类
对抗样本攻击按照攻击者掌握的信息量可以分为白盒攻击(White-Box Attack)和黑盒攻击(Black-Box Attack)。
①白盒攻击:攻击者在已知目标模型所有知识的情况下生成对抗样本的一种手段。
· 白盒攻击需要获取完整的模型结构、每层具体参数且完全控制模型输入,对输入数据甚至可以进行bit级别修改。
· 白盒攻击实施起来相对容易,但现实中攻击者难以掌握完整模型信息。
图3 白盒攻击示意图
②黑盒攻击:攻击者在不知道目标模型任何内部信息的情况下实施的攻击方案。
· 黑盒攻击只能控制输入得到有限的输出。
· 由于不需要掌握目标模型信息,因此黑盒攻击更容易在低控制权场景下部署实施。
图4 黑盒攻击示意图:通过多次查询反馈得到扰动小的对抗样本
1.3.3 按攻击环境分类
对抗样本攻击按照攻击环境可以分为数字世界攻击(Digital Attack)和物理世界攻击(Real-World Attack)
①数字世界攻击
假定攻击者可以直接访问并修改AI系统的数字输入,比较适合整个系统都运行在计算机内部的场景。
也就是说可以对数据集进行修改,对样本添加扰动。
②物理世界攻击
无法直接访问AI系统的数字输入,算法输入大多经由采集设备传入AI系统。导致生成的攻击样本输入AI系统时可能存在多次误差,如采集设备的传感器采集误差和图像预处理带来的处理误差等。
图5 物理攻击示例:在交通指示牌上贴上对抗贴纸,使得自动驾驶系统忽略“禁止”标志
1.4 对抗扰动的衡量
对抗样本攻击在攻击成功的基础上,要保证数据的主体信息不变,也就是说保证添加的扰动肉眼不可见。
扰动量是衡量攻击方法好坏的关键指标,可以借助p范数表示。
① 当p=0时,为0范数攻击,又称为单像素攻击。物理含义为修改的数据总点数,该方式会限制可以改变的数据点个数,但是不关心每个点具体改变了多少。
② 当p=1时,为1范数攻击,物理含义为前后两个数据的总改变量,这种方式从全局上考虑修改幅度较小。
向量的L1范数:向量的各个元素的绝对值之和
③ 当p=2时,为2范数攻击,物理含义为修改前后两个数据的欧式距离;与1范数攻击相似,这种方式从全局上考虑修改幅度较小。
向量的L2范数:向量的每个元素的平方和再开平方根
④ 当p=∞时,为∞范数攻击,物理含义为修改前后单个数据点的最大扰动量,这种方式最终会修改更多的数据点,但是修改的值仅会轻微改变。
向量的正无穷范数:向量的所有元素的绝对值中最大的
向量的负无穷范数:向量的所有元素的绝对值中最小的
二、对抗样本攻击方法
对抗样本攻击的核心在于如何产生使模型预测出错并且尽可能小的扰动,根据产生扰动方式的不同,可以将对抗样本攻击方法分为四类:基于优化的攻击方法、基于梯度的攻击方法、基于迁移学习的攻击方法和基于查询的攻击方法。
①基于优化的攻击方法(Optimization-based Attacks)主要以CW为代表,使用优化器进行攻击,通常用于白盒攻击。
②基于梯度的攻击方法(Gradient-based Attacks)主要以FGSM为代表,直接对梯度进行符号化计算,需要攻击者完全了解目标模型,通常用于白盒攻击。
③基于迁移学习的攻击方法(Transfer-based Attacks)借助于对抗扰动的可迁移性,在替代模型上对抗扰动,并迁移到目标模型,常用于黑盒攻击。
④基于查询的攻击方法(Query-based Attacks)通常需要请求目标模型得到输出,利用零阶优化等方式优化对抗扰动,常用于黑盒攻击。