同样在去年,该团队在 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)」贝叶斯深度学习平台在国际人工智能和机器学习领域产生广泛影响。