思源原创

对抗样本攻防战,清华大学TSAIL团队再获CAAD攻防赛第一

最近,在全球安全领域的殿堂级盛会 DEF CON 2018 上,GeekPwn 拉斯维加斯站举行了 CAAD CTF 邀请赛,六支由国内外顶级 AI 学者与研究院组成的队伍共同探讨以对抗训练为攻防手段的 CTF。TSAIL 团队的庞天宇、杜超作为代表获得该项比赛的冠军,参加比赛的骨干成员还包括董胤蓬、韦星星等,TSAIL 团队来自于清华大学人工智能研究院,主要研究领域为机器学习。

同样在去年,该团队在 NIPS 2017 AI 对抗性攻防竞赛的三项比赛任务中(有/无特定目标攻击;攻击检测),全部获得冠军,战胜了包括斯坦福、约翰霍普金斯大学等世界著名高校在内的 100 多支代表队,在人工智能模型的鲁棒性和安全性应用方面迈出了重要一步。

在今年的 CADD CTF 攻防赛中,选手需要根据随机匹配战队的指定图像,对其他战队发动「定向对抗样本」攻击,同时还要防御来自其他团队的「对抗样本」。这种对抗攻击是完全黑盒的,各战队无法获取任何关于对方模型的信息,例如损失函数、模型架构、输入-输出样本对等等。

对抗攻击

对抗样本是指攻击者通过向真实样本中添加人眼不可见的噪声,导致深度学习模型发生预测错误的样本,如下图所示给定一张熊猫的图像,攻击方给图片添加了微小的噪声扰乱,尽管人眼是很难区分的,但是模型却以非常高的概率将其误分类为长臂猿。随着机器学习的大规模应用,这类误差对于系统安全显得尤为重要,CAAD 竞赛正是希望能探讨如何加强系统对于这类对抗样本的鲁棒性。

上图为 Ian Goodfellow 在 14 年展示的对抗样本,这种对抗样本是通过一种名为 FGSM 的算法得出。

 一般而言,对抗攻击可以分为白盒攻击、黑盒攻击、定向攻击,以及通用攻击。其中白盒攻击是指攻击者能完全访问到被攻击模型,也就是说攻击者在知道模型架构和参数的情况下制造能欺骗它的对抗样本。而黑盒攻击则表明攻击者只能观察到被攻击模型的输入与输出,例如通过 API 攻击机器学习模型可以视为一个黑盒攻击,因为攻击者只能通过观察输入输出对来构造对抗样本

在 CAAD CTF 竞赛中,选手所需要采用的是定向的通用攻击。其中对于定向攻击,攻击者希望能够造出对抗样本来欺骗目标系统误分类为特定的类别,例如我们可能希望构建一个对抗样本,它能令图像识别系统将其误分类为「小狗」等特定的类别。对于通用攻击而言,攻击者尝试设计一种图像扰动转换,它能在不知道被攻击系统任何信息的情况下欺骗它。因此在 CAAD CTF 竞赛中,选手不仅不能访问到对方的模型架构与参数,同时也不能访问到被攻击系统的输入与输出样本对。

目前比较流行的攻击方法主要是基于梯度和迭代的方法,其它很多优秀与先进的攻击方法都基于它们的主要思想。这一类方法的主要思想即希望找到能最大化损失函数变化的微小扰动,这样通过给原始输入加上这一微小扰动,模型就会误分类为其它类别。通常简单的做法是沿反向传播计算损失函数对输入的导数,并根据该导数最大化损失函数,这样攻击者就能找到最优的扰动方向,并构造对抗样本欺骗该深度网络。

例如 Goodfellow 在 2014 年提出的 Fast Gradient Sign Method(FGSM),如果我们令θ表示模型的参数、x 和 y 表示输入与输出、J(θ, x, y) 为训练神经网络损失函数,那么我们可以在当前θ值的邻域线性逼近损失函数,并获得最优的最大范数约束扰动:

