Simple Black-box Adversarial Attacks

news2024/11/25 0:46:57

Abstract

我们提出了一种有趣的简单方法,用于在黑盒环境中构建对抗性图像。 与白盒场景相比,构建黑盒对抗图像对查询预算有额外的限制,而有效的攻击至今仍是一个悬而未决的问题。 仅在连续值置信分数的温和假设下,我们的高效查询算法利用了以下简单的迭代原理: 我们从预定义的正交基中随机采样向量,并将其添加或减去到目标图像中。 尽管简单,但所提出的方法既可以用于无目标攻击,也可以用于有目标攻击,这在两种设置中都带来了前所未有的查询效率。 我们在包括Google Cloud Vision API在内的多个现实环境中演示了我们算法的有效性和效率。 我们认为,我们提出的算法应该作为未来黑盒攻击的强大基线,特别是因为它非常快,而且它的实现需要不到20行PyTorch代码。 

Introduction

随着机器学习系统在众多应用领域中的流行,这些系统在恶意对手面前的安全性成为一个重要的研究领域。 最近的许多研究表明,机器学习模型输出的决策可以通过对输入的细微改变而任意改变。这些对机器学习模型的攻击可以根据对手的功能进行分类。 白盒攻击要求对手完全了解目标模型,而黑盒攻击只需要对可能返回完整或部分信息的目标模型进行查询。 

似乎所有用于自然图像分类的模型都容易受到白盒攻击。这表明自然图像倾向于接近由机器学习分类器学习的决策边界。 尽管经常被误解为神经网络的一种特性,但对抗性示例的脆弱性很可能是在具有大多数数据分布的高维空间中分类器的必然性。如果敌对的例子(几乎)总是存在,那么攻击分类器就变成了在目标图像周围的小范围内的搜索问题。

在白盒场景中,可以通过梯度下降有效地引导搜索。然而,黑匣子威胁模型在许多场景中更适用。 对模型的查询可能会导致大量的时间和金钱成本,因此,对模型进行的黑盒查询的数量是攻击算法效率的重要度量。 代价太高或很容易被查询限制击败的攻击比高效攻击带来的安全风险更小。 迄今为止,尽管最近在这方面做了大量工作,但最著名的黑盒攻击执行的平均查询数量仍然很高。最有效和最复杂的攻击通常仍然需要多达数万或数十万的查询。 一种查询效率高的黑盒攻击方法仍然是一个悬而未决的问题。 

机器学习服务,如Clarifai或Google Cloud Vision,只允许API调用访问模型的预测,因此属于黑盒类。这些服务不发布任何内部细节,如培训数据和模型参数; 然而,他们的预测返回了连续值的置信分数。 在本文中,我们提出了一种简单但高效的黑箱攻击,它使用非常简单的直觉利用这些置信度得分: 如果到决策边界的距离很小,我们就不必过于小心我们朝着它行进的确切方向。 


 具体地说,我们在预先指定的一组正交搜索方向中重复选择一个随机方向,使用置信度分数检查它是否指向或远离决策边界,并通过从图像中添加或减去向量来扰动图像。 每次更新都会使图像进一步远离原始图像并朝向决策边界移动。 

我们对我们的方法的有效性提供了一些理论见解,并评估了各种正交搜索子空间。 与Guo类似,我们观察到将搜索限制在离散余弦变换(DCT)基的低频端是特别有效的查询。 此外,我们通过经验证明,我们的方法实现了与最先进的黑盒攻击算法相似的成功率,但黑盒查询的数量空前少。 由于其简单性,它可以在PyTorch中用不到20行代码1实现。我们认为我们的方法是对抗性图像攻击的一种新的、可能令人惊讶的强大基线,我们称之为简单黑盒攻击(SimBA)。         

Background

对抗性示例的研究涉及机器学习模型对输入中的小变化的鲁棒性。 图像分类的任务被定义为成功地预测人类在图像中看到的内容。 自然地,对图像的微小改变不会影响标签和预测。 我们可以将这种鲁棒性形式化如下: 模型h,输入标签对(x,y)。模型可以正确分类h(x)=y。h被称为关于可感知度量的ρ-鲁棒性d(\cdot ,\cdot ) 当

