Triangle Attack: A Query-efficient Decision-based Adversarial Attack

news2025/1/16 13:56:09

Triangle Attack: A Query-efficient Decision-based Adversarial Attack
三角攻击:一种查询高效的基于决策的对抗性攻击

Abstract

基于决策的攻击对实际应用程序构成了严重的威胁,因为它将目标模型视为一个黑箱,只访问硬预测标签。最近已经做出了很大的努力来减少查询的数量;然而,现有的基于决策的攻击仍然需要数千个查询才能生成高质量的对抗示例。在这项工作中,我们发现一个良性样本,当前和下一个对抗样本可以自然地在子空间中为任何迭代攻击构建一个三角形。基于正弦定律,我们提出了一种新的三角形攻击(TA),利用任何三角形中较长的边总是与较大的角相对的几何信息来优化扰动。然而,直接将这些信息应用于输入图像是无效的,因为它不能彻底探索输入样本在高维空间的邻域。为了解决这个问题,TA优化了低频空间的扰动,由于这种几何性质的普遍性,有效降维。对ImageNet数据集的广泛评估表明,TA在1,000个查询中实现了更高的攻击成功率,并且与现有的基于决策的攻击相比,在各种扰动预算下实现相同的攻击成功率所需的查询数量要少得多。通过如此高的效率,我们进一步验证了TA在现实API,即腾讯云API上的适用性。

1. Introduction

尽管深度神经网络(DNNs)[27,24,25]取得了前所未有的进展,但对抗实例[47]的脆弱性对安全敏感应用构成了严重威胁,例如,人脸识别[42,48,20,30,56,50,15,37,62],自动驾驶[7,19,4,61,40]等。为了在各种现实应用中安全地部署dnn,有必要对对抗实例的内在特性进行深入分析,这启发了大量对抗攻击[36,6,3,11,8,17,5,52]和防御[34,23,64,57,58,53]的研究。现有的攻击可以分为两类:白盒攻击对目标模型有充分的了解(通常利用梯度)[21,6,34,17],而黑盒攻击只能访问模型输出,更适用于现实场景。
黑盒攻击可以通过不同的方式实现。基于转移的攻击[32,17,60,55]利用替代模型上生成的对手直接欺骗目标模型。基于分数的攻击[9,26,2,31]假设攻击者可以访问输出日志,而基于决策(又称硬标签)的攻击[5,11,10,29,35]只能访问预测(top-1)标签。
在黑盒攻击中,基于决策的攻击由于攻击所需的信息最少,更具挑战性和实用性。在基于决策的攻击中,对目标模型的查询数量往往起着重要的作用,因为在实践中,对受害者模型的访问通常受到限制。尽管最近的工作设法将查询总数从数百万减少到数千个请求[5,29,38],但对于大多数实际应用[35]来说,这仍然不够。
现有的基于决策的攻击[5,29,38,35]首先产生一个较大的对抗性扰动,然后通过各种优化方法使扰动最小化,同时保持对抗性特性。
如图1所示,我们发现在第t次迭代时,良性样本x、当前对抗例xadvt和下一个对抗例xadvt+1可以很自然地为任何迭代攻击构建一个三角形。根据正弦定理,在(t +1)次迭代时,对抗例xadvt+1应满足βt+2 αt > π,以保证扰动减小,即δt+1 =∥xadvt+1−x∥p < δt =∥xadvt−x∥p(当βt+2·αt = π时为等腰三角形,即δt+1 = δt)。
在这里插入图片描述
图1:TA任意迭代时的候选三角形示意图。在第t次迭代中,TA在采样子空间中构造一个角αt满足βt + 2αt > π的三角形,寻找一个新的对抗例xadvt+1,并相应地更新αt。注意,与现有的基于决策的攻击不同[5,38,35],TA没有在决策边界上限制xadvt,而是利用几何特性最小化低频空间中的扰动;使TA本身查询效率高

