Review of Artificial Intelligence Adversarial Attack and Defense Technologies
这篇文章是深度学习中对抗攻击和防御的一个综述性文章(2019)。文章首先介绍了攻击在训练阶段和测试阶段的实现方法。然后分别总结了对抗技术在 CV, NLP, 网络安全和在真实世界中的应用。最后还介绍了三类主要的对抗防御方法:修改数据、修改模型、使用辅助工具。另外还提出了一种用于生成对抗性文本样本的算法。
Abstract(摘要)
In recent years, artificial intelligence technologies have been widely used in computer vision, natural language processing, automatic driving, and other fields. However, artificial intelligence systems are vulnerable to adversarial attacks, which limit the applications of artificial intelligence (AI) technologies in key security fields. Therefore, improving the robustness of AI systems against adversarial attacks has played an increasingly important role in the further development of AI. This paper aims to comprehensively summarize the latest research progress on adversarial attack and defense technologies in deep learning. According to the target model’s different stages where the adversarial attack occurred, this paper expounds the adversarial attack methods in the training stage and testing stage respectively. Then, we sort out the applications of adversarial attack technologies in computer vision, natural language processing, cyberspace security, and the physical world. Finally, we describe the existing adversarial defense methods respectively in three main categories, i.e., modifying data, modifying models and using auxiliary tools. Review of Artificial Intelligence Adversarial Attack and Defense Technologies
Adversarial Samples and Adversarial Attack Strategies
对抗样本
对抗样本是论文 11 中首次提出的,指的是添加肉眼不可见的扰动,造成目标网络分错类(对于分类来说)。最典型的来说就是下面这张图:
数学表达来说就是给定一个模型 ,以及输入 ,模型在攻击之前会将输入 分类到正确目标,即 ,而对抗样本 是输入 添加微小扰动之后使
对抗样本成因
论文 22 认为这是模型过拟合或者欠正则化导致模型对于未知数据的泛化能力不足造成的。也有论文 3 认为对抗样本是因为深度神经网络的高度非线性造成的。但是论文 4 设计了实验,对具有正则项以及具有线性性的网络中发现对于防范对抗样本的攻击并没有效果。他们认为这是因为高维空间中线性行为所导致的。一个典型的例子就是:
对于单个的像素的变动不会怎么变化,但是对于输入的所有维度进行小的扰动将会有显著的变化。所以 “ 攻击能力 ” 是因为多维度作用叠加的效果。
对抗样本的特征
可迁移性
对抗不稳定性,在经过变换(如旋转,平移等)之后将会失去攻击性。
指对抗学习
所以为啥叫 Regularization effect
Adversarial Capabilitise
攻击能力,因为攻击是攻击一个 “System”,根据我们能得到这个 “System” 的信息,我们有如下划分:
Training Stage Capabilities
在训练阶段的攻击一般是通过更改用于训练数据集来直接影响或者破坏目标模型。根据能力划分为:
在这种情况下,攻击者没有任何访问训练数据和算法的权限,但是有能力向训练数据集中添加新的数据。对手可以通过向训练数据集中插入对抗样本来达到攻击的目的
^8632f5
这种情况下,攻击者不能得到算法细节,但是可以完整得到数据集。并且可以修改数据来污染训练数据
^dce3c8
这种情况下,攻击者能够干扰目标模型的细节
^8cc058
Testing Stage Capabilities
在测试阶段的攻击主要聚焦于如何让模型识别错误,而不是篡改目标模型。此外攻击的效果一般取决于得到目标网络的信息量。
假设我们有被攻击网络 ,以及有从分布为 的训练样本对 (pair) ,以及随机种子 。则一个训练得到网络参数的过程可以被 formal 为
White-box Attacks
在白盒攻击模型中,攻击者知道被攻击的模型 全部知识,包括训练方式 ,数据分布 ,模型参数 。攻击者可以利用可用的信息识别目标模型 最容易攻击的特征空间,然后利用对抗样本生成达到攻击的目的。
Black-box Attacks
在黑盒模型的攻击中,攻击者对于目标模型 没有任何了解。这种攻击模式会通过 “ 过去 ” 的输入/输出 pair 来分析模型的漏洞。那黑盒模型的攻击又分为下面几种:
对于这种攻击模式。攻击者只能访问目标模型 的训练数据分布 。因此,攻击者可以利用一个代理模型 ,在来自数据分布 的样本下利用 训练过程得到一个 模型来近似目标模型 。然后攻击者就可以利用白盒攻击策略来攻击了
在这种攻击模型下,攻击者无法访问目标模型的任何信息。但是可以通过利用模型输入 以及网络输出标签 ,然后攻击者查询目标模型得到样本对 ,然后同样的转化为白盒模型进行攻击
与 Adaptive Black-Box Attack
类似,但是不一样的是它不是自适应的??什么意思
Adversarial Goals
对于攻击的效果来说,可以划分为下面四种:
降低目标模型对于某一预测的置信度
分错类,就是把猫识别为除了猫以外的东西。
有目标的分错类,就是特化为分错为某一特定的类,比如猫识别为狗。
而这个是更加具体的分错类
Adversarial Attacks
Training Stage Adversarial Attacks
在训练过程中根据攻击者的能力有下面几种攻击方式:
改变 Label 的,对标签进行扰动,从随机分布中选择标签作为训练数据的标签
输入特征篡改,这种情况下攻击者可以捏造训练数据的标签和输入数据的特征。
Testing Stage Adversarial Attacks
White-Box Attacks
白盒攻击,攻击者知道目标模型的结构和参数,那论文 6 中提出了一个对抗攻击的框架,大致可以分为两个步骤,方向敏感性估计 (Direction Sensitivity Estimation) ==和扰动选择 (Perturbation Selection)==,如下图所示:
假设 是一个输入样本, 是训练好的 DNN 模型分类模型,攻击的目标是通过添加扰动 来生成一个对抗样本 ,使得:
攻击者通过搜索 数据流形
中样本 周围的方向,评估模型 对样本 每个特征方向的敏感性,与 重谈L1与L2正则#为什么 L1 更稀疏 中我觉得是有关联的。
扰动选择,然后攻击者利用敏感信息来选择扰动 ,以获得最佳的扰动。
那注意每 次添加扰动是叠加上去的,而并非从原始 进行添加。
另外,我们希望这个扰动尽可能小 (肉眼不可见),所以整个过程被描述为一个最优化问题:
即,寻找最小扰动 使得模型判断错误,但是这个公式是高度非 线性,以及非凸的,很难找到适应解。
Direction Sensitivity Estimation
敏感方向估计通常是通过改变 输入来评估的,下面描述了当前的敏感方向评估技术;
L-BFGS
不知道这个 L-BFGS 是不是拟牛顿梯度下降法的那个 BFGS,简单来说就是由于上述公式高度非凸,所以论文 11 中转而解决一个弱化的问题,即找到一个使得最小化损失函数的添加值,从而将问题转化为凸优化问题。那缺点就是计算成本昂贵
Fast Gradient Sign Method(FGSM)
论文提出了一种快速梯度符号法,该方法的计算成本在于计算神经网络输入的梯度,对抗样本是通过下面公式产生的:
在这里 是模型 的 ,在 正则化 文章中有所提及,这里不在赘述。 是对于具有正常标签 的梯度, 是控制扰动幅度的超参数。这是一种基于线性假设的近似。
- 什么是线性假设?
- 为什么是近似?