《繁凡的深度学习笔记》,包含深度学习基础和 TensorFlow2.0,PyTorch 详解,以及 CNN,RNN,GNN,AE,GAN,Transformer,强化学习,元学习,对抗攻击防御,迁移学习等主流研究方向万字综述!
繁凡的对抗攻击论文精读(一)CVPR 2019 基于决策的高效人脸识别黑盒对抗攻击(清华朱军)
Efficient Decision-based Black-box Adversarial Attacks on Face Recognition
基于决策的高效人脸识别黑盒对抗攻击
https://fanfansann.blog.csdn.net/
声明:
1)本文《繁凡的对抗攻击论文精读》是 《繁凡的论文精读》 系列对抗攻击领域的论文精读笔记。 《繁凡的论文精读》 项目 暂时包含三大板块,即:《繁凡的NLP论文精读》、 《繁凡的CV论文精读》 以及 《繁凡的对抗攻击论文精读》,项目地址:https://github.com/fanfansann/DL-papers-intensive-reading-notes-NLP-and-CV
该项目内包含精读论文的原文、精读笔记PDF、模型复现代码等论文相关资源,欢迎 Starred ⭐ \,\,\,\text{Starred}⭐ Starred⭐ o(〃^▽^〃)o
2)本人才疏学浅,整理总结的时候难免出错,还望各位前辈不吝指正,谢谢。
3)本文由我个人( CSDN 博主 「繁凡さん」(博客) , 知乎答主 「繁凡」(专栏), Github 「fanfansann」(全部源码) , 微信公众号 「繁凡的小岛来信」(文章 P D F 下载))整理创作而成,且仅发布于这四个平台,仅做交流学习使用,无任何商业用途。
4)《繁凡的论文精读》全汇总链接:《繁凡的论文精读》目录大纲 https://fanfansann.blog.csdn.net(待更)
文章目录
Efficient Decision-based Black-box Adversarial Attacks on Face Recognition [1]
基于决策的高效人脸识别黑盒对抗攻击
Abstract
Face recognition has obtained remarkable progress in recent years due to the great improvement of deep convolutional neural networks (CNNs). However, deep CNNs are vulnerable to adversarial examples, which can cause fateful consequences in real-world face recognition applications with security-sensitive purposes. Adversarial attacks are widely studied as they can identify the vulnerability of the models before they are deployed. In this paper, we evaluate the robustness of state-of-the-art face recognition models in the decision-based black-box attack setting, where the attackers have no access to the model parameters and gradients, but can only acquire hard-label predictions by sending queries to the target model. This attack setting is more practical in real-world face recognition systems. To improve the efficiency of previous methods, we propose an evolutionary attack algorithm, which can model the local geometry of the search directions and reduce the dimension of the search space. Extensive experiments demonstrate the effectiveness of the proposed method that induces a minimum perturbation to an input face image with fewer queries. We also apply the proposed method to attack a real-world face recognition system successfully.
Translation
近年来,由于深度卷积神经网络(CNN)的巨大改进,人脸识别取得了显着进展。然而,深度 CNN 容易受到对抗性示例的影响,这可能会在具有安全敏感目的的现实世界人脸识别应用程序中造成致命的后果。对抗性攻击被广泛研究,因为它们可以在部署之前识别模型的漏洞。在本文中,我们评估了最先进的人脸识别模型在基于决策的黑盒攻击设置中的鲁棒性,其中攻击者无法访问模型参数和梯度,而只能获取硬标签通过向目标模型发送查询来进行预测。这种攻击设置在现实世界的人脸识别系统中更实用。为了提高先前方法的效率,我们提出了一种进化攻击算法,该算法可以**对搜索方向的局部几何形状进行建模并降低搜索空间的维度。**大量实验证明了所提出方法的有效性,该方法以较少的查询对输入人脸图像产生最小扰动。我们还应用所提出的方法成功地攻击了现实世界的人脸识别系统。
Summarize
- 提出了一种进化攻击算法来在基于决策的黑盒设置中生成对抗样本。
- 通过对搜索方向的局部几何形状进行建模,同时降低搜索空间的维度,从而提高了效率。
- 应用所提出的方法来综合研究几种最先进的人脸识别模型的鲁棒性。
- 表明现有的人脸识别模型极易受到黑盒方式的对抗性攻击。
- 通过所提出的方法攻击了现实世界的人脸识别系统,证明了其实际适用性。
0x01 论文精读
1. Introduction
深度卷积神经网络(CNNs) [26,29,11]的最新进展已经在广泛的计算机视觉任务中带来了实质性的性能改进。人脸识别作为最重要的计算机视觉任务之一,得到了深层CNNs的极大促进[31,28,23,33,16,32,5]。人脸识别通常有两个子任务:人脸验证 和 人脸识别 [12,15]。前者区分一对人脸图像是否代表同一身份,后者将一个图像分类为一个身份。最先进的人脸识别模型通过使用深度神经网络提取类内方差最小和类间方差最大的人脸特征来实现这两个任务。由于这些模型的优异性能,人脸识别在金融/支付、公共访问、犯罪识别等众多应用中被广泛用于身份认证。
尽管在各种应用中取得了巨大的成功,但众所周知,深层CNNs容易受到敌对例子的影响[30,9,19,6]。对于人类观察者来说,这些恶意产生的敌对例子通常通过添加小的扰动而与合法的例子难以区分。但它们可以让深层模型产生不正确的预测。基于深层认知神经网络的人脸识别系统也显示出其对这种敌对例子的脆弱性。例如,可以对眼镜进行对抗性干扰,当戴上眼镜时,攻击者可以逃避被认出或冒充另一个人[24,25]。人脸识别系统在现实应用中的不安全性,尤其是那些具有敏感目的的应用,会导致严重的后果和安全问题。
为了评估人脸识别系统在现实世界应用中的鲁棒性,对抗攻击可以作为一个重要的替代,因为它们可以识别这些系统的脆弱性[2],并有助于提高鲁棒性[9,18]。然而,现有的人脸识别攻击方法[24,25]主要基于白盒场景,攻击者知道被攻击系统的内部结构和参数。因此,可以通过基于梯度的方法直接优化攻击目标函数。在现实世界中,当攻击者无法访问模型细节时,这种设置显然是不切实际的。相反,我们关注的是一个更加现实和通用的基于决策的黑盒设置[1],其中没有模型信息被暴露,除了攻击者只能查询目标模型并获得相应的硬标签预测。攻击的目标是通过有限的查询生成具有最小扰动的对抗性例子。这种攻击场景更具挑战性,因为无法直接计算梯度,也无法提供预测概率。另一方面,它更加现实和重要,因为大多数现实世界的人脸识别系统都是黑盒的,只提供硬标签输出。据我们所知,这是第一次尝试在这种情况下对人脸识别进行对抗性攻击。