基于上述几何特性,我们提出了一种新颖且查询效率高的基于决策的攻击,称为三角攻击(Triangle attack, TA)。具体来说,在第th次迭代中,我们随机选择一条穿过良性样本x的方向线来确定一个二维子空间,在这个二维子空间中,我们基于当前对抗例xadvt、良性样本x、学习角αt、搜索角βt迭代构建三角形,直到构建的三角形的第三个顶点为对抗顶点。利用几何信息,我们可以在离散余弦变换(Discrete cos Transform, DCT)[1]产生的低频空间中进行TA,有效降维,提高效率。并进一步对αt进行了更新,使其适应于每个构造三角形的扰动优化。与大多数现有的基于决策的攻击不同,它不需要在决策边界上限制xadvt,也不需要在每次迭代时估计梯度,从而使TA查询高效。
我们的主要贡献总结如下:

  • 据我们所知,这是第一个通过几何信息直接优化频率空间的扰动,而不限制对手在决策边界上,从而获得较高的查询效率的工作。
  • 对ImageNet数据集的广泛评估表明,TA在1000个查询中表现出更高的攻击成功率,并且在5个模型上,与现有的SOTA攻击相比,TA只需要更少的查询数量就可以在相同的扰动预算下实现相同的攻击成功率[11,12,8,29,38,35]。
  • TA在腾讯云API上生成了更多的对抗性实例,具有难以察觉的扰动,显示了其工业级的适用性。

3. 方法

在本节中,我们首先提供初步的内容。然后我们介绍了我们的动机和提出的三角攻击(TA)。

3.1 准备工作

给定分类器f,参数为θ,良性样本x∈X, 原始标签y∈Y,其中x表示所有图像,y为输出空间。对抗性攻击找到一个对手xadv∈X来误导目标模型:
在这里插入图片描述
其中,ε是扰动预算。基于决策的攻击通常首先产生一个较大的对抗性扰动δ,然后使扰动最小化,如下所示:
在这里插入图片描述
现有的基于决策的攻击[11,12,29]往往估计梯度来最小化扰动,这是耗时的。近年来,一些研究采用几何性质估计梯度或直接优化摄动。这里我们详细介绍了两种几何启发的基于决策的攻击。
GeoDA[38]认为,在数据点x附近的决策边界可以用一个超平面局部逼近,该超平面通过x附近的边界点xB,其法向量为w。因此,式(1)可以局部线性化:
在这里插入图片描述
这里xB是边界上的一个数据点,可以通过多次查询的二分搜索找到,GeoDA随机抽样几个数据点来估计w,以优化每次迭代的扰动。
Surfree[35]假设边界可以用边界点x+δ周围的超平面局部逼近。在每次迭代中,它用极坐标表示对手,并搜索一个最优θ来更新扰动:
在这里插入图片描述
u是从x到xadvt的单位向量,v是u的正交向量。

3.2 动机

与大多数基于决策的攻击采用梯度估计[11,12,29,38]或在决策边界上随机游走[5,35]不同,我们的目标是利用几何性质优化摄动,而不对梯度估计进行任何查询。在产生一个较大的对抗性扰动后,基于决策的攻击将对抗性样本移动到良性样本附近,即减少对抗性扰动δt,同时在每次迭代中保持对抗性特性。在本研究中,如图1所示,我们发现在第t次迭代时,良性样本x、当前对抗例xadvt和下一个对抗例xadvt+1可以很自然地在子空间中为任何迭代攻击构造一个三角形。
因此,搜索下一个扰动较小的对敌例xadvt+1相当于搜索一个基于x和xadvt的三角形,其中第三个数据点x’是对敌的,且满足||x '−x||p <||xadvt−x||p。这启发我们利用三角形中角和边长之间的关系来搜索一个合适的三角形,以使每次迭代时的扰动最小化。然而,如第4.4节所示,直接在输入图像上应用这种几何属性会导致非常糟糕的性能。由于这种几何性质的普遍性,我们优化了DCT[1]在低频空间产生的摄动,以实现有效的降维,表现出了如第4.4节所示的巨大攻击效率。
此外,由于Brendel等人[5]提出了边界攻击(BoundaryAttack),大多数基于决策的攻击[11,12,8,38,35]遵循的设置是每次迭代的对抗示例都应该在决策边界上。我们认为这样的限制在基于决策的攻击中是不必要的,但会在目标模型上引入太多的查询,从而无法接近边界。因此,我们在本研究中不采用此约束,并在第4.4节验证此论证。

3.3 三角攻击