如上图所示将最优的扰动加入原输入「熊猫」,就能令系统将其误分类为「长臂猿」。FGSM 能通过反向传播快速计算梯度,并找到令模型损失增加最多的微小扰动η。其它如基本迭代方法(BIM)会使用较小的步长迭代多次 FGSM,从而获得效果更好的对抗样本

当然,仅仅是白盒攻击的话还不会引起较大的影响,可怕的是对抗样本具有迁移性,这也是令 CAAD CTF 这种定向通用攻击可行的原因。可迁移的攻击指的是我们不知道攻击目标使用什么样的机器学习模型、具体参数和训练集等,但我们可以通过类似数据集训练自己的模型并构建对抗样本,这些对抗样本因为可迁移性很可能可以欺骗未知的目标模型。

随后在 2016 年,Yanpei Liu 等研究者提出一种基于模型集成的攻击方法,他们表示当对抗样本能欺骗集成的多个已知模型时,它有非常大的可能性能欺骗未知的模型。TSAIL 团队同样表示集成方法在实际比赛中非常重要,他们集成多个常见的卷积神经网络以构建对抗样本,如 Inception v4、ResNet 和 DenceNet 等。正因为集成能显著提升对抗样本的可迁移性,他们才能在不获取任何目标系统的信息下完成攻击。

除此之外,TSAIL 团队表示他们会通过动量提升对抗性攻击力。他们表示部署深度学习模型之前,对抗性攻击是评估其稳健性的重要替代物之一。然而,大多数现有的对抗性攻击能够成功迷惑黑盒模型的概率很低。为了解决这一问题,他们提出了一种以动量为基础的具有广泛级别的迭代算法增强对抗攻击能力。通过将动量项集成到攻击迭代过程,模型可以获得更稳定的更新方向,避免在迭代过程中出现劣质的局部最大值,并且同时产生更多的可迁移对抗样本。为进一步提高黑盒攻击的成功率,他们将动量迭代算法应用到一个模型集合中,从而表明这种受训模型即便有很强的防御能力,在他们的黑盒攻击面前仍然束手无助。

对抗防守

清华大学 TSAIL 团队同样还重点关注于构建更鲁棒的对抗样本防御模型,在这次竞赛中,TSAIL 团队在定向攻击其它模型的同时,还需要防御其它参赛者的对抗样本攻击。TSAIL 实验室前面曾提出两种防御对抗样本的方法,它们都是尝试修正损失函数以获得更好的稳定性。

在论文 Towards Robust Detection of Adversarial Examples 中,庞天宇等研究者表示可以强制令 DNN 分类器将所有正常样本映射到低维流形中相近的地方,因此当模型接收到对抗样本时,它就能轻松将其与正常样本区分开来。在这一篇论文中,他们提出一种名为反交叉熵(reverse cross-entropy,RCE)的损失函数,并表明在训练中最小化 RCE 损失函数将会鼓励深度神经网络学习能区分对抗样本和正常样本的隐藏空间。

研究者在论文中使用下图展示了为什么将正常样本映射到低维流形中的近邻能抵抗对抗样本。其中 non-ME 为归一化的非最大值信息熵,它计算的是除去最可能的预测后,其它类别预测概率的信息熵,这种度量相对于使用 Softmax 更能区分对抗样本。如下图 1 a 所示为神经网络最后一层隐藏空间的分类边界,non-ME 会将正常样本约束到一起。

图 1:a 中三条黑色实线为分类器的决策边界,蓝色虚线为 non-ME = t 的等值线。b 和 c 为最后隐藏层向量的 t-SNE 可视化,模型都是在 CIFAR-10 上训练的 ResNet-32,只不过 b 使用的是一般的交叉熵损失函数,c 使用的是 RCE。