图1. 基于决策的黑盒攻击设置的演示。给定一个黑盒模型,攻击者使用查询生成具有最小扰动的对抗性示例。
已有多种基于决策的黑盒攻击方法被提出[1,14,4]。然而,它们缺乏通常需要大量查询才能收敛的效率,或者在有限的查询预算下获得相对较大的扰动。因此,我们考虑如何通过用更少的查询对每个样本引入更小的扰动来有效地生成基于决策的黑盒攻击的对抗示例。
为了解决上述问题,我们提出了一种进化攻击方法,用于在基于决策的黑盒环境中进行查询高效的对抗攻击。在给定攻击目标函数的情况下,该方法仅通过查询就可以以黑盒方式对其进行优化。我们的方法可以通过模拟它们的局部几何形状来找到更好的搜索方向。它通过减少搜索空间的维数来进一步提高效率。在基于决策的黑盒场景下,我们应用所提出的方法综合研究了几种最先进的人脸识别模型的鲁棒性,包括SphereFace [16]、CosFace [32]和ArcFace [5]。在最流行的公共领域人脸识别数据集上进行的大量实验证明了所提出的方法的有效性,这些数据集包括野外标记人脸(LFW) [12]和巨型人脸挑战[15]。我们进一步应用我们的方法来攻击一个真实世界的人脸识别系统,以显示它的实际应用性。总之,我们的主要贡献是:
- 在基于决策的黑盒场景下,我们提出了一种新的进化攻击方法,它可以模拟搜索方向的局部几何形状,同时降低搜索空间的维数。进化攻击方法一般适用于任何图像识别任务,并且相对于现有方法显著提高了效率。
- 我们通过各种环境下基于决策的黑盒攻击,全面评估了几种最先进的人脸识别模型的鲁棒性。我们展示了这些人脸模型在这种环境下的脆弱性。
- 通过成功攻击一个真实世界的人脸识别系统,我们展示了所提出方法的实际适用性。
2.Related Work
深度人脸识别 DeepFace[31]和DeepID[28]将人脸识别视为一个多类分类问题,并使用深度CNNs来学习softmax loss监督的特征。提出了三重损失[23]和中心损失[33]来增加类别之间的特征空间中的欧几里德余量。在SphereFace [16]中提出了角度软最大损失来学习角度分辨特征。CosFace [32]使用大裕度余弦损失来最大化余弦裕度。ArcFace[5]中提出了附加角裕度损失来学习高分辨特征。
对人脸识别的对抗性攻击 深层CNNs极易受到对抗性例子的影响[30,9,19]。人脸识别也显示出抵抗攻击的脆弱性。在[24]中,扰动被限制在眼镜区域,并由基于梯度的方法生成,这甚至在物理世界中也欺骗了人脸识别系统。敌对的眼镜也可以由生殖网络产生[25]。然而,这些方法依赖于人脸识别模型的白盒操作,这在现实世界的应用中是不现实的。相反,我们着重于评估人脸识别模型在基于决策的黑盒攻击环境中的鲁棒性。
黑盒攻击 黑盒攻击可以分为基于转移、基于分数和基于决策的攻击。基于转移的攻击为白盒模型生成对立的例子,并基于可转移性攻击黑盒模型[17,6]。在基于分数的攻击中,预测概率由模型给出。有几种方法依靠近似梯度来产生对立的例子[3,14]。在基于决策的攻击中,我们只能获得硬标签预测。边界攻击法是基于决策边界上的随机游走[1]。基于优化的方法[4]将该问题表述为连续优化问题,并估计用于优化的梯度。然而,它需要计算沿二分搜索法方向到决策边界的距离。在[14]中,预测概率是通过硬标签预测来估计的。然后,使用自然进化策略(NES)来最大化目标类概率或最小化真实类概率。这些方法通常需要大量的查询来生成具有最小扰动的对抗性例子,或者用很少的查询收敛到大的扰动。
3.Methodology
3.1.Attack Setting
设 f ( x ) : X → Y ( X ⊂ R n ) f(\boldsymbol{x}): \mathcal{X} \rightarrow \mathcal{Y}\left(\mathcal{X} \subset \mathbb{R}^{n}\right) f(x):X→Y(X⊂Rn) 表示预测输入人脸图像标签的人脸识别模型。
对于人脸验证,该模型依靠另一张人脸图像来识别这对图像是否属于同一身份,并输出一个 Y = { 0 , 1 } Y = \{0,1\} Y={ 0,1} 的二进制标签。
对于人脸识别,模型 f ( x ) f(x) f(x) 将输入图像 x x x 与人脸图像图库集进行比较,然后将 x x x 分类为特定身份。所以可以看作是多类分类任务,其中 Y = { 1 , 2 , . . . , K } Y = \{1,2,...,K\} Y={ 1,2,...,K}, K K K 为恒等式个数。
给定一个真实的人脸图像 x x x ,攻击的目标是在 x x x 附近生成一个敌对的人脸图像 x ∗ x^* x∗ ,但是被模型错误分类。它可以通过求解一个约束优化问题
min x ∗ D ( x ∗ , x ) , s.t. C ( f ( x ∗ ) ) = 1 \min _{x^{*}} \mathcal{D}\left(\boldsymbol{x}^{*}, \boldsymbol{x}\right), \text { s.t. } \mathcal{C}\left(f\left(\boldsymbol{x}^{*}\right)\right)=1 x∗minD(x∗,x), s.t. C(f(x∗))=1
得到,其中 D ( ⋅ , ⋅ ) \mathcal D(·,·) D(⋅,⋅) 是距离度量, C ( ⋅ ) \mathcal C(·) C(⋅) 是一个对抗准则,如果满足攻击要求,取 1 1 1,否则取 0 0 0。我们使用 ℓ 2 \ell_2 ℓ2 距离作为 D \mathcal D D。 E q . ( 1 ) Eq.(1) Eq.(1) 中的约束问题显然可以等价地重新表述为以下无约束优化问题:
min x ∗ L ( x ∗ ) = D ( x ∗ , x ) + δ ( C ( f ( x ∗ ) ) = 1 ) \min _{\boldsymbol{x}^{*}} \mathcal{L}\left(\boldsymbol{x}^{*}\right)=\mathcal{D}\left(\boldsymbol{x}^{*}, \boldsymbol{x}\right)+\delta\left(\mathcal{C}\left(f\left(\boldsymbol{x}^{*}\right)\right)=1\right) x∗minL(x∗)=D(x∗,x)+δ(C(f(x∗))=1)
其中,如果 a a a 为真,则 δ ( a ) = 0 \delta(a)=0 δ(a)=0 ,否则 δ ( a ) = + ∞ \delta(a)=+\infin δ(a)=+∞ 。
通过优化 E q . ( 2 ) Eq. (2) Eq.(2),我们可以得到一个扰动最小的图像 x ∗ x^* x∗ ,根据对抗准则显然它也是有对抗性的。
由于模型 f ( x ) f(x) f(x) 仅提供离散的硬标签输出,因此对抗准则 C \mathcal C C 不能定义为交叉熵损失等连续的准则。
我们根据以下两种类型的攻击来指定 C \mathcal C C 。
❑ ❑ ❑ 躲避攻击(Dodging Attack,非目标攻击)
产生一个被认为是错误的或不被承认的对抗性图像。
对于人脸验证,给定一对属于同一身份的人脸图像,攻击者希望通过修改其中一张图像,使模型识别它们不是同一身份。
准则 C \mathcal C C 为:
C ( f ( x ∗ , x ) ) = I ( f ( x ∗ , x ) = 0 ) \mathcal{C}\left(f\left(\boldsymbol{x}^{*},\boldsymbol x\right)\right)=\mathbb{I}\left(f\left(\boldsymbol{x}^{*},\boldsymbol x\right)=0\right) C(f(x∗,x))=I(f(x∗,x)=0)
其中 I \mathbb{I} I 是指示函数。
I A ( x ) = { 1 若 x ∈ A 0 若 x ∉ A \mathbb{I}_{A}(x)=\left\{\begin{array}{ll}1 & \text { 若 } x \in A \\0 & \text { 若 } x \notin A\end{array}\right. IA(x)={
10 若 x∈A 若 x∈/A
对于人脸识别,攻击者生成一个敌对的人脸图像,目的是将其识别为任何其他身份。
准则 C \mathcal C C 为:
C ( f ( x ∗ ) ) = I ( f ( x ∗ ) ≠ y ) \mathcal{C}\left(f\left(\boldsymbol{x}^{*}\right)\right)=\mathbb{I}\left(f\left(\boldsymbol{x}^{*}\right) \neq y\right) C(f(x∗))=I(f(x∗)=y)
其中 y y y 是真实图像 x x x 的真实身份。
❑ ❑ ❑ 假冒攻击( Impersonation Attack,目标攻击)
工作原理是寻找被识别为特定身份的对抗图像,这可以用来逃避面部认证系统。
对于人脸验证,攻击者试图找到被识别为另一个图像 x ′ \boldsymbol x' x′ 的相同身份的敌对图像,而与原始图像不是来自相同的身份。
准则 C \mathcal C C 为
C ( f ( x ∗ , x ′ ) ) = I ( f ( x ∗ , x ′ ) = 1 ) \mathcal{C}\left(f\left(\boldsymbol{x}^{*}, \boldsymbol x'\right)\right)=\mathbb{I}\left(f\left(\boldsymbol{x}^{*}, \boldsymbol x'\right)=1\right) C(f(x∗,x′))=I(f(x∗,x′)=1)
对于人脸识别,需要将生成的对抗图像归类为特定身份 y ∗ y^* y∗
准则 C \mathcal C C 为:
C ( f ( x ∗ ) ) = I ( f ( x ∗ ) = y ∗ ) \mathcal{C}\left(f\left(\boldsymbol{x}^{*}\right)\right)=\mathbb{I}\left(f\left(\boldsymbol{x}^{*}\right)=y^{*}\right) C(f(x∗))=I(f(x∗)=y∗)
3.2.Evolutionary Attack
考虑如何直接有效地优化 E q . ( 2 ) Eq.(2) Eq.(2) ,本文提出了一种新的进化攻击方法来解决黑盒优化问题。我们的方法基于协方差矩阵自适应进化策略(CMA-ES) [10]的一个简单有效的变体,即 (1+1)-CMA-ES [13]。
主要思想如下图所示:

其中,黑色圆点表示目标图像 x x x;蓝色曲线表示决策边界,曲线的上方是不可行域(即 f ( x ∗ ) = f ( x ) f(x^*)=f(x) f(x∗)=f(x)),曲线下方是可行域(即 f ( x ∗ ) ≠ f ( x ) f(x^*)\neq f(x) f(x∗)=f(x));灰色的 × × × 点表示已经查询过的不可行解,灰色的 ○ ○ ○ 点表示已经查询过的可行解,绿色的圆点表示当前可行解。其基本步骤如下:
-
以图 3 左图为例,为了探索下一个可行解,我们需要进行采样。黑色椭圆表示采样概率分布,其服从高斯分布 N ( 0 , σ 2 C ) \mathcal N(\boldsymbol 0,\sigma^2C) N(0,σ2C)。该分布的中心点为当前可行解,协方差矩阵 C C C 是根据历史可行解进行估计的,探索的基本思想就是:根据历史探索点,我们可以计算出各个方向的探索成功率;沿着成功率大的方向继续探索,更容易找到下一个可行解。因此,我们根据该分布进行第一步采样,如从绿色圆点出发的第一个橙色箭头,到达初始候选解(第一个橙色圆点)。
-
经过第一步采样,我们可能找到下一个可行解,但是并不能保证 D ( x ∗ , x ) \mathcal D(x^*,x) D(x∗,x) 的下降。因此,我们进行第二步探索,即以初始候选解为出发点,沿着目标图像 x x x 移动一小步(见第二个橙色箭头),到达第二个候选解(即第二个橙色圆点)。
-
随后,我们在对第二个候选解进行查询,判断其是否满足约束:如果满足,则将其作为最新可行解,如图 3 右子图所示,并对采样概率分布(即黑色椭圆)进行更新;如果不满足,则保持当前解不变,重新上述采样过程。

第 1 步:初始化
第 2 步:开始循环
第 3 步: z z z 表示对数据的扰动,产生扰动,其中 C C C 表示用于建模搜索方向的局部几何特征的协方差矩阵;
第 4 步:选择 k k k 个坐标(即像素点),其中选择它们某个坐标的概率与 C C C 中的每个对角元素大小成正比;
第 5 步:其他的像素点都置为 0 0 0;
第 6 步:通过双线性插值法将 z z z 扩充为 R n \R^n Rn 的向量;
第 7 步:增加一个偏置使得原图像与对抗样本的 ℓ 2 \ell_2 ℓ2 范数(距离评价)变小,其中 μ μ μ 是一个超参数;
第 8 步:判断是否得到一个更好的解,如果是就进行第 9 步;
第 9 步:更新最优解,并且更新协方差矩阵;
在 (1+1)-CMA-ES 的每次更新迭代中,通过添加随机噪声,从其父代(当前解)生成新的后代(候选解),评估这两个解的目标,并为下一次迭代选择更好的解。这种方法能够解决黑盒优化问题。但是,由于 x ∗ x^* x∗ 的维数较高,直接应用 (1+1)-CMA-ES 对 E q . ( 2 ) Eq.(2) Eq.(2) 进行优化效率不高。考虑到基于决策的人脸图像黑盒子攻击中的查询限制,原始的 (1+1)-CMA-ES 可能是不可行的。为了加速该算法,我们设计了一个适当的分布来采样每次迭代中的随机噪声,它可以 模拟搜索方向的局部几何形状 。考虑到该问题的特殊性质,我们还提出了几种降低搜索空间维数的技术。
上述算法1 概述了整个进化攻击算法。我们在 m < n m < n m<n 的低维空间 R m \R^m Rm 中进行搜索,而不是原始的 n n n 维输入空间。在每次迭代中,我们首先从 N ( 0 , σ 2 C ) \mathcal{N}\left(\mathbf{0}, \sigma^{2} \mathbf{C}\right) N(0,σ2C) 中采样一个随机向量 z z z,使得 z ∈ R m z\in \R^m z∈Rm,其中 C 是对角协方差矩阵,以模拟搜索方向的局部几何形状。然后,我们随机选择 k k k 个坐标进行搜索,假设只有一小部分像素对于寻找对抗图像是重要的。我们通过将其他坐标设置为 0 0 0 来保持所选的 z z z 的 k k k 个坐标的值。我们通过 双线性插值 将 z z z 提升到输入空间,得到 z ~ ∈ R n \tilde{\boldsymbol z}\in \R^n z~∈Rn 。我们进一步给 z ~ \tilde z z~ 加上一个偏差,以最小化敌对图像和原始图像之间的距离。我们最终测试是否得到更好的解决方案。如果我们确实找到了更好的解决方案,我们就跳到它上面,更新协方差矩阵。在下面,我们将详细描述算法中的每一步。
3.2.1 初始化
Dodging attack 初始化随机噪声
Impersonation attack 初始化目标实体的图片。
3.2.2 高斯分布的均值
在高维空间中抽样的扰动 z z z ,很可能和现有的扰动正交,导致距离度量很难减少,无法训练,因此需要在第7步增加一个的偏置项。
3.2.3 协方差矩阵自适应
协方差矩阵 C C C 的自适应适用于求解不可分离的优化问题,于是在对角协方差矩阵的启发下,设计了更新规则:
p c = ( 1 − c c ) p c + c c ( 2 − c c ) z σ c i i = ( 1 − c cov ) c i i + c cov ( p c ) i 2 \begin{array}{c}\boldsymbol{p}_{c}=\left(1-c_{c}\right) \boldsymbol{p}_{c}+\sqrt{c_{c}\left(2-c_{c}\right)} \frac{\boldsymbol{z}}{\sigma} \\c_{i i}=\left(1-c_{\operatorname{cov}}\right) c_{i i}+c_{\operatorname{cov}}\left(\boldsymbol{p}_{c}\right)_{i}^{2}\end{array} pc=(1−cc)pc+cc(2−cc)σzcii=(1−ccov)cii+ccov(pc)i2
在上述搜索算法中,我们将图像的每个像素当作一个维度。整个搜索空间的维度非常高,这往往意味着搜索效率非常低。为此,我们在搜索中嵌入了两种加速策略:
3.2.4 随机坐标选择
即每次采样只在部分维度(即部分像素)进行,而不是所有维度。维度的选取以采样概率分布为依据,方差大的维度被选中的概率也更高。
3.2.5 降维
扰动空间在一个较低的维度被证明是可以加速黑盒攻击 [3],因此我们使用较小维度的扰动 z z z ,即第 3 步中在 m < n m < n m<n 的低维空间 R m \R^m Rm 中对随机向量 z z z 进行采样(只是减小搜索空间的尺寸),然后在第 6 步通过双线性插值到正常的空间中。
3.2.6 超参数调整
在提出的算法中还有几个超参数,包括 σ , μ , c c \sigma, \mu,c_{c} σ,μ,cc 和 c cov c_{\text{cov}} ccov。我们简单设置 c c = 0.01 c_{c}= 0.01 cc=0.01 , c cov = 0.001 c_{\text{cov}}= 0.001 ccov=0.001 。基于 σ \sigma σ 应该随着与 x x x 的距离减小而逐渐缩小的直觉,将 σ σ σ 设定为 0.01 ⋅ D x ~ ∗ , x ) 0.01·D\tilde{x}^{*} ,x) 0.01⋅Dx~∗,x) 。 μ \mu μ 是一个关键的超参数,需要仔细调整。如果 μ \mu μ 太大,搜索点可能违反对抗标准,更新成功率低。另一方面,如果 μ \mu μ 太小,尽管成功率很高,但我们在最小化 x ~ ∗ \tilde{x}^{*} x~∗ 和 x x x 之间的距离方面进展甚微。因此,我们采用 1 5 \dfrac 1 5 51 成功规则 [21] ,这是进化策略中超参数控制的传统方法,更新 μ \mu μ 为 μ = μ × exp ( P success − 1 5 ) \mu=\mu \times \exp(P_{\text{success}-\cfrac 1 5}) μ=μ×exp(Psuccess−51),其中 P success P_{\text{success}} Psuccess 是过去几次试验的成功率。
4. Experiments
在这一部分,我们给出了实验结果,以证明所提出的进化攻击方法的有效性。我们综合评估了几种最先进的人脸识别模型在基于决策的黑盒攻击场景下的鲁棒性。我们进一步将提出的方法应用于攻击一个真实世界的人脸识别系统,以证明其实用性。
4.1. Experimental Settings
❑ ❑ ❑ 目标模型
我们研究了三种最先进的人脸识别模型,包括SphereFace[16],CosFace [32]和ArcFace [5]。在测试中,每个图像的特征表示首先由这些模型提取。然后,计算不同图像的特征表示之间的余弦相似度。最后,我们使用阈值策略和最近邻分类器分别进行人脸验证和识别。
❑ ❑ ❑ 数据集
我们在Labeled Face in the Wild(LFW) [12]和MegaFace 15]数据集上进行实验。对于人脸验证,在每个数据集中,我们选择500对人脸图像来躲避攻击,其中每对代表相同的身份。并且,我们选择另外 500 500 500 对人脸图像进行模拟攻击,其中每对图像来自不同的身份。对于人脸识别,在每个数据集中,我们选择 500 500 500 个不同身份的 500 500 500 幅图像组成一个图库集,对应500幅相同身份的图像组成一个探测集。我们对探测集中的图像执行躲避和模拟攻击。对于模拟攻击,目标身份是随机选择的。输入图像大小(即输入空间的维数n)为 112 × 112 × 3 112×112×3 112×112×3 。三种人脸识别模型均能正确识别所选图像。
❑ ❑ ❑ 对比方法
我们将进化攻击方法的性能与所有现有的基于决策的黑盒攻击方法进行了比较,包括边界攻击方法[1]、基于优化的方法[4]和NES在仅标记设置(NES-LO)中的扩展[14]。
❑ ❑ ❑ 评估指标
对于所有方法,生成的对抗性例子保证是对抗性的。因此,我们用均方误差(MSE)来衡量敌对图像和原始图像之间的失真,以评估不同方法的性能。我们将所有实验中每个图像的最大查询次数设置为 100 , 000 100,000 100,000。由于空间限制,我们将MegaFace数据集的结果留在附录B中。两个数据集的结果是一致的。我们的方法一般适用于人脸识别以外的情况。我们在附录C中进一步介绍了ImageNet数据集的结果。
4.2. Experimental Results
我们在表 1 中报告了不同人脸验证方法的相应失真值,而在表2中报告了人脸识别的失真值。在图4中展示了躲避攻击和假冒攻击的两个可视化示例。
❑ ❑ ❑ 对比攻击实验
选取了几种最新的基于决策的黑盒攻击算法,包括Boundary [8], Optimization [9] 和 NES-LO [10]。虽然这几种方法是为攻击一般图像分类模型而设计的,但是在替换约束条件以后也可以对人脸识别模型进行攻击。我们对当前最流行的三种人脸识别模型上进行了攻击,包括 SphereFace [11], CosFace [12] 和 ArcFace [1]。