在这项工作中,我们有以下假设,任何深度神经分类器f都存在对抗例子:
假设1:给定一个良性样本x和一个扰动预算ϵ,存在一个对决策边界的对抗扰动∥δ∥p≤ϵ,该对抗扰动会误导目标分类器f。
这是我们可以找到输入样本x的对抗性例子xadv的一个一般假设,这已经被许多著作验证过[21,6,3,5,54]。如果这个假设不成立,目标模型是理想的鲁棒性的,因此我们无法在摄动预算内找到任何对抗性的例子,这超出了我们的讨论范围。因此,我们遵循现有的基于决策的攻击框架,首先随机生成一个大型对抗性扰动,然后最小化该扰动。为了与之前的工作保持一致,我们使用二分搜索[29,38,35]在决策边界附近生成一个随机摄动,并主要关注扰动优化。
在任意对敌攻击的扰动优化过程的任意连续两次迭代中,即第t次和第(t+1)次迭代,输入样本x、当前对敌示例xadvt和下一个对敌示例xadvt+1可以很自然地在输入空间x的子空间中构造一个三角形。因此,如图1所示,减小摄动以生成xadvt+1,相当于搜索一个适当的三角形,其中三个顶点分别为x、xadvt和xadvt+1
定理1 (sin定理): 假设a, b和c是三角形的边长,α, β和γ是对角,我们有a/sin α = b/sin β = c/sin γ。
由定理1可得图1中三角形的边长与对角的关系:
在这里插入图片描述
为了尽量地减小扰动δt, 第t个三角形应满足该条件
在这里插入图片描述
因此,减小第t次迭代时的扰动可以通过寻找一个由输入样本x、当前对抗样本xadvt和角βt、αt构成的三角形来实现,该三角形满足βt+ 2αt> π且第三顶点为对抗顶点。我们将这样一个三角形表示为候选三角形,将T (x, xadvt, αt, βt, St)表示为第三个顶点,其中St是一个采样子空间。基于此,我们提出了一种新的基于决策的攻击,称为三角形攻击(TA),在每次迭代中搜索候选三角形并相应地调整角度αt
采样频率空间的二维子空间S。输入图像通常位于高维空间中,如ImageNet[27]中的224×224×3,该空间太大,攻击无法有效地探索邻域以最小化对抗扰动。前人的研究[22,29,35]表明,利用不同子空间中的信息可以提高基于决策的攻击效率。例如,QEBA[29]对随机噪声进行采样,在空间变换空间或低频空间中进行梯度估计,但用估计的梯度将输入空间中的扰动最小化。Surfree[35]优化了输入空间子空间中的摄动,该子空间由一个在低频空间中随机采样的单位向量决定。通常,低频空间包含了图像最关键的信息。由于TA在输入空间的性能较差(如第4.4节所示)和几何性质的普遍性(如图2所示),我们在每次迭代时直接优化频率空间的扰动,以实现有效的降维。我们在低频空间(前10%)中随机抽取一条横过良性样本的d维线。来自良性样本x和当前对手xadvt的采样线、方向线可以确定频率空间中唯一的二维子空间S,在该子空间中我们可以构造候选三角形以最小化扰动。通过逆DCT (IDCT)将最终对手转化为输入空间。
在这里插入图片描述
图2:第t次迭代时TA攻击的整个过程示意图。我们在频率空间中构建三角形,以有效地制作对抗示例。注意,这里我们使用DCT来演示,但我们不需要在每次迭代中对x使用它。由于DCT的一对一映射,我们仍然在频率空间中采用x和xadvt,没有模糊性

搜索候选三角形。给定子空间St,候选三角形只依赖于角β,因为α在优化过程中被更新。如图3所示,如果我们搜索一个角β,而没有找到对敌的例子(xadvt+1,1),我们可以进一步构造一个反方向角度相同的对称三角形,以检验与xadvt+1,1具有相同摄动量级但方向不同的数据点xadvt+1,2。对于没有歧义的对称三角形,我们将角表示为−β。注意,在相同的角度α下,较大的角度β会使第三个顶点更接近输入样本x,即较小的扰动。确定子空间St后,我们首先检查角βt,0 = max(π−2α, β’),其中β’ = π/16是一个预先定义的小角。如果T (x, xadvt, αt,-βt,0, St)和T (x, xadvt, αt, - βt,0, St)都不是对抗性的,我们放弃这个子空间,因为它不能带来任何好处。另外,我们采用二分搜索的方法,寻找一个使摄动尽可能小的最佳角度β * * [max(π−2α, β’), min(π−α, π/2)]。这里我们限制了β的上界,因为T (x, xadvt, αt, β, St)将在相反的方向上。X对于β > π/2和π−α保证了一个有效的三角形。
在这里插入图片描述
图3:对称候选三角形(x, xadvt和xadvt+1,2)的说明。当角度β不能导致对抗示例(xadvt+1,1)时,我们将进一步基于线= (x, xadvt)构建对称三角形,以检查数据点xadvt+1,2

