热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

EfficientDecisionbasedBlackboxAdversarialAttacksonFaceRecognition针对人脸识别系统的高效黑盒对抗攻击算法

背景在图1示例中,我们用同样的一个人脸识别模型(Arcface[1])对两幅看起来一模一样的人脸图像进行识别,但是得到了完全不同的两个识别结果。这是为什么呢?原因是右图的人脸区域被

背景

在图 1 示例中,我们用同样的一个人脸识别模型(Arcface [1])对两幅看起来一模一样的人脸图像进行识别,但是得到了完全不同的两个识别结果。这是为什么呢?原因是右图的人脸区域被加上了人眼无法察觉的恶意噪声,专门用于欺骗人脸识别模型。这种现象叫做对抗样本,即针对某种特定的模型(例如图像分类模型 ResNet [2]),在正常样本(例如 2D 图像,3D 点云等)上加入微小的噪声,使得模型原来的结果发生改变。

《Efficient Decision-based Black-box Adversarial Attacks on Face Recognition针对人脸识别系统的高效黑盒对抗攻击算法》
▲ 图1. 对抗样本示例:(左)正常人脸图像;(右)对抗人脸图像。

以上图像来自于视频:https://www.youtube.com/watch?v=d7hZ1VhfygU&t=76s

对抗样本现象揭示了机器学习模型尤其是深度学习模型的安全漏洞,近年来引起了学术界和工业界的广泛关注。研究人员已经开发了针对深度学习模型的诸多对抗攻击算法,最常见的例如 FGSM [3], PGD [4], C&W [5] 等。但是,这些方法都要求获取被攻击模型的全部结构和参数,这种攻击场景被称作白盒攻击。

但是在现实场景下,攻击者是很难获取被攻击模型的参数甚至结构的,只能够获取被攻击模型的输入结果。这种攻击场景被称为黑盒攻击。根据所获取模型输出的类型,又可细分为1)基于分数的黑盒攻击,即能够获取模型输出的后验概率或者分数(例如人脸比对的相似度分数),2)基于决策的黑盒攻击,即只能获取模型输出的离散类别。很显然,离散类别提供的关于模型的信息更少,基于决策的黑盒攻击难度也最大。相对于白盒攻击算法,基于决策的黑盒攻击算法非常少,而且攻击效率不高。

针对这个难题,我们提出了一种新的搜索算法,充分利用了模型决策边界的几何结构和进化算法思想 [6],大大提高了攻击效率。

针对人脸比对模型的攻击问题建模

我们将人脸比对模型表示为,其中;表示参考人脸图像,x 表示目标人脸图像;的作用是判断 x 和 是否为同一个人,如果相同,则返回 1,否则返回 0。

我们的攻击任务是在目标人脸图像 x 的基础上构造一个对抗人脸图像 ,使得其与参考人脸图像 的比对结果发生改变(即),同时使得 与 x 的视觉差异尽量小。该任务可以建模为以下优化问题:

其中,表示两个图像之间的距离度量,这里我们采用 L2 范数。

在人脸比对场景中,根据 x 和 是否为同一个人,上述攻击任务还可以细分为以下两种攻击:

  1. Dodging 攻击:当 x 和 为同一个人的两张不同人脸图像时,即;攻击的目的是使得 被识别为不同于 的人,即。这种攻击可以用于隐私保护,防止自身人脸图像被第三方检索。示例如下方左子图。

  2. Impersonation 攻击:当 x 和 为不同人的人脸图像时,即;攻击的目的是使得 被识别与 是相同的人,即。这种攻击可用于身份伪造,侵入他人账号。示例如下方右子图。
    《Efficient Decision-based Black-box Adversarial Attacks on Face Recognition针对人脸识别系统的高效黑盒对抗攻击算法》

▲ 图2. 人脸比对攻击示例。人脸图像来源于LFW数据集 [7]

优化算法

在上述优化问题中,由于人脸比对模型 f(·,·) 是未知的,我们无法对其进行求导。因此常用的连续优化算法(比如梯度下降法)都不适用。