表 1. 人脸验证结果。 我们报告了基于 LFW 数据集,在给定 1,000、5,000、10,000 和 100,000 次查询的情况下,针对 SphereFace、CosFace 和 ArcFace 的不同方法生成的对抗性图像的平均失真 (MSE)。
在相同查询次数下,进化攻击算法所得到的对抗噪声明显小于其他对方方法的噪声。

表 2 . 人脸识别的结果。基于LFW数据集,我们报告了SphereFace、CosFace和ArcFace的不同方法生成的对抗图像的平均失真( M S E MSE MSE),给出了 1 , 000 1,000 1,000、 5 , 000 5,000 5,000、 10 , 000 10,000 10,000 和 100 , 000 100,000 100,000 次查询。
在相同查询次数下,进化攻击算法所得到的对抗噪声明显小于其他对方方法的噪声。

图2. 人脸验证的结果。我们展示了基于 LFW 数据集的不同攻击方法为 sphereface、CosFace 和 arcface 生成的对抗图像在查询次数上的平均失真( M S E MSE MSE)曲线。
噪声水平随着查询次数的下降曲线,显然进化方法的下降曲线快于其他对比方法。

图3. 人脸识别的结果。我们展示了基于 LFW 数据集的不同攻击方法为 sphereface、CosFace 和 arcface 生成的对抗图像在查询次数上的平均失真(MSE)曲线。
噪声水平随着查询次数的下降曲线,显然进化方法的下降曲线快于其他对比方法。