调整角度α。直观地说,角度α平衡了扰动的大小和找到对抗性例子的难度:
命题1在β角相同的情况下,α角越小越容易找到对抗性的例子,而α角越大扰动越小。
直观地看,如图4所示,角α越小,扰动越大,但越有可能越过决策边界,更容易搜索对抗性的例子,反之亦然。每次迭代都很难找到最优α,更不用说各种输入图像和目标模型了。因此,我们根据精心制作的对抗示例自适应调整角度α:
在这里插入图片描述
其中xadvt,i+1 = T (x, xadvt, αt,i, βt,i, St)为根据αt,i生成的对抗样例, γ为变化率,λ为常数,τ限制α的上界和下界所产生的对抗性示例。在扰动优化过程中,考虑到失败多于成功,我们采用λ < 1来防止角度下降过快。注意,较大的角度α使它更难找到对抗性的例子。
在这里插入图片描述
图4:α的幅值对TA中候选三角形的影响。对于相同的采样角β,角α越大,扰动越小,但越有可能越过决策边界

但是,如果α角过小,β的边界会降低很多,这也使得T (x, xadvt, αt, βt, St)远离当前对抗例xadvt,降低了找到对抗例的概率。因此,我们添加α的上界,将其限制在一个适当的范围内。
TA在低频空间采样的子空间St中迭代搜索候选三角形,找到对抗性的例子,并相应地更新角度α。整个TA算法总结在算法1中。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/44863.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【计组】指令和运算1--《深入浅出计算机组成原理》(二)

一、计算机指令 1、指令 从软件工程师的角度来讲&#xff0c;CPU就是一个执行各种计算机指令&#xff08;Instruction Code&#xff09;的逻辑.。 这里的计算机指令&#xff0c;也可以叫做机器语言。 不同发CPU支持的机器语言不同&#xff0c;如个人电脑用的是Intel的CPU&a…

同样Java后端开发三年,朋友已经涨薪到了30k,而我才刚到12K。必须承认多背背八股文确实有奇效!

程序猿在世人眼里已经成为高薪、为人忠诚的代名词。 然而&#xff0c;小编要说的是&#xff0c;不是所有的程序员工资都是一样的。 世人所不知的是同为程序猿&#xff0c;薪资的差别还是很大的。 众所周知&#xff0c;目前互联网行业是众多行业中薪资待遇最好的&#xff0c;…

2022年NPDP新版教材知识集锦--【第四章节】(2)

【概念设计阶段】(全部获取文末) 概念描述提供了产品概念的优点和特征的定性描述&#xff0c;其必要性体现在&#xff1a; ①为开发团队的所有成员以及与项目相关的成员提供了清晰性和一致性。 ②是向潜在客户解释产品的重要手段之一。 典型流程&#xff1a; 2.1概念工程 …

python使用websocket服务并在fastAPI中启动websocket服务

依赖 pip install websockets-routes 代码 import asyncio import websockets import websockets_routes from websockets.legacy.server import WebSocketServerProtocol from websockets_routes import RoutedPath# 初始化一个router对象 router websockets_routes.Router()…

Archlinux安装软件的那些事

个人主页&#xff1a;董哥聊技术我是董哥&#xff0c;嵌入式领域新星创作者创作理念&#xff1a;专注分享高质量嵌入式文章&#xff0c;让大家读有所得&#xff01;文章目录1、ArchLinux1.1 ArchLinux原则1.2 软件包管理1.2.1 软件仓库1.2.2 包管理器2、Pacman2.1 pacman介绍2.…

什么是幂等性?四种接口幂等性方案详解!

幂等性在我们的工作中无处不在&#xff0c;无论是支付场景还是下订单等核心场景都会涉及&#xff0c;也是分布式系统最常遇到的问题&#xff0c;除此之外&#xff0c;也是大厂面试的重灾区。 知道了幂等性的重要性&#xff0c;下面我就详细介绍幂等性以及具体的解决方案&#…

SpringBoot中自动配置

第一种&#xff1a; 给容器中的组件加上 ConfigurationProperties注解即可 测试&#xff1a; Component ConfigurationProperties(prefix "mycar") public class Car {private String brand;private Integer price;private Integer seatNum;public Integer getSeat…

币圈已死,绿色积分是全新的赛道吗?

近几年来&#xff0c;移动互联网行业的迅猛发展&#xff0c;快速改变着社会业态。尽管如此&#xff0c;仍有大量企业线上线下处于割裂状态&#xff0c;2020 年一场疫情的突然爆发&#xff0c;并持续到 2022年&#xff0c;对零售行业造成流量崩塌、供应链中断、市场供需下滑等压…

现代 CSS 高阶技巧,完美的波浪进度条效果。

将专注于实现复杂布局&#xff0c;兼容设备差异&#xff0c;制作酷炫动画&#xff0c;制作复杂交互&#xff0c;提升可访问性及构建奇思妙想效果等方面的内容。 在兼顾基础概述的同时&#xff0c;注重对技巧的挖掘&#xff0c;结合实际进行运用&#xff0c;欢迎大家关注。 正…