我们提出了一种基于进化思想的高效搜索算法。我们以图3作为示意图来说明我们算法的主要思想。其中,黑色圆点表示目标图像 x;蓝色曲线表示决策边界(注意,这条曲线实际是不可见的),曲线的上方是不可行域(即),曲线下方是可行域(即);灰色的 × 点表示已经查询过的不可行解,灰色的 ○ 点表示已经查询过的可行解,绿色的圆点表示当前可行解。其基本步骤如下:

  1. 以图 3 左子图为例,为了探索下一个可行解,我们需要进行采样。黑色椭圆表示采样概率分布,其服从高斯分布。该分布的中心点为当前可行解,协方差矩阵是则是根据历史可行解进行估计的,其基本思想是:根据历史探索点,我们可以计算出各个方向的探索成功率;沿着成功率大的方向继续探索,更容易找到下一个可行解。因此,我们根据该分布进行第一步采样,如从绿色圆点出发的第一个橙色箭头,到达初始候选解(第一个橙色圆点)。

  2. 经过第一步采样,我们可能找到下一个可行解,但是并不能保证的下降。因此,我们进行第二步探索,即以初始候选解为出发点,沿着目标图像 x 移动一小步(见第二个橙色箭头),到达第二个候选解(即第二个橙色圆点)。

  3. 随后,我们在对第二个候选解进行查询,判断其是否满足约束:如果满足,则将其作为最新可行解,如图 3 右子图所示,并对采样概率分布(即黑色椭圆)进行更新;如果不满足,则保持当前解不变,重新上述采样过程。

在上述搜索算法中,我们将图像的每个像素当作一个维度。整个搜索空间的维度非常高,这往往意味着搜索效率非常低。为此,我们在搜索中嵌入了两种加速策略:

  1. 随机坐标采样:即每次采样只在部分维度(即部分像素)进行,而不是所有维度。维度的选取以采样概率分布为依据,方差大的维度被选中的概率也更高。

  2. 维度降采样:我们假设对抗噪声在像素坐标系中也是空间平滑的,即相邻像素的对抗噪声相近。因此,我们均匀间隔地选取一部分像素作为我们搜索的子空间;但在子空间中找到一个候选解(即候选对抗噪声)时,我们根据像素的空间坐标进行双线性插值,得到一个全空间的候选解。

上述算法的全部流程总结在图 4 中。

《Efficient Decision-based Black-box Adversarial Attacks on Face Recognition针对人脸识别系统的高效黑盒对抗攻击算法》
▲ 图3. 算法示意图

《Efficient Decision-based Black-box Adversarial Attacks on Face Recognition针对人脸识别系统的高效黑盒对抗攻击算法》
▲ 图4. 基于进化思想的攻击搜索算法

实验结果

实验一:我们首先对 ArcFace 人脸识别模型进行了基于决策的黑盒攻击,其攻击效果如图 5 所示。无论是 Dodging 攻击还是 Impersonation 攻击,随机攻击次数的增加,对抗噪声越来越小,直至人眼无法察觉。每幅图下方的数字代表其包含的对抗噪声的 L2 范数。

▲ 图5. 对ArcFace模型的黑盒攻击结果

实验二:对比攻击实验。我们选取了几种最新的基于决策的黑盒攻击算法,包括Boundary [8], Optimization [9] 和 NES-LO [10]。虽然这几种方法都是为攻击一般图像分类模型而设计的,但是也很容易改造为对人脸识别模型的攻击,即替换约束条件。我们对当前最流行的三种人脸识别模型上进行了攻击,包括 SphereFace [11], CosFace [12] 和 ArcFace [1]。

实验结果如表 1 所示,在相同查询次数下,我们所提出的进化攻击算法所得到的对抗噪声明显小于其他对方方法的噪声。在图 6 中,我们还展示了噪声水平随着查询次数的下降曲线,我们方法的下降曲线明显快于其他对比方法。这些对比结果表明,我们的进化攻击算法的效率远远好于已有黑盒攻击算法。

▲ 图6. 对ArcFace模型的黑盒攻击的噪声下降曲线