图4. 针对 ArcFace [5] 模型的人脸验证的躲避和模仿攻击示例。初始对抗图像是随机噪声或针对每种攻击的目标图像。对抗图像与原始图像之间的失真逐渐减小。我们将显示查询的总数和每个点的均方误差。
随机攻击次数的增加,对抗噪声越来越小,直至人眼无法察觉。图下方的数字代表其包含的对抗噪声的 ℓ 2 \ell_2 ℓ2 范数。
4.3. Ablation Study
我们在本节中进行消融研究,以验证建议方法中每个组件的有效性。我们在LFW数据集上进行了基于人脸验证的实验。特别地,我们分别研究了协方差矩阵自适应、随机坐标选择和降维的影响。
协方差矩阵自适应(CMA)。 为了检验CMA的有用性,我们将CMA与基线方法进行比较,协方差矩阵设置为 I n \boldsymbol {\text{I}}_n In 而不更新。在这一部分中,我们不包括随机坐标选择或降维,仅用于检查CMA的效果。我们在表3的前两行显示了给定 10 , 000 10,000 10,000 个查询的平均失真结果。CMA比基线方法改善了结果。

表3. 四种情况下进化方法的比较:无CMA或SCS;有CMA,无SCS;有CMA和SCS,其中选择概率与C中的元素成正比;与CMA和SCS,其中选择概率设置相等。我们报告了针对人脸验证的躲避/模仿攻击给出的 10 , 000 10,000 10,000 个查询的平均失真( M S E MSE MSE)。
随机坐标选择(SCS)。 我们研究SCS的两个方面。首先是SCS是否有用。第二个问题是我们是否应该选择概率与协方差矩阵C中的对角元素成比例的坐标。我们进一步用SCS进行实验,其中我们将SCS的性能与C或in中的每个对角元素成比例的每个坐标的选择概率(每个坐标的概率相等)进行比较。通过比较表3的2-4行,可以看出SCS比等概率采样更有利于获得更好的结果,采样坐标与概率成正比。
降维。 最后我们研究了降维的影响。我们将搜索空间的维数 m m m 设置为 15 × 15 × 3 15×15×3 15×15×3、 30 × 30 × 3 30×30×3 30×30×3、 45 × 45 × 3 45×45×3 45×45×3、 60 × 60 × 3 60×60×3 60×60×3 和 112 × 112 × 3 112×112×3 112×112×3 。我们对每 m m m 个球面、共面和弧面进行闪避和模拟攻击,并比较图5中的结果。可以看出,进化方法在更低维的搜索空间中收敛更快。然而,如果搜索空间的维数太小(例如, 15 × 15 × 3 15 × 15 × 3 15×15×3),则攻击会导致相对较大的失真。因此,在上述实验中,我们选择了 45 × 45 × 3 45×45×3 45×45×3 的介质尺寸。