h(x0) = y \forall {x}' \in {\left \{ {x}' | d({x}', x) \leq \rho \right \} }.

度量d通常近似为L0、L2和L∞ 测量干净输入x和扰动输入{x'}之间的视觉不相似度的距离。本文中除特殊提出,则使用以下作为度量标准  

d(x, {x}' ) = \left | x - x' \right |

因此,几何上,不可察觉的变化区域被定义为半径为ρ的小超球面,以输入图像x为中心。最近,许多研究表明,即使ρ值很小,学习模型也承认非鲁棒性方向???。通过证明对抗性示例在高维空间中是固有的,理论上验证了这一说法。 这些发现激发了寻找对抗方向δ的问题,该方向改变了模型对扰动输入{x'}x  + δ 的决策。

有针对性和无针对性的攻击。对手最简单的成功条件是将模型的原始正确预测更改为任意类,即h(x0)6=y。这被称为无目标攻击。相比之下,目标攻击旨在为某些选定的目标类y0构造x0,使得h(x0)=y0。为了简洁起见,我们将在讨论中重点讨论非目标攻击,但本文中的所有论点也适用于目标攻击。我们在第4节中包含了两种攻击类型的实验结果。 

损失最小化。由于模型输出离散决策,因此首先,寻找对抗性扰动来改变模型的预测是一个离散优化问题。然而,定义替代损失y(·)通常是有用的,它测量模型h将输入分类为y类的确定程度。因此,对抗性扰动问题可以表述为以下最小化模型分类确定性的约束连续优化问题:  

 

当模型h输出与每个类别相关的概率ph(·|x)时,一个常用的对抗性损失是类别y的概率:L_{y}(x') = p_{h}(y|x'),基本上最小化了正确分类的概率。对于针对标签y'的目标攻击,常见的选择是L_{y'}(x') = p_{h}(y'|x'),基本上最大化错误分类为y'类的概率。 

 白盒威胁模型。根据应用领域,攻击者可能对目标模型h有不同程度的了解。在白盒威胁模型下,向对手提供分类器h。在这种情况下,一种强大的攻击策略是对对抗性损失y(·)或其近似值执行梯度下降。为了确保变化保持不可察觉,可以通过提前停止(Goodfellow et al.,2015;Kurakin et al.,2016)或通过将范数直接作为正则化或约束纳入损失优化(Carlini&Wagner,2017b)来控制扰动范数L2。 

黑匣子威胁模型。可以说,对于许多现实世界的设置,白盒假设可能是不现实的。例如,模型h可以作为API公开给公众,只允许对输入进行查询。当攻击机器学习云服务(如Google cloud Vision和Clarifai)时,此类场景很常见。这种黑匣子威胁模型对对手来说更具挑战性,因为梯度信息可能无法用于指导寻找对抗方向δ,并且对模型的每次查询都会产生时间和金钱成本。因此,对手的任务是将黑箱查询的数量最小化到h,同时成功构建一个难以察觉的对抗性扰动。 

 稍微滥用符号,这就产生了一个修改的约束优化问题: 

其中B是优化期间允许的查询数量的一些固定预算。对于查询的迭代方法,预算B限制了算法可能需要的迭代次数,因此要求攻击算法非常快速地收敛到解。 

A Simple Black-box Attack

 我们假设我们有一些图像x,黑箱神经网络h用预测的置信度或输出概率ph(y|x)对h(x)=y进行分类。我们的目标是找到一个小的扰动δ,使得预测h(x+\sigma )\neq y。尽管黑箱设置中没有梯度信息,但我们认为输出概率的存在可以作为指导对抗图像搜索的强大代理。 

算法。我们方法背后的直觉很简单(见算法1中的伪代码):对于任何方向q和某个步长\epsilon,x+\epsilonq或 x-\epsilonq可能会降低ph(y|x)。因此,我们反复选择随机方向q,并将其相加或相减。为了最小化对h(·)的查询数量,我们总是首先尝试添加 \epsilonq、 如果这降低了概率ph(y|x),我们就采取步骤,否则我们尝试- \epsilonq、 此过程平均每次更新需要1.4到1.5个查询(取决于数据集和目标模型)。我们提出的方法——简单黑盒攻击(SimBA)——将目标图像标签对(x,y)、一组正交候选向量Q和步长\epsilon>0作为输入。为简单起见,我们选择q∈ Q均匀随机。为了保证最大的查询效率,我们确保没有两个方向相互抵消并减少进度,或者相互放大并不成比例地增加δ的范数。出于这个原因,我们选择q而不进行替换,并将q中的所有向量限制为正交。如我们稍后所示,这导致了在T更新之后。 SimBA的唯一超参数是正交搜索向量集Q和步长。 

 笛卡尔基础。正交搜索方向集合Q的自然首选是标准基Q=I,这对应于直接在像素空间中执行我们的算法。本质上,每次迭代我们都在增加或减少单个随机选择像素的一种颜色。在此基础上的攻击对应于L0攻击,对手的目标是尽可能少地改变像素。 

离散余弦基。最近的研究发现,低频空间中的随机噪声更有可能是对抗性的(Guo等人,2018)。为了利用这一事实,我们跟随Guo等人(2018),并提出利用离散余弦变换(DCT)。离散余弦变换是一种正交变换,它将2D图像空间Rd×d中的信号映射到对应于余弦波函数大小的频率系数。在下文中,我们将DCT提取的正交频率集称为QDCT。虽然全套方向QDCT包含d×d频率,但我们只保留最低频率方向的一小部分r,以便在低频空间中进行对抗性扰动。 

一般依据。一般来说,我们认为,只要能够有效地对基向量进行采样,我们的攻击就可以用于任何正交基。这对于高分辨率数据集(如ImageNet)尤其具有挑战性,因为每个正交基向量都具有维数d×d。由于采样向量数量的线性内存成本,无法使用迭代采样方法(如Gram-Schmidt过程)。因此,我们选择仅使用标准基向量和DCT基向量来评估我们的攻击,以了解它们的效率和对图像的自然适应性。 

 学习率。给定任意一组搜索方向Q,某些方向可能比其他方向更能降低ph(y|x)。此外,输出概率ph(y|x+\epsilonq)在\epsilon中可能是非单调的。在图1中,对于像素空间和DCT空间中的随机采样搜索方向,我们将概率的相对降低绘制为\epsilon的函数。概率对应于ResNet-50模型对ImageNet验证样本的预测。该图突出了一个启发性的结果:概率ph(y|x±\epsilonq)在\epsilon具有惊人的一致性(跨越随机图像和向量q)!虽然某些方向最终会增加真实等级概率,但这种概率的预期变化是负的,斜率相对较陡。这意味着我们的算法对epsilon的选择不太敏感,迭代将很快降低真正的类概率。该图还表示 DCT空间中的搜索倾向于导致比像素空间更陡峭的下降方向。 正如我们在下一节中所展示的,我们可以在给定epsilon的选择和最大步数T的情况下严格约束扰动的最终L2范数,因此ep的选择主要取决于关于L2的预算考虑。 

 预算考虑。通过利用基Q的正交性,我们可以严格地约束δ的范数。每次迭代都会增加、减去或丢弃一个基向量(如果两个方向都不能减少输出概率)。a_{i}\in \left \{ -\epsilon , 0, \epsilon \right \} 表示在步骤t选择的搜索方向的符号,因此 

 

 

 

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

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

相关文章

2022 计网复习简答题【太原理工大学】

考虑到在此期间,我可能也会发表一些与考试不相关的博文,为了避免大家错过考试相关内容,我特意弄了一个专栏《期末复习汇总》,大家以后可以直接到专栏里面去寻找期末复习资料。这里是计算机网络考试简答题总结,其余题型…

资本+商业模式+中国制造的出海跨境电商,走向世界!(Starday)

近年,伴随着新冠疫情的爆发,海外的社交隔离以及中国面对境外入关者的严格隔离政策都给中国投资者的出海投资踩下了刹车,出国考察及尽调都分外的艰难。但也因为这样的国际局势,跨境电商服务行业在海外疫情的催化下,中国…

PyTorch学习笔记-Non-linear Activations与Linear Layers

1. Non-linear Activations 非线性激活函数官方文档:Non-linear Activations。 有深度学习基础的同学应该知道最常用的非线性激活函数就是 ReLU 和 Sigmoid 函数,多分类问题会在输出层使用 Softmax 函数。这三个函数在 PyTorch 中分别为 nn.ReLU、nn.S…

推特自动发帖,快速提升人气

Twitter一直是所有类型企业和品牌的极其宝贵的营销工具。如果使用得当,它本身就能成为一种高效的营销工具。Twitter与其他社交媒体渠道,在营销策略以及工作方式方面略有不同,在品牌营销方面与利用Twitter做推广,就意味着随着您的动…

NNDL 作业10:第六章课后题(LSTM | GRU)

文章目录习题6-3 当使用公式(6.50)作为循环神经网络得状态更新公式时,分析其可能存在梯度爆炸的原因并给出解决办法.习题6-4 推导LSTM网络中参数的梯度,并分析其避免梯度消失的效果习题6-5 推导GRU网络中参数的梯度,并分析其避免梯度消失的效…

[附源码]Python计算机毕业设计Django餐馆点餐管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

Apple ID 登录

Apple登录可以看做第三方登录的一种,即使用Apple ID登录,前提是你已经有了苹果开发者账号,直接进入主题吧。 添加App IDs 填写Bundle ID 勾选“Sign In with Apple” 创建Key 苹果将使用公钥/私钥对作为OAuth客户端机密,其中客…

【mongodb】重新整理mongodb中的各种操作

目录前言初始化封装基础方法增:向集合内添加一个文档增:向集合内一次添加多条文档删:删除一条文档删:删除多条文档删:清空某个集合的所有文档查:查询符合条件的文档查询某个集合内所有文档:定位…

python>>numpy(第二讲)

章节内容 元素操作 常用的方法 广播 数组形状操作 排序数组 目录 元素操作 一些常用的方法 广播 数组形状操作 数组排序 元素操作 生成元素a np.array([1,2,3,4]) b np.ones(4)1 生成一个原来数组的n倍生成一个所有元素均跟2次方有关的数组一个计算矩阵相乘的函数判断两个…

<Android开发> HAL层集成第三方so库

当我们需要在自己的代码中使用第三方提供的一些接口函数时,我们该如何加入?作者在写这比安文章前遇到了一个问题:需要在自己的HAL层中引用第三饭提供的算法库即so库;这个问题是作者第一次遇到,以往都是自己写一些代码编…

原宇宙之地产探索

前言 随着“元宇宙”的概念风靡全球,一股“炒房”之风也开始在元宇宙世界兴起,就连大家熟知的歌手林俊杰、Snoop Dogg也纷纷入局元宇宙。昂贵的元宇宙房价有些甚至高于北京的一套别墅价格。 元宇宙中的“炒房” 去年下半年,元宇宙房地产玩家竞…

Android Compose Bloom 项目实战 (二) : 欢迎页

1. 前言 上一篇文章我们讲到了Compose Bloom项目开发之前的一些配置及沉浸式状态栏的修改。 这篇文章接着上文,会介绍欢迎页的开发。 需要实现的页面效果如下所示 2. 分析页面组件 根据UI图,我们可以可知,该页面是由背景和前面部分部分组…

IDEA配置tomcat,快速部署tomcat

Tomcat简介 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得…

地震数据处理研究(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

Kubernetes集群coredns缓存容器bind: address already in use错误导致集群服务无法互通解决

coredns缓存nodelocal dns cache :53: bind: address already in use错误处理起因分析问题处理问题重启Node local dns起因 事情起因是Kubernetes集群内的服务无法互相访问了 分析问题 因为Kubernetes集群内的服务都是通过service、pod的名称作为域名到coredns解析Cluster I…

ubuntu 18.04安装python3.7.5,并将 python 设定为python3, pip设定为pip3

ubuntu 18.04安装python3.7.5,并将 python 设定为python3, pip设定为pip3环境:Ubuntu 18.04.1安装步骤:一、安装python3.7二、安装pip3三、更改python为 python3指向,更改pip为pip3指向四、注意点,必须改回…

基于java+ssm+easyui灵悟酒店系统

✌博主介绍✌:一个致力于全战开发的代码热爱者 基于javassmeasyui灵悟酒店系统一、前言介绍:二、系统设计:2.1 系统整体架构:2.2 系统功能设计:三、功能截图:3.1 首页:3.2 用户登陆:3.2.1 登陆后…

【Android App】三维处理中三维投影OpenGL功能的讲解及实战(附源码和演示 超详细必看)

运行有问题或需要源码请点赞关注收藏后评论区留言~~~ 一、OpenGL的讲解 OpenGL定义了一个跨语言,跨平台的图形程序接口,对Android开发者来说,OpenGL就是用来绘制三维图形的技术手段,当然OpenGL不仅仅能够展现静止的三维图形&…

深入理解地址翻译 CSAPP

地址翻译, 用自己的话说一遍, 然后自己在draw.io画图理解. 术语 页表就是一个 页表条目(Page Table Entry PTE)的数组,每一项(每个PTE)是[有效位,物理地址]. 我们是用VPN来标识每个PTE,但记住这些VPN并不是页表的一部分,不会储…

基础知识——进制 与 进制转换 (C++ 程序)

目录 一、进制的定义 二、表示方法 1、当进制数 ≤ 10时 2、当进制数>10时 三、进制的计算 1、整数 2、小数 3、非十进制数 4、非十进制转十进制 四、十进制转非十进制数 1、整数部分 2、小数部分 3、整小混合 五、程序实现 1、十进制 转 其它进制 …