金属非金属如何去毛刺 机器人浮动去毛刺

毛刺的产生 在金属非金属零件的加工中&#xff0c;由于切削加工过程中塑性变形引起的毛边&#xff0c;或者是铸造、模锻等加工的飞边&#xff0c;或是焊接挤出的残料&#xff0c;这些与所要求的形状、尺寸有所出入&#xff0c;在被加工零件上派生出的多余部分即为毛刺&#xf…

音视频开发之 ALSA实战!

前言&#xff1a; 今天我们来分享一个开源的音频采集代码&#xff0c;现在大部分音频采集都是通过ALSA框架去采集&#xff0c;如果大家把ALSA采集代码学懂&#xff0c;那么大部分的音频采集都可以搞定。这个代码是用ALSA进行音频PCM的采集并保存到本地文件。一、alsa框架的介绍…

C#语言实例源码系列-实现输入框焦点变色和窗体拖拽改变大小

专栏分享点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册 &#x1f449;关于作者 众所周知&#xff0c;人生是一个漫长的流程&#xff0c;不断克服困难&#xff0c;不断反思前进的过程。在这个过程中…

002.组合总和|||——回溯算法

1.题目链接&#xff1a; 216. 组合总和 III 2.解题思路&#xff1a; 2.1.题目要求&#xff1a; 给一个元素数量k和一个元素和n&#xff0c;要求从范围[1,2,3,4,5,6,7,8,9]中返回所有元素数量为k和元素和为n的组合。&#xff08;每个数字只能使用一次&#xff09; 比如输入k…

深度学习快速入门----Pytorch 系列2

注&#xff1a;参考B站‘小土堆’视频教程 视频链接&#xff1a;【PyTorch深度学习快速入门教程&#xff08;绝对通俗易懂&#xff01;&#xff09;【小土堆】 上一篇&#xff1a;深度学习快速入门----Pytorch 1 文章目录八、神经网络--非线性激活九、神经网络--线性层及其他层…

作为IT行业过来人,我有3个重要建议给后辈程序员!

见字如面&#xff0c;我是军哥&#xff01;作为一名 40 岁的 IT 老兵&#xff0c;我在年轻时踩了不少坑&#xff0c;我总结了其中最重要的 3 个并一次性分享给你&#xff0c;文章不长&#xff0c;你一定要看完哈&#xff5e;1、重视基础还不够&#xff0c;还要注重技术广度和深…

第2-4-8章 规则引擎Drools实战(1)-个人所得税计算器

文章目录9. Drools实战9.1 个人所得税计算器9.1.1 名词解释9.1.2 计算规则9.1.2.1 新税制主要有哪些变化&#xff1f;9.1.2.2 资较高人员本次个税较少&#xff0c;可能到年底扣税增加&#xff1f;9.1.2.3 关于年度汇算清缴9.1.2.4 个人所得税预扣率表&#xff08;居民个人工资、…

科教导刊杂志科教导刊杂志社科教导刊编辑部2022年第27期目录

前沿视角《科教导刊》投稿&#xff1a;cn7kantougao163.com 新时代研究生教育质量评价指标体系的框架构建 李军伟;赵永克;杨丹; 1-3 基于现代学徒制的“多主体、双标准、五维度”人才培养质量评价体系构建 汪帆;刘严; 4-6 高教论坛 新工科背景下地方性院校第二课堂…

【云原生】Docker容器服务更新与发现之consul

内容预知 1.consul的相关知识 1.1 什么是注册与发现 1.2 什么是consul 1.3 zookeeper和consul的区别 2. consul 部署 2.1 部署consul服务器 2.2 registrator服务器 3.consul-template 的引入 3.1 consul-template的作用 3.2 consul-template的具体部署运用 &…

微信开发者工具C盘占用大的问题

将User Data 下的文件迁移到其他盘&#xff0c;比如 D盘&#xff0c;E盘&#xff0c;F盘 步骤如下&#xff1a; 1.找到微信开发者工具C盘所在的缓存目录&#xff0c;一般为 C:\Users\ 你的用户名\AppData\Local\微信开发者工具\User Data 将里面的内容全部剪切到其它盘符&…

从鹅厂实例出发!分析Go Channel底层原理

本文是基于Go1.18.1源码的学习笔记。Channel的底层源码从Go1.14到现在的Go1.19之间几乎没有变化&#xff0c;这也是Go最早引入的组件之一&#xff0c;体现了Go并发思想&#xff1a;Do not communicate by sharing memory; instead, share memory by communicating.不要通过共享…