图5。我们展示了由进化方法生成的对抗图像的平均失真(MSE)曲线在不同的搜索空间维度上的查询数量。我们对SphereFace, CosFace和ArcFace的人脸验证执行躲避和模仿攻击。
4.4. Attacks on a Real-World Application
我们将进化攻击方法应用于腾讯AI开放平台中的人脸验证API。这个人脸验证API允许用户上传两张人脸图像,并输出它们的相似度得分。我们将阈值设置为90,即如果相似度得分大于90,则预测两幅图像是相同的身份;如果不是,他们被预测为不同的身份。
我们从LFW数据集中选择10对图像来执行模拟攻击。每对的原始两张人脸图像来自不同的身份。我们为其中一个图像生成一个扰动,并使应用编程接口将敌对图像识别为与另一个图像相同的身份。我们将查询的最大数量设置为10,000。我们使用提出的进化方法攻击人脸验证应用编程接口,并将结果与边界[1]和优化[4]进行比较。我们不提供NES-LO [14]的结果,因为它在10,000次查询中无法生成对抗性图像。我们在表4中显示了敌对图像和原始图像之间的平均失真。我们的方法仍然获得比其他基线方法更小的失真。我们还在图6中显示了两个例子。可以看出,我们的方法生成的对抗性图像在视觉上更接近原始图像,而其他方法生成的图像失真较大,使其与原始图像有所区别。
进化算法可以很轻松地人脸比对系统;在同样查询次数下,进化算法得到的噪声图像,比对比方法得到的噪声图像,更加接近于目标图像,即噪声水平更小。