如上所示,z_0 为原始正常样本,它被映射为反向延长线的近邻,即蓝色的等值线之间。当我们不使用对抗样本检测度量时,z_1 相对于 z_0 位于决策边界的附近,它可能是非常成功的对抗样本。但是当我们使用 non-ME 作为对抗样本检测度量时,z_1 可以很容易被过滤掉,因为它不在真实样本的近邻。在这种情况下,成功的对抗样本会出现在 z_2 的位置,其中分类边界与近邻边界出现重合。

研究者们表示,如果想要在最后一层的隐藏空间达到这种效果,我们就需要在训练中使用 REC 损失函数。如下展示了 REC 损失函数,其中 R_y 表示反标签向量,即第 y 个标注值设置为零、其它类别值为 1/(L-1)。此外,F(x) 为模型的预测值,因此 RCE 度量的是反标签向量与预测值之间的交叉熵

通过在训练过程中最小化 RCE 损失函数,该网络鼓励分类器在正确的类别上返回较高的置信度,而在错误类别上返回均匀分布。且还会进一步令分类器将同一类别的正常样本在低维流形上聚在一起,即在神经网络最后一层的隐藏空间上分离正常样本与对抗样本。此外,这一新型损失函数可以在理论上证明其收敛性,同时它如同交叉熵损失函数一样使用一般的 SGD 进行训练。

在另一篇论文 Max-Mahalanobis Linear Discriminant Analysis Networks 中,清华大学 TSAIL 团队的研究者探讨了另外一种抵御对抗样本的方法。具体而言,他们定义了一种特殊的高斯混合分布 Max-Mahalanobis,并且理论性地证明了如果输入分布是 MMD,那么线性判别分析(LDA)对于对抗样本有非常好的鲁棒性。

基于这一发现,他们提出了 MM-LDA 网络。简单而言,该网络将复杂的输入数据分布映射到服从 Max-Mahalanobis 分布的隐藏特征空间,并使用 LDA 做最后的预测。因此该网络重要的是理解 Max-Mahalanobis 分布,以及为什么它能防御对抗样本

如上展示了根据不同类别数 L 所构建的 Max-Mahalanobis 分布,其中μ为不同高斯分布的均值,且它们分别为图形的顶点。MMD 中高斯分布的方差固定为单位方差,且没有其它特殊的要求。但 MMD 中均值μ的分布需要满足一些条件,即要求相距最近的两个μ之间的距离最大,这样不同的类别就要求分布地最开。

如上当类别 L 为 3 的时候,我们希望约束神经网络的最后一层将属于类别 i 的正常样本都映射到分布 N(z|μ_i, I) 内,其中μ_1、μ_2 和μ_3 需要尽可能布散开以逼近等边三角形。形式化而言,我们需要最大化 μ 之间的最小距离,即 max{min(D_12, D_13, D_23)},其中 D_12 表示μ_1 和μ_2 之间的距离。

因为 MMD 令各类别均值的间隔近似最大,因此神经网络将每一个类别都映射到相互远离的高斯分布内,这样再通过线性判别分析就能快速作出最后的预测。整体而言,研究者们提出的 MM-LDA 网络首先会有一个深度网络将输入数据 x 映射到隐藏特征表征 z,并迫使 z 的分布 P(z) 服从于 MMD,然后再在 z 上使用 LDA 做预测。

为了迫使神经网络最后一层隐向量 z 服从 Max-Mahalanobis 分布,我们需要限制标签的分布为:

其中每个类别的先验概率 π 与均值 μ* 都是根据 MMD 预定义的,再根据上式而不是常用的 Softmax 函数来预测类别就相当于引入了 Max-Mahalanobis 分布。最后在训练过程中,只要最小化标注样本与模型预测 P(y|z(x; θ)) 之间的交叉熵损失函数就能令 z 近似服从于 MMD。此外,由于整个网络同样仅需要修改损失函数,它可以直接应用于不同的深度模型来获得更好的鲁棒性。

清华大学人工智能研究院 TSAIL 团队