实验三:对人脸识别 API 的黑盒攻击实验。很多人工智能公司都提供了人脸识别接口,可以通过访问 API 的形式获取人脸识别结果。我们选择了腾讯 AI 开放平台上的人脸比对接口(https://ai.qq.com/product/face.shtml#compare)进行了测试。该接口可以返回人脸比对的相似度。但是,我们以 90% 为界限,超过则比对成功,即返回 1,否则返回 0。我们只根据查询返回的 0 或者 1 来优化对抗噪声。

实验结果如图 7 和图 8 所示,我们的算法可以轻松欺骗该人脸比对系统;在同样查询次数下,我们算法得到的噪声图像,比对比方法得到的噪声图像,更加接近于目标图像,即噪声水平更小。

▲ 图7.(左)参考图像与正常目标图像的相似度为38%;(右)参考图像与对抗图像(我们的算法经过10000次查询所得)的相似度为89%(注意,在攻击过程中,相似度为90%,但是保存对抗图像后会有微小的精度损失)。

▲ 图8. 对人脸识别API进行黑盒攻击的不同方法对比效果。上述结果都是经过10000次查询得到的。

总结与思考

本工作的意义,不仅仅在于第一次成功地以完全黑盒地方式实现了对人脸识别系统的攻击,更是为当前十分火热的人脸识别敲响了警钟。考虑到人脸识别系统的广泛应用场景,比如门禁,海关,支付等,我们应该对人脸识别系统的安全漏洞更加重视。我们不仅要尽可能多地探测人脸识别系统的漏洞,更要及时找到弥补漏洞的方案,不断提高人脸识别系统的安全性,使得人脸识别的应用更加安全可靠。

参考文献

[1] J. Deng, J. Guo, N. Xue, and S. Zafeiriou. “Arcface: Additive angular margin loss for deep face recognition.” In CVPR, 2019.
[2] K. He, X. Zhang, S. Ren, and J. Sun, Deep residual learning for image recognition. In CVPR, 2016.
[3] Goodfellow, I. J., Shlens, J., & Szegedy, C. (2014). Explaining and harnessing adversarial examples. arXiv preprint arXiv:1412.6572.
[4] Madry, A., Makelov, A., Schmidt, L., Tsipras, D., & Vladu, A. (2017). Towards deep learning models resistant to adversarial attacks. arXiv preprint arXiv:1706.06083.
[5] Carlini, N., & Wagner, D. (2017, May). Towards evaluating the robustness of neural networks. In 2017 IEEE Symposium on Security and Privacy (SP) (pp. 39-57).
[6] C. Igel, T. Suttorp, and N. Hansen. A computational efficient covariance matrix update and a (1+ 1)-cma for evolution strategies. In Proceedings of the 8th annual conference on Genetic and evolutionary computation, pages 453–460. ACM, 2006.
[7] G. B. Huang, M. Mattar, T. Berg, and E. Learned-Miller. Labeled faces in the wild: A database for studying face recognition in unconstrained environments. In Workshop on faces in ’Real-Life’ Images: detection, alignment, and recognition, 2008.
[8] W. Brendel, J. Rauber, and M. Bethge. Decision-based adversarial attacks: Reliable attacks against black-box machine learning models. In ICLR, 2018
[9] M. Cheng, T. Le, P.-Y. Chen, J. Yi, H. Zhang, and C.-J. Hsieh. Query-efficient hard-label black-box attack: An optimization-based approach. arXiv preprint arXiv:1807.04457, 2018
[10] Ilyas, A., Engstrom, L., Athalye, A. and Lin, J., 2018. Black-box adversarial attacks with limited queries and information. In ICML, 2018
[11] W. Liu, Y. Wen, Z. Yu, M. Li, B. Raj, and L. Song. Sphereface: Deep hypersphere embedding for face recognition. In CVPR, 2017
[12] H. Wang, Y. Wang, Z. Zhou, X. Ji, Z. Li, D. Gong, J. Zhou, andW. Liu. Cosface: Large margin cosine loss for deep face recognition. In CVPR, 2018


推荐阅读
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 本文介绍如何使用OpenCV和线性支持向量机(SVM)模型来开发一个简单的人脸识别系统,特别关注在只有一个用户数据集时的处理方法。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • poj 3352 Road Construction ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • 独家解析:深度学习泛化理论的破解之道与应用前景
    本文深入探讨了深度学习泛化理论的关键问题,通过分析现有研究和实践经验,揭示了泛化性能背后的核心机制。文章详细解析了泛化能力的影响因素,并提出了改进模型泛化性能的有效策略。此外,还展望了这些理论在实际应用中的广阔前景,为未来的研究和开发提供了宝贵的参考。 ... [详细]
  • 如何在C#中配置组合框的背景颜色? ... [详细]
  • 技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告
    技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告 ... [详细]
  • 机器学习算法:SVM(支持向量机)
    SVM算法(SupportVectorMachine,支持向量机)的核心思想有2点:1、如果数据线性可分,那么基于最大间隔的方式来确定超平面,以确保全局最优, ... [详细]
  • Ihavetwomethodsofgeneratingmdistinctrandomnumbersintherange[0..n-1]我有两种方法在范围[0.n-1]中生 ... [详细]
  • 本文将详细介绍如何在Webpack项目中安装和使用ECharts,包括全量引入和按需引入的方法,并提供一个柱状图的示例。 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 本文详细介绍了批处理技术的基本概念及其在实际应用中的重要性。首先,对简单的批处理内部命令进行了概述,重点讲解了Echo命令的功能,包括如何打开或关闭回显功能以及显示消息。如果没有指定任何参数,Echo命令会显示当前的回显设置。此外,文章还探讨了批处理技术在自动化任务执行、系统管理等领域的广泛应用,为读者提供了丰富的实践案例和技术指导。 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
author-avatar
手机用户2702933093
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有