表4. 模拟攻击的结果对真实世界的人脸验证API。本文报告了不同攻击方法对所选 10 10 10 对图像的平均失真率。

图6. 对真实世界人脸验证API的模拟攻击的例子。我们展示了原始图像对以及由每种方法产生的对抗图像。
5. Conclusion
在本文中,我们提出了一种进化攻击算法,用于在基于决策的黑盒环境中生成对抗实例。我们的方法通过对搜索方向的局部几何形状进行建模,同时降低搜索空间的维数,从而提高了效率。我们应用提出的方法综合研究了几种先进的人脸识别模型的鲁棒性,并与其他方法进行了比较。大量实验证明了该方法的有效性。我们表明,现有的人脸识别模型极易受到黑盒方式的攻击,这为开发更鲁棒的人脸识别模型提出了安全问题。最后,利用该方法攻击了一个真实世界的人脸识别系统,验证了其实用性。
References
0x02 论文模型代码实现
待更…
0x03 预备知识
0x03.1 协方差矩阵[2, 3, 4]
0x03.1.1 方差与协方差
方差 是用来度量单个随机变量的离散程度。
方差的计算公式为:
σ x 2 = 1 n − 1 ∑ i = 1 n ( x i − x ˉ ) 2 \sigma_{x}^{2}=\frac{1}{n-1} \sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2} σx2=n−11i=1∑n(xi−xˉ)2
其中, n n n 表示样本量, x ˉ \bar x xˉ 表示观测样本的均值, σ x 2 \sigma^2_x σx2 或者 var ( x ) \text{var}(x) var(x) 表示随机变量 x x x 的方差。
方差只能用于解释平行于特征空间轴方向的数据传播。考虑如图一所示的二维特征空间:

