基于梯度扰动探索对抗攻击与对抗样本
作者:CQITer小编 时间:2019-04-26 16:32
近两年研究人员通过对AI模型的安全性分析发现,机器学习模型和神经网络模型都容易受到恶意用户的对抗攻击,攻击者可以通过生成对抗样本的方式攻击AI模型并误导AI模型做出错误的判断,这一安全问题备受关注。
目前已有的机器学习模型和神经网络模型都是通过提取数据特征,构建数学判别公式然后根据数学模型进行学习。提取数据特征的过程中容易提取到错误特征、而且判别公式也可能出现与真实决策面分布不同的问题,因此攻击者可以利用AI模型的弱点,生成欺骗模型的对抗样本。例如在图像识别领域,可以通过在正常图片上加入一个微小的噪声从而使图像识别分类器无法正常识别图像,导致错误分类的效果。这一问题存在严重的安全隐患。

对抗攻击往往是指攻击者利用特定的模型算法对AI模型进行攻击,其不仅包括攻击者熟悉AI模型的条件下,对实际输入进行修改从而误导AI模型的判别结果,而且包括攻击者在不了解AI模型的结构和参数的情况下,借助机器学习模型之间算法迁移的特性对AI模型进行攻击。
对抗样本通常是指经过特定的算法处理之后,模型的输入发生了改变从而导致模型错误分类。假设输入的样本是一个自然的干净样本。那么经过攻击者精心处理之后的样本则称为对抗样本,其目的是使该样本误导模型做出判断。
对抗攻击
对抗攻击可以从几个维度进行分类。例如可以通过攻击者对AI模型的了解程度进行分类。
白盒攻击。攻击者拥有模型的全部知识,包括模型的类型,模型结构,所有参数和可训练权重的值。
有探针的黑盒攻击。攻击者只了解模型的部分知识,可以探测或者查询模型,比如使用一些输入,观察模型的输出结果。这种场景有很多的变种,比如攻击者知道模型结构,但是不知道参数的值,或者攻击者甚至连模型架构都不知道;攻击者可能能够观测到模型输出的每个类别的概率,或者攻击者只能够看到模型输出最可能的类别名称。
无探针的黑盒攻击。在没有探针的黑盒攻击中,攻击者只拥有关于模型有限的信息或者根本没有信息,同时不允许使用探测或者查询的方法来构建对抗样本。在这种情况下,攻击者必须构建出能够欺骗大多数机器学习模型的对抗样本。
此外还可以通过攻击者攻击的目标将对抗攻击分类。
无目标攻击(non-targeted attack)。在这种情况下,攻击者的目标仅仅是使得分类器给出错误预测,具体是哪种类别产生错误并不重要。
有目标攻击(targeted attack)。在这种情况下,攻击者想要将预测结果改变为某些指定的目标类别中。
1. 白盒攻击
传统的白盒攻击是指在我们已知神经网络模型的网络结构以及模型参数的情况下,我们针对该神经网络生成对抗样本实现误导该模型的效果。攻击者能够获取机器学习所使用的算法以及算法所使用的参数。攻击者在产生对抗性攻击数据的过程中能够和机器学习的系统有所交互。这种“透明”的攻击方式称之为白盒攻击,通常是利用模型的梯度、logits输出等模型本身的知识来设计对抗性扰动生成对抗样本对该模型进行攻击。白盒攻击流程示意图如下所示。

白盒攻击示意图
根据对抗样本生成原理的不同,白盒攻击通常可以分为三类:基于梯度(gradient-based)的攻击、基于优化(optimization-based)的攻击、基于模型(model-based)的攻击。根据生成对抗样本是否对类别有针对性分为有目标攻击和无目标攻击。
下表中总结了当前常用的十种白盒攻击算法的特点,以作为白盒攻击算法的比较参考。
常用的十种白盒攻击算法总结

2. FGSM白盒攻击算法
FGSM(Fast gradient sign method)是一种常见的白盒攻击算法。该攻击方法的思路非常简单,主要是利用模型损失函数对输入求梯度得到对抗性扰动,然后将对抗性扰动添加到原始样本中生成对抗样本。通过在原始样本的邻域中线性化损失函数,并通过如下闭合形式的方程找到精确的线性化函数的最大值。