除了这两份关于鲁棒性机器学习系统的研究,实验室在对抗攻击与防守等 AI 安全领域还有非常多的研究。例如在针对图像识别的对抗攻防外,AI 安全还包括图像场景分割、视频分类、文本和图数据上的攻防,这一次比赛只是 AI 安全领域中比较小的一部分。除此之外,实验室还做了大量关于概率机器学习方面的研究,例如贝叶斯机器学习等,这一方面的研究成果很多都体现在「珠算(ZhuSuan)」这一开源库上。

团队在可理解的人工智能领域拥有先进技术积累,针对 AI 决策、AI 理解、AI 安全等领域技术领先。2017 年间,团队成员获得 Google 主办的 NIPS 人工智能安全攻防竞赛全部三个项目世界第一;获得 Kaggle 数据科学碗 2017 第一名(50 万美元奖金);获得创新工场 AI Challenge 2017 图像中文描述项目第一名;2018 年获得 VizDoom 机器人枪战比赛第一名。课题组所开发的「珠算(ZhuSuan)」贝叶斯深度学习平台在国际人工智能和机器学习领域产生广泛影响。

理论清华大学机器学习对抗样本
21
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

范数技术

范数(norm),是具有“长度”概念的函数。在线性代数、泛函分析及相关的数学领域,是一个函数,其为向量空间内的所有向量赋予非零的正长度或大小。半范数反而可以为非零的向量赋予零长度。

交叉熵技术

交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

高斯分布技术

正态分布是一个非常常见的连续概率分布。由于中心极限定理(Central Limit Theorem)的广泛应用,正态分布在统计学上非常重要。中心极限定理表明,由一组独立同分布,并且具有有限的数学期望和方差的随机变量X1,X2,X3,...Xn构成的平均随机变量Y近似的服从正态分布当n趋近于无穷。另外众多物理计量是由许多独立随机过程的和构成,因而往往也具有正态分布。

先验概率技术

在贝叶斯统计中,某一不确定量p的先验概率分布是在考虑"观测数据"前,能表达p不确定性的概率分布。 它旨在描述这个不确定量的不确定程度,而不是这个不确定量的随机性。 这个不确定量可以是一个参数,或者是一个隐含变量(英语:latent variable)。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

信息熵技术

在信息论中,熵是接收的每条消息中包含的信息的平均量,又被称为信息熵、信源熵、平均自信息量。这里,“消息”代表来自分布或数据流中的事件、样本或特征。熵的单位通常为比特,但也用Sh、nat、Hart计量,取决于定义用到对数的底。

决策边界技术

在具有两类的统计分类问题中,决策边界或决策曲面是一个超曲面,它将底层的向量空间分成两组,每组一个。分类器会将决策边界一侧的所有点分为属于一个类,而另一侧属于另一个类。也即二元分类或多类别分类问题中,模型学到的类别之间的分界线。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

线性判别分析技术

线性判别分析 是对费舍尔的线性鉴别方法的归纳,这种方法使用统计学,模式识别和机器学习方法,试图找到两类物体或事件的特征的一个线性组合,以能够特征化或区分它们。所得的组合可用来作为一个线性分类器,或者,更常见的是,为后续的分类做降维处理。

t分布随机邻嵌入技术

t分布随机邻嵌入(t-SNE)是由Geoffrey Hinton和Laurens van der Maaten 开发的一种降维的机器学习算法。 这是一种非线性降维技术,特别适合将高维数据嵌入到二维或三维空间,然后可以在散点图中将其可视化。 具体来说,它通过二维或三维点对每个高维对象进行建模,使得类似的对象由附近的点建模,不相似的对象由远点建模。

对抗样本技术

对抗样本是一类被设计来混淆机器学习器的样本,它们看上去与真实样本的几乎相同(无法用肉眼分辨),但其中噪声的加入却会导致机器学习模型做出错误的分类判断。

动量技术

优化器的一种,是模拟物理里动量的概念,其在相关方向可以加速SGD,抑制振荡,从而加快收敛

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

推荐文章
这个有意思。