对于给定的这个数据,我们可以计算出在 x x x 方向上的方差 σ ( x , x ) \sigma(x,x) σ(x,x) 与 y y y 方向上的方差 σ ( y , y ) \sigma(y,y) σ(y,y) ,但是我们仅通过方差分别得到数据的水平传播与垂直传播并不能清晰地解释图中非常明显的对角线关系。通过观察图2可以很明显地发现,如果一个数据点的 x x x 值增加,那么 y y y 值也会随之增加,产生了明显的正相关性。这种两个随机变量之间的相关性可以通过拓展方差的概念得到的数据之间的“协方差”表示:
协方差 是用来刻画 两个随机变量 的 相似程度,换句话说,协方差是对两个随机变量联合分布线性相关程度的一种度量。
协方差的计算公式为:
σ ( x , y ) = E [ ( x − E ( x ) ) ( y − E ( y ) ) ] = 1 n − 1 ∑ i = 1 n ( x i − x ˉ ) ( y i − y ˉ ) \begin{aligned}\sigma(x, y)&=\mathbb{E}[(x-\mathbb E(x))(y-\mathbb{E}(y))]\\& =\frac{1}{n-1} \sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)\left(y_{i}-\bar{y}\right)\end{aligned} σ(x,y)=E[(x−E(x))(y−E(y))]=n−11i=1∑n(xi−xˉ)(yi−yˉ)
其中, x ˉ , y ˉ \bar x,\bar y xˉ,yˉ 分别表示两个随机变量所对应的观测样本均值。 σ ( x , y ) \sigma(x,y) σ(x,y) 或者 cov ( x , y ) \text{cov}(x, y) cov(x,y) 表示随机变量 x , y x,y x,y 之间的协方差。
我们可以发现,方差 σ x 2 \sigma^2_x σx2 可以看做是随机变量 x x x 关于其本身的协方差 σ ( x , x ) \sigma(x, x) σ(x,x),即:
σ x 2 = 1 N − 1 ∑ i = 1 N ( x i − μ ) 2 = E [ ( x − E ( x ) ) ( x − E ( x ) ) ] = σ ( x , x ) \begin{aligned}\sigma_{x}^{2} &=\frac{1}{N-1} \sum_{i=1}^{N}\left(x_{i}-\mu\right)^{2} \\&=\mathbb{E}[(x-\mathbb{E}(x))(x-\mathbb{E}(x))] \\&=\sigma(x, x)\end{aligned} σx2=N−11i=1∑N(xi−μ)2=E[(x−E(x))(x−E(x))]=σ(x,x)
两个随机变量越线性相关,协方差越大, 两个变量完全线性无关,协方差为零。
由于随机变量之间的取值范围不同,两个协方差不具备可比性。
例如给定三个随机变量 x , y , z x,y,z x,y,z,若想要比较 x x x 与 y y