• Efficient Decision-based Black-box Adversarial Attacks on Face Recognition


    Efficient Decision-based Black-box Adversarial Attacks on Face Recognition
    基于决策的人脸识别黑箱对抗攻击算法

    Abstract

    近年来,由于深度卷积神经网络(CNN)的巨大改进,人脸识别取得了显着进展。然而,深度 CNN 容易受到对抗性示例的影响,这可能会在具有安全敏感目的的现实世界人脸识别应用程序中造成致命的后果。对抗性攻击被广泛研究,因为它们可以在部署之前识别模型的漏洞。在本文中,我们评估了最先进的人脸识别模型在基于决策的黑盒攻击设置中的鲁棒性,其中攻击者无法访问模型参数和梯度,而只能获取硬标签通过向目标模型发送查询来进行预测。这种攻击设置在现实世界的人脸识别系统中更实用。为了提高先前方法的效率,我们提出了一种进化攻击算法,该算法可以 对搜索方向的局部几何形状进行建模并降低搜索空间的维度。 大量实验证明了所提出方法的有效性,该方法以较少的查询对输入人脸图像产生最小扰动。我们还应用所提出的方法成功地攻击了现实世界的人脸识别系统。

    1. Introduction

    深度卷积神经网络(CNNs)[26,29,11]的最新进展在广泛的计算机视觉任务中带来了显著的性能改进。人脸识别作为最重要的计算机视觉任务之一,深度CNNs极大地促进了人脸识别[31,28,23,33,16,32,5]。人脸识别通常有两个子任务:人脸验证和人脸识别[12,15]。前者区分一对人脸图像是否代表同一身份,后者则将图像分类为身份。最先进的人脸识别模型通过使用深度cnn提取具有最小类内方差和最大类间方差的人脸特征来实现这两个任务。由于这些模型的优异性能,人脸识别在金融/支付、公共访问、犯罪识别等众多应用中被广泛应用于身份认证。
    尽管在各种应用中都取得了巨大的成功,但众所周知,深度cnn在对抗实例中很容易受到攻击[30,9,19,6]。通过添加小扰动,这些恶意生成的对抗例子通常与人类观察者的合法例子难以区分。但它们可以使深度模型产生错误的预测。基于深度cnn的人脸识别系统也显示了它们的脆弱性,以对抗这样的例子。例如,当佩戴眼镜时,对抗性扰动可以使攻击者逃避被识别或冒充另一个人[24,25]。人脸识别系统在现实应用中的不安全性,特别是那些具有敏感目的的应用,可能会导致严重的后果和安全问题。
    为了评估人脸识别系统在现实应用中的鲁棒性,对抗性攻击可以作为一个重要的替代手段,因为它们可以识别这些系统的漏洞[2],并有助于提高鲁棒性[9,18]。而现有的针对人脸识别的攻击方法[24,25]主要是基于白盒场景,攻击者知道被攻击系统的内部结构和参数。因此,利用基于梯度的方法可以直接优化攻击目标函数。这种设置在实际情况下显然是不切实际的,因为攻击者无法访问模型细节。相反,我们将重点放在一个更现实、更通用的基于决策的黑箱设置[1]上,在这个设置中,除了攻击者只能查询目标模型并获得相应的硬标签预测之外,没有任何模型信息被暴露。攻击的目标是通过有限的查询生成最小扰动的对抗性示例。这种攻击场景更具挑战性,因为不能直接计算梯度,也没有提供预测的概率。另一方面,它更加现实和重要,因为大多数现实世界的人脸识别系统是黑箱的,只提供硬标签输出。据我们所知,这是首次尝试在这种情况下对人脸识别进行对抗性攻击。
    已经提出了几种方法[1,14,4]来执行基于决策的黑盒攻击。然而,它们缺乏效率,因为它们通常需要大量的查询才能收敛,或者在有限的查询预算下获得相对较大的扰动。因此,我们考虑如何有效地为基于决策的黑箱攻击生成对抗示例,通过对每个样本引入更小的扰动和更少的查询。
    为了解决上述问题,我们提出了一种 进化攻击方法 ,在基于决策的黑盒环境下进行查询高效的对抗攻击。在给定攻击目标函数的情况下,该方法仅通过查询就能以黑盒方式进行优化。该方法通过对其局部几何形状的建模,可以找到更好的搜索方向。通过 降低搜索空间的维数 ,进一步提高了效率。我们应用所提出的方法综合研究了几种最先进的人脸识别模型,包括SphereFace[16]、CosFace[32]和ArcFace[5]在基于决策的黑箱场景下的鲁棒性。在最流行的公共领域的人脸识别数据集上进行的大量实验,如标签脸在野外(LFW)[12]和MegaFace挑战[15],证明了所提方法的有效性。我们进一步应用我们的方法来攻击一个真实的人脸识别系统,以显示其实用性。综上所述,我们的主要贡献是:

    • 我们提出了一种基于决策的黑盒场景下的进化攻击方法,该方法可以模拟搜索方向的局部几何形状,同时降低搜索空间的维数。进化攻击方法普遍适用于任何图像识别任务,并显著提高了现有方法的效率。
    • 我们通过基于决策的黑箱攻击,在各种环境下彻底评估了几种先进的人脸识别模型的鲁棒性。我们在此背景下演示了这些人脸模型的脆弱性。
    • 通过成功攻击现实世界的人脸识别系统,我们展示了所提方法的实用性。

    2. 相关工作

    深度人脸识别。 DeepFace[31]和DeepID[28]将人脸识别作为一个多类分类问题,使用深度cnn在softmax loss的监督下学习特征。提出了三联体损失[23]和中心损失[33]来增加类间特征空间的欧氏裕度。在SphereFace[16]中提出了角软最大损失来学习角判别特征。CosFace[32]使用大余弦损耗来最大化余弦余量。在ArcFace[5]中提出了加性角边缘损失来学习高分辨特征。
    对人脸识别的对抗性攻击。 深度cnn非常容易受到对抗实例的攻击[30,9,19]。人脸识别也显示出了攻击的脆弱性。在[24]中,扰动被限制在眼镜区域,并由基于梯度的方法产生,这欺骗了人脸识别系统,甚至在物理世界中。生成网络[25]也可以生成对抗性眼镜。然而,这些方法依赖于人脸识别模型的白盒操作,这在现实应用中是不现实的。相反,我们专注于评估基于决策的黑箱攻击设置中的人脸识别模型的鲁棒性。
    黑盒的攻击。 黑箱攻击可以分为基于转移的攻击、基于得分的攻击和基于决策的攻击。基于转移的攻击为白盒模型生成对抗例,并基于可转移性攻击黑盒模型[17,6]。在基于分数的攻击中,预测概率由模型给出。有几种方法依赖于近似梯度来生成对抗例[3,14]。在基于决策的攻击中,我们只能获得硬标签的预测。边界攻击方法基于决策边界[1]上的随机游走。基于优化的方法[4]将该问题表述为一个连续优化问题,并估计优化的梯度。但是,它需要用二分搜索的方法沿一个方向计算到决策边界的距离。在[14]中,预测概率由硬标签预测估计。然后,采用自然进化策略(NES)使目标类概率最大化或使真实类概率最小化。这些方法通常需要大量的查询来生成一个具有最小扰动的对抗性示例,或者收敛到一个具有少量查询的大扰动。

    3. 方法

    在本节中,我们首先介绍针对人脸识别模型的基于决策的黑箱攻击设置,然后详细介绍所提出的进化攻击方法。

    3.1 攻击设置

    设f(x): X→Y (x⊂Rn)表示预测输入人脸图像标签的人脸识别模型。对于人脸验证,模型依赖另一个人脸图像来识别这对图像是否属于同一个身份,并输出一个二进制标签Y ={0,1}。对于人脸识别,模型f(x)将输入图像x与一组人脸图像库进行比较,然后将x分类为特定的身份。因此可以将其看作是一个多类分类任务,其中Y ={1,2,…, K}, K是单位数。虽然人脸识别模型f(x)使用额外的一张人脸图像或一组人脸图像来识别x,但为了简单起见,我们没有显式描述f(x)对比较图像的依赖性。
    给定一个真实的人脸图像x,攻击的目标是在x的附近生成一个敌对的人脸图像x*,但被模型错误分类。它可以通过求解一个约束优化问题得到
    在这里插入图片描述
    其中D(·,·)是距离度量,C(·)是对抗准则,满足攻击要求取1,不满足则取0。我们用L2距离作为d,将式(1)中的约束问题等价地重新表述为下面的无约束优化问题
    在这里插入图片描述
    如果a为真,δ(a) = 0,否则δ(a) = +∞。通过优化Eq.(2),我们可以获得具有最小摄动的图像x*,根据该准则,它也是对抗性的。注意,在上述目标函数中,C不能定义为交叉熵损耗等连续准则,因为在该问题中,模型f(x)只给出离散的硬标签输出。特别地,我们根据以下两种类型的攻击指定C。
    躲避攻击对应于生成识别错误或未识别的对抗性图像。躲避攻击可以用来保护个人隐私免受过度监视。对于人脸验证,给定一对属于相同身份的人脸图像,攻击者试图修改其中一张图像,并使模型识别出它们不是相同的身份。所以判据是C(f(x*)) = I(f(x*) = 0),其中I是指示函数。对于人脸识别,攻击者生成一个对抗性的人脸图像,目的是将其识别为任何其他身份。判据为C(f(x*)) = I(f(x*) ?= y),其中y是实像x的真恒等式。
    模仿攻击的工作原理是寻找识别为特定身份的对抗性图像,可以用来逃避面部认证系统。对于人脸验证,攻击者试图找到一个对抗图像,它被识别为另一个图像的相同身份,而原始图像不是来自同一身份。判据为C(f(x*)) = I(f(x*) = 1)。对于人脸识别,生成的对抗性图像需要被分类为特定的身份y*,所以C(f(x*)) = I(f(x*) = y*)。

    3.2 进化攻击

    由于我们无法获取f(x)的配置和参数,只能发送查询来探测模型,因此我们采用黑盒优化技术来最小化Eq.(2)中的目标函数。梯度估计方法[20,8,7]通过有限差分逼近目标函数的梯度,并通过梯度下降更新解,这是基于分数的黑盒攻击中常用的方法,当预测概率由模型[3,14]给出时。然而,在硬标签输出的情况下,攻击目标函数是不连续的,输出对小的输入扰动不敏感。因此,梯度估计方法不能直接使用。一些方法[4,14]成功地将式(2)中的不连续优化问题重新表述为一些连续优化问题,并使用梯度估计方法进行优化。但需要计算点到决策边界的距离或通过硬标签输出估计预测概率,实验证明这种方法效率较低。因此,我们考虑如何直接有效地优化式(2)。
    在本文中,我们提出了一种新的进化攻击方法来解决黑盒优化问题。我们的方法是基于一个简单有效的协方差矩阵适应进化策略(CMA-ES)的变体[10],即(1+1)-CMA-ES [13]。 在(1+1)-CMA-ES的每次更新迭代中,通过添加随机噪声,从父解(当前解)中生成一个新的子解(候选解),并对这两个解的目标进行评估,选择较好的解进行下一次迭代。该方法可用于求解黑箱优化问题。 然而,直接应用(1+1)-CMA-ES来优化Eq.(2)是低效的,因为x*的维数太高。考虑到基于决策的黑箱攻击对人脸图像的查询限制,原来的(1+1)-CMA-ES可能是不可用的。为了加快算法的速度,我们设计了一个合适的分布来采样每次迭代的随机噪声,它可以模拟搜索方向的局部几何形状。针对该问题的特点,提出了几种降低搜索空间维数的方法。
    总体的进化攻击算法在算法1中概述。我们在m < n的低维空间Rm中执行搜索,而不是原来的n维输入空间。在每次迭代中,我们首先从n (0, σ2C)中采样一个随机向量z,使z∈Rm,其中C是一个对角协方差矩阵,以建模搜索方向的局部几何。然后我们随机选择k个坐标进行搜索,假设只有一小部分像素对找到对抗图像是重要的。我们通过将z的其他坐标设为0 来保持z的k个坐标的值。我们通过双线性插值将z提升到输入空间,得到˜z∈Rn我们进一步向 ˜z添加一个偏置,以最小化对抗图像和原始图像之间的距离。 我们最终测试是否得到了更好的解决方案。如果我们确实找到了一个更好的解决方案,我们就跳到它,并更新协方差矩阵。下面,我们将对算法中的每一步进行详细的描述。
    在这里插入图片描述

    1. 初始化
    2. 开始循环
    3. z表示对数据的扰动,产生扰动,其中 C表示用于建模搜索方向的局部几何特征的协方差矩阵;
    4. 选择 k个坐标(即像素点),其中选择它们某个坐标的概率与 C 中的每个对角元素大小成正比;
    5. 其他的像素点都置为 0​;
    6. 通过双线性插值法将 z 扩充为 Rn 的向量;
    7. 增加一个偏置使得原图像与对抗样本的 ℓ2 范数(距离评价)变小,其中 μ是一个超参数;
    8. 判断是否得到一个更好的解,如果是就进行第 9 步;
    9. 更新最优解,并且更新协方差矩阵;

    3.2.1 初始化

    在算法1中, ˜x* 应该首先初始化(在步骤1中)。如果初始的 ˜x* 不满足对抗条件,则L( ˜x*)等于+∞。对于后续迭代,由于深度CNN对随机噪声[30]一般具有鲁棒性,因此添加随机向量很少会使搜索点对抗性,因此损失函数将保持为+∞。因此,我们用一个已经满足对抗标准的样本来初始化 ˜x*。接下来的更新也将保持 ˜x* 的对抗性,同时最小化 ˜x* 和x之间的距离。为了躲避攻击,可以简单地将初始 ˜x* 设置为一个随机向量。对于模仿攻击,我们使用目标图像作为 ˜x* 的初始点。

    3.2.2 高斯分布平均值

    我们在步骤7中解释了为什么需要在随机向量中添加一个偏差项。假设现在搜索空间的维数与输入空间的维数相同,我们选择所有的坐标进行搜索(即k = m = n),在每次迭代中,从高斯分布中采样一个随机向量z。一般来说,分布应该是无偏的(均值为零),以便更好地在搜索空间中进行探索。但在我们的问题中,从零均值高斯分布中采样随机向量,当n→∞时,更新的概率几乎为零,由定理1给出。
    定理1(附录A证明)假设协方差矩阵C是正定的。设λmax和λmin(> 0)分别为C的最大和最小特征值。然后,我们有
    在这里插入图片描述
    根据定理1,为了一次成功的更新,我们需要从零平均高斯分布中抽取O(n2)个样本,当n很大时,这是低效和昂贵的。这是因为在高维搜索空间,一个随机向量绘制z几乎正交 ˜x* −x , 因此距离D(˜x*+ z, x)会很少地小于D(˜x*, x)。为了解决这个问题,应该从一个偏向的分布中对随机向量z进行采样,以最小化到原始图像x的 ˜x* 的距离。因此,我们在步骤7中添加偏置项μ(x−˜x* )到˜z(与k = m = n时的z相同),其中μ是一个临界超参数,控制朝向原始图像x的强度。我们将在第3.2.6节中指定μ的更新过程。

    3.2.3 协方差矩阵自适应

    协方差矩阵C的自适应可以模拟搜索方向[10]的局部几何形状,适合于求解不可分优化问题。例如,适当设置协方差矩阵可以使生成的随机向量主要沿窄谷方向。在学习所有维度之间的配对依赖关系时,协方差矩阵的存储和计算复杂度至少为O(m2),当m较大时,这是不可接受的。对于黑箱对抗攻击,搜索空间的维数非常大(例如,在我们的实验中m = 45 × 45 × 3)。因此,我们将协方差矩阵放宽为对角矩阵,以便于高效计算。受到[22]的启发,[22]使用CMA-ES的对角协方差矩阵,我们设计了一个更新规则,用于在每次成功的试验后自适应对角协方差矩阵C(在步骤10中)
    在这里插入图片描述
    其中pc∈Rm被称为进化路径,因为它存储了指数衰减的成功搜索方向;对于I = 1,…, m, cii是C的对角元素,(pc)i是pc的第i个元素。cc和ccov是CMA的两个超参数。对这一更新的直观解释是,过去成功的方向上的差异应该被扩大,以用于未来的搜索。

    3.2.4 随机坐标选择

    对于对抗性攻击,添加到图像上的扰动可以非常稀疏,以欺骗深度CNNs[27],这表明只有一小部分坐标(像素)足以找到对抗性图像。如果我们能够识别重要坐标,我们也可以加速黑箱优化。然而,在基于决策的黑盒攻击设置中,这是非常重要的。幸运的是,我们的算法提供了一种寻找有用坐标的自然方法,因为对角协方差矩阵C中的元素代表了过去成功试验的首选坐标,也就是说,较大的cii表示沿着第i个坐标搜索可能会根据过去的经验获得更高的成功率。根据这个,在每次迭代中我们选择k (k <ii成正比(在步骤4-5中)。

    3.2.5 降维

    已经证明,搜索空间的降维对于加速黑盒攻击[3]是有用的。基于此,我们在一个m < n的低维空间Rm中采样随机向量z(在步骤3中)。然后我们采用一个缩放算子将z投影到原始空间Rn(在步骤6中)。注意,我们不改变输入图像的维数,而只是降低搜索空间的维数。具体地说,我们使用双线性插值方法还原到原来的维度空间中。

    3.2.6 超参数调整

    该算法还包含了几个超参数,包括σ、μ、cc和ccov。我们简单地设置cc = 0.01, ccov = 0.001。σ被设置为0.01·D(˜x* , x),这是基于当与x的距离减小时σ应该逐渐缩小的直觉。μ是一个需要仔细调优的关键超参数。如果μ太大,搜索点很可能违反对抗准则,更新成功率很低。另一方面,如果μ太小,我们将很难在最小化˜x* 和x之间的距离方面取得进展,尽管成功率很高。因此,我们采用进化策略中传统的超参数控制方法——1/5成功规则[21]来更新μ as μ = μ·exp(Psuccess−1/5),其中Psuccess为过去多次试验的成功率。

  • 相关阅读:
    最近nvm安装报错的原因找到了——npm原淘宝镜像正式到期!
    Go 里面的 ^ 和 &^
    每日练题(py,c,cpp).6_19,6_20
    聊聊 MySQL 事务二阶段提交
    C++虚函数指针(virtual)
    Android入门第27天-GrdidView控制件和可复用的Adapter
    微信群发消息的正确打开方式,让你的社交更高效!
    Python3 安装 Matplotlib 报错 pip 无法卸载 pillow 解决方案
    pc-签字画板vue-esign的使用
    软考高级系统架构师_计算机组成与结构02_高速缓存_磁盘结构_输入输出技术_总线结构_可靠性_---软考高级系统架构师005
  • 原文地址:https://blog.csdn.net/weixin_45184581/article/details/127882654