论文阅读 (100):Simple Black-box Adversarial Attacks (2019ICML)

news2025/3/1 0:17:54

文章目录

  • 1 概述
    • 1.1 要点
    • 1.2 代码
    • 1.3 引用
  • 2 背景
    • 2.1 目标与非目标攻击
    • 2.2 最小化损失
    • 2.3 白盒威胁模型
    • 2.4 黑盒威胁模型
  • 3 简单黑盒攻击

1 概述

1.1 要点

题目:简单黑盒对抗攻击 (Simple black-box adversarial attacks)

策略:提出了一个在黑盒设置下构建对抗图像的简单方法:

  1. 从预定义的正交基中随机采样一个向量,并将其添加或减去到目标图像;
  2. 在多个现实任务下展示了算法的性能和效率;
  3. 算法非常快,且实现仅需不要20Pytorch代码;

1.2 代码

https://github.com/cg563/simple-blackbox-attack

1.3 引用

@inproceedings{Guo:2019:24842493,
author		=	{Guo, Chuan and Gardner, Jacob and You, Yurong and Wilson, Andrew Gordon and Weinberger, Kilian},
title		=	{Simple black-box adversarial attacks},
booktitle	=	{{ICML}},
pages		=	{2484--2493},
year		=	{2019},
url			=	{https://proceedings.mlr.press/v97/guo19a.html}
}

2 背景

对抗样本的研究关注于机器学习模型对细微改变的健壮性。图像分类的任务是成功预测人类所认知的图像。自然地,这样的微小改变不会影响人类的判断。基于此,可以将健壮性形式化表述为:给定一个模型 h h h和一些输入-标签对 ( x , y ) (x,y) (x,y),如果模型能正确分类 h ( x ) = y h(x)=y h(x)=y,则称 h h h是关于概率度量 d ( ⋅ , ⋅ ) d(\cdot,\cdot) d(,) ρ \rho ρ健壮的:
h ( x ′ ) = y   ∀ x ′ ∈ { x ′ ∣ d ( x ′ , x ) ≤ ρ } . h(x')=y\ \forall x'\in\{ x' | d(x',x) \leq \rho \}. h(x)=y x{xd(x,x)ρ}.度量 d d d通常被近似为 L 0 , L 2 , L ∞ L_0,L_2,L_\infty L0,L2,L,以度量输入 x x x和扰动 x ′ x' x之间视觉不相似性的程度。除非特别说明,本文均采用 d ( x , x ′ ) = ∥ x − x ′ ∥ 2 d(x,x')=\| x-x' \|_2 d(x,x)=xx2作为感知度量。在几何上,难以察觉的变化区域被定义为一个半径 ρ \rho ρ、以 x x x为中心的超球。对抗攻击的目标便是找到一个对抗方向 δ \delta δ,使得模型对 x ′ = x + δ x'=x+\delta x=x+δ的决策发生改变。

2.1 目标与非目标攻击

最简单的成功攻击的条件是将原始预测改变为其它任意类别 h ( x ′ ) ≠ y h(x')\neq y h(x)=y。这便是非目标攻击。与此相应地,目标攻击的目标是对于选择的目标类 y ′ y' y,有 h ( x ′ ) = y ′ h(x')=y' h(x)=y。为了简便,余下的讨论均在目标攻击下进行。

2.2 最小化损失

由于模型输出离散决策,因此寻找对抗性扰动来改变模型首先是一个离散优化问题。然而,其经常定义一个代理损失 ℓ y ( ⋅ ) \ell_y(\cdot) y()来度量模型 h h h将输入归类为 y y y的确信度。因此,对抗扰动问题可以被制定为最小化模型分类确信度的连续优化问题:
min ⁡ δ ℓ y ( x + δ )  subject to  ∥ δ ∥ 2 < ρ \min_\delta\ell_y(x+\delta) \text{ subject to }\| \delta \|_2<\rho δminy(x+δ) subject to δ2<ρ当模型 h h h输出对应于每个类别的概率 p h ( ⋅ ∣ x ) p_h(\cdot|x) ph(x)时,一个常用的对抗损失是类别 y y y的概率: ℓ y ( x ′ ) = p h ( y ∣ x ′ ) \ell_y(x')=p_h(y|x') y(x)=ph(yx),其需要最小化正确分类的概率。对于目标攻击,一个选择是 ℓ y ′ ( x ′ ) = − p h ( y ′ ∣ x ′ ) \ell_{y'}(x')=-p_h(y'|x') y(x)=ph(yx),本质上是最大化误分类为 y ′ y' y的概率。

2.3 白盒威胁模型

依赖于所在的应用领域,攻击者对于目标模型 h h h的知识有不同程度的了解。在白盒威胁模型下,分类器 h h h将提供给攻击者。在该设置下,一个有力的攻击策略是在对抗损失 ℓ y ( ⋅ ) \ell_y(\cdot) y()下执行梯度下降或者近似理论。为了确保不易察觉的改变,一种方式是控制扰动的范数 ∥ δ ∥ 2 \|\delta\|_2 δ2、早停,或者直接在损失优化过程中引入正则或者约束。

2.4 黑盒威胁模型

对于很多实际应用而言,白盒假设是不切实际的。例如,模型 h h h的展示形式是API,仅能够基于输入获取查询结果。对于攻击者而言,黑盒模型将更具有挑战性,这是因为梯度信息将不能引导对抗方向 δ \delta δ,且每次查询将消耗时间和金钱。因此,黑盒威胁设置下,附加了最小化查询次数 h h h的优化目标。修改后的优化目标为:
min ⁡ δ ℓ y ( x + δ )  subject to:  ∥ δ ∥ < ρ ,  queries ≤ B \min_\delta\ell_y(x+\delta)\text{ subject to: }\|\delta\|<\rho,\text{ queries}\leq B δminy(x+δ) subject to: δ<ρ, queriesB其中 B B B是固定代价。对于迭代优化算法而言,攻击算法需要快速收敛到可行解。

3 简单黑盒攻击

假设已有一张图像 x x x、黑盒神经网络 h h h,分类器 h ( x ) = y h(x)=y h(x)=y。我们的目标是找到一个小的扰动 δ \delta δ,其满足 h ( x + δ ) ≠ y h(x+\delta)\neq y h(x+δ)=y。尽管在黑盒设置下,梯度信息是缺失的,输出概率依然可以用于引导对抗图像的生成。

3.1 算法

算法1展示了本文输入的伪代码:对于任意方向 q \mathbf{q} q和步长大小 ϵ \epsilon ϵ x + ϵ q x+\epsilon\mathbf{q} x+ϵq或者 x − ϵ q x-\epsilon\mathbf{q} xϵq可能会降低 p h ( y ∣ x ) p_h(y|x) ph(yx)。因此我们重复地随机选择方向 q \mathbf{q} q并添加或者减去它。为了最小化查询 h ( ⋅ ) h(\cdot) h()的次数,总是首先尝试添加 ϵ q \epsilon\mathbf{q} ϵq。如果概率 p h ( y ∣ x ) p_h(y|x) ph(yx)降低则采取该步骤,否则将减去 ϵ q \epsilon\mathbf{q} ϵq

所提出的简单黑盒攻击 (SimBA) ,使用目标图像标签对 ( x , y ) (x,y) (x,y)作为输入,以及正交候选向量 Q Q Q和步长 ϵ > 0 \epsilon>0 ϵ>0。为了简化,我们均匀随机采样 q ∈ Q \mathbf{q}\in Q qQ。为了保证最大的查询效率,确保了没有两个方向将会取消或者削减对方,或者不合适地放大或者增加 δ \delta δ的范数。在 T T T次更新后,扰动的范数为 ∥ δ ∥ 2 = T ϵ \|\delta\|_2=\sqrt{T}\epsilon δ2=T ϵ

3.2 Cartesian基

正交搜索方向 Q Q Q的一个很自然的选择是标准基 Q = I Q=I Q=I,其对应算法在像素空间的更新方向。本质上,算法在每次更新随机选择一个像素增加或者减少,这样的攻击被称为 L 0 L_0 L0攻击,其将尽可能少的改变像素。

3.3 离散余弦基

最近的工作发现低频空间中的随机噪声更有可能是对抗性的。对此,我们将探索离散余弦变换 (DCT)。DCT是一个正交变换,其用于将2D图像空间 R d × d \mathbb{R}^{d\times d} Rd×d中的信号映射到与余弦波函数的幅度相对于的频率系数。接下来,我们将DCT提取的正交频率集合称为 Q DCT Q_\text{DCT} QDCT。完整的 Q DCT Q_\text{DCT} QDCT包含 d × d d\times d d×d个频段,我们仅保留比例 r r r的低频段,以在低频空间中生成对抗扰动。

3.4 一般基

理论上,在基向量可以被高效采集的前提下,任意的正交基都能用于本文方法。这对于高分辨率数据集,例如ImageNet来说无疑是一个大的挑战,因为每一个正交基的维度是 d × d d\times d d×d。迭代采样方法,例如Gram-Schmidt不能使用,因为内存代价随采样向量的数量线性增长。因此,本文仅选用标准基向量和DCT基向量

3.5 学习率 ϵ \epsilon ϵ

给定任意的搜索方向 Q Q Q,一些方法能够更多的降低 p h ( y ∣ x ) p_h(y|x) ph(yx)。此外,输出概率 p h ( y ∣ x + ϵ q ) p_h(y|x+\epsilon\mathbf{q}) ph(yx+ϵq)可能是非单调的。图1展示了在像素空间和DCT空间随机采样搜索方向时,输出概率随 ϵ \epsilon ϵ变化的相对情况 (ReaNet-50预测ImageNet验证集)。结果表明,概率 p h ( y ∣ x + ϵ q ) p_h(y|x+\epsilon\mathbf{q}) ph(yx+ϵq)的下降与 ϵ \epsilon ϵ的增长相匹配。尽管一些方向增加了正确类别的概率,该概率的预期变化为负且斜率相对较陡。这说明算法对 ϵ \epsilon ϵ的选择不敏感,其将快速降低正类别的概率。

3.6 预算

通过探索 Q Q Q的正交性,我们能够约束 δ \delta δ的范数。在每次迭代过程中,基向量将被用于加或者减,当无法改变输出概率时,则抛弃。令 α i ∈ { − ϵ , 0 , ϵ } \alpha_i\in\{-\epsilon,0,\epsilon\} αi{ϵ,0,ϵ}表示在第 t t t步时的搜索方向,因此:
δ t + 1 = δ t + α t q t \delta_{t+1}=\delta_t+\alpha_t\mathbf{q}_t δt+1=δt+αtqt最终的扰动可以记作:
δ T = ∑ t = 1 T α t q t \delta_T=\sum_{t=1}^T\alpha_t\mathbf{q}_t δT=t=1Tαtqt因为方向 q t \mathbf{q}_t qt是正交的,对于任意的 t ≠ t ′ t\neq t' t=t q t ⊤ q t ′ = 0 \mathbf{q}_t^\top\mathbf{q}_{t'}=0 qtqt=0。因此,对抗扰动的 L 2 L_2 L2范数计算为:
∥ δ T ∥ 2 2 = ∥ ∑ t = 1 T α t q t ∥ 2 2 = ∑ t = 1 T ∥ α t q t ∥ 2 2 = ∑ t = 1 T α t 2 ∥ q t ∥ 2 2 ≤ T ϵ 2 \left\| \delta_T \right\|_2^2 = \left\| \sum_{t=1}^T\alpha_t\mathbf{q}_t \right\|_2^2 = \sum_{t=1}^T\left\| \alpha_t\mathbf{q}_t \right\|_2^2 = \sum_{t=1}^T\alpha_t^2\left\| \mathbf{q}_t \right\|_2^2\leq T\epsilon^2 δT22= t=1Tαtqt 22=t=1Tαtqt22=t=1Tαt2qt22Tϵ2因此,在 T T T轮迭代之后,对抗扰动的最大 L 2 L_2 L2范数为 T ϵ \sqrt{T}\epsilon T ϵ,这对于任意正交基均成立。

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

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

相关文章

Vue中的图标

Vue中的图标 https://iconpark.oceanengine.com/official 官方教程&#xff1a;icon-park/vue - npm 1.IconPark 2.基本使用 下载 yarn add icon-park/vue --save 启动 yarn run serve 项目中引用 <script> import { TableFile } from icon-park/vue; export defa…

微信小程序遇到的一些问题及解决方法(设备安装)

微信小程序遇到的一些问题及解决方法 1、[js将字符串按照换行符分隔成数组](https://blog.csdn.net/pgzero/article/details/108730175)2、[vue byte数组](https://www.yzktw.com.cn/post/1202765.html)3、使用vant-weapp的文件上传capture"camera" 无法直接调用摄像…

渗透数据工程师

什么是渗透测试 渗透测试就是模拟真实黑客的攻击手法对目标网站或主机进行全面的安全评估&#xff0c;与黑客攻击不一样的是&#xff0c;渗透测试的目的是尽可能多地发现安全漏洞&#xff0c;而真实黑客攻击只要发现一处入侵点即可以进入目标系统。 一名优秀的渗透测试工程师也…

Web应用测试 —— Cookie,Session和Token

Cookie&#xff0c;Session 和 Token都是 Web 应用中常用的技术&#xff0c;它们在用户认证和状态管理中发挥了重要作用。下面是它们的基本定义和区别&#xff1a;Cookie Cookie 是服务器发送到用户浏览器并保存在浏览器上的一小块数据&#xff0c;它会在浏览器向同一服务器再次…

关于 Unity 连接 MuMu 模拟器上的 Unity Remote 5 的方法

在使用 Unity 开发 Android 的过程中&#xff0c;可以通过使用 Unity Remote 这个 app 来和真机连接&#xff0c;进而在真实环境下进行测试性能等工作&#xff0c;而本次则是由于其他问题引出的一个小坑&#xff0c;记录以备后续查询。 这次是由于在自学过程中遇到的一个工程&…

VM+Ubuntu+Xshell+Xftp安装教程

目录 VM17安装教程 检查网络连接 Ubuntu环境搭建 UBUNTU 系统配置 1、 SSH 服务器配置 服务端&#xff08;必须&#xff09; 1.安装 ssh 服务端 2.确认 sshserver 是否启动了&#xff08;看见 sshd 说明已启动&#xff09; 3.启动 sshserver 4.SSH 配置&#xff08;如果…

【Python】环境的搭建

前言 要想能够进行 Python 开发, 就需要搭建好 Python 的环境. 需要安装的环境主要是两个部分: 运行环境: Python开发环境: PyCharm 一、安装 Python 1.找到官方网站 官网&#xff1a;Welcome to Python.org 2.找到下载页面 点击download中的Windows 3.选择稳定版中的Win…

Vue+Element Progress 进度条显示文字 %修改,使用format方法显示文字可自定义

需求 要实现这样子的 将进度条里显示的文字 后的 %去掉 主要用到 format 方法 代码 <el-progress :text-inside"true" :stroke-width"30" :format"format":percentage"usageA"></el-progress>methods: {format(percent…

南大通用数据库-Gbase-8a-报错集锦-06-Stack Overflow

目录 一、数据库版本信息 二、报错信息 三、报错SQL 四、解决方法 1、修改参数thread_stack 2、改写SQL &#xff08;1&#xff09;改为内连接 &#xff08;2&#xff09;临时表 一、数据库版本信息 二、报错信息 三、报错SQL SQL包含2000多个or条件。 四、解决方法 1、…

MySQL——连接查询

2023.9.4 连接查询相关sql92语句笔记&#xff1a; #连接查询。 又称多表查询&#xff0c;当查询的字段来自多个表时&#xff0c;就会用到连接查询。 #等值连接 /* ①多表等值连接的结果为多表的交集部分 ②n表连接&#xff0c;至少需要n-1个连接条件 ③多表的顺序没有要求 ④一…

CesiumsJS加载本地离线瓦片影像地图

1.下载并安装91卫图(免费版就可以用) 2.打开软件&#xff0c;从左测选择某个区域&#xff0c;&#xff0c;在地图区双击蓝色区域&#xff0c;开始下载 3.选择影像等级&#xff0c;在【导出设置】中选择导出方式为【导出TMS瓦片】,保存格式为JPEG&#xff0c;坐标投影为【WGS84坐…

激光切割机在现代灯具的生产过程中的应用

灯饰在现代家庭装修中承担着举足轻重的角色&#xff0c;随着人类生活水平的提升&#xff0c;对家居用品的要求愈发严格&#xff0c;作为家庭装饰的必备品&#xff0c;灯饰从满足功能性需求转向追求个性化定制需求。 金属本身具有独特的质感&#xff0c;与个性化激光图案相结合&…

自然语言处理学习笔记(八)———— 准确率

目录 1.准确率定义 2.混淆矩阵与TP/FN/FP/TN 3. 精确率 4.召回率 5.F1值 6.中文分词的P、R、F1计算 7.实现 1.准确率定义 准确率是用来衡量一个系统的准确程度的值&#xff0c;可以理解为一系列评测指标。当预测与答案的数量相等时&#xff0c;准确率指的是系统做出正确判…

Flutter 通过BottomSheetDialog实现抖音打开评论区,内容自动上推、缩放效果

一、先来看下实现的效果 实现上面的效果需要解决俩个问题 当列表进行向下滑动到顶部的时候,继续滑动可以让弹窗向下收起来弹出上下拖动的时候,视图内容跟着上下移动、缩放大小二、实现弹窗上下滑动的时候,动态改变内容区的位置和大小 通过showModalBottomSheet显示底部对话框…

手写签名到背景上合为1张图

手写签名到背景上合为1张图 package.json中 "signature_pad": "3.0.0-beta.3"<template><div class"home"><canvas id"canvas" width"500" height"300"></canvas><button click"…

2.安装opencv报错及解决方法

目录 报错1&#xff1a;anaconda-lab命令不是内部外部指令 报错2&#xff1a; 找不到opencv模块,ModuleNotFoundError: No module named cv2 报错3&#xff1a;python版本号不匹配&#xff0c;Could not find a version that satisfies the requirement 报错1&#xff1a;anac…

我的创作纪念日—谈谈我的学习经历

引言 在这段时间里&#xff0c;我创作了一系列关于Java编程的博客文章。通过这个过程&#xff0c;我不仅增加了对Java编程的理解&#xff0c;还提高了我的博客创作技能。在本文中&#xff0c;我想分享一些我在博客创作过程中学到的心得体会和经验 机缘与巧合 其实很早我就有写笔…

Macs Fan Control 1.5.16 Pro for mac风扇调节软件

Macs Fan Control是一款专门为 Mac 用户设计的软件&#xff0c;它可以帮助用户控制和监控 Mac 设备的风扇速度和温度。这款软件允许用户手动调整风扇速度&#xff0c;以提高设备的散热效果&#xff0c;减少过热造成的风险。 Macs Fan Control 可以在菜单栏上显示当前系统温度和…

浅谈推进农业水价综合改革的意见解读

摘 要&#xff1a;农业是用水大户&#xff0c;也是节水潜力所在。在我国水资源短缺的背景下&#xff0c;推进农业水价综合改革&#xff0c;建立促使水资源节约的价格政策和准确计量收费机制是农业节水的必然要求&#xff0c;设计一套农田灌溉计量收费管理系统&#xff0c;对改良…

【计算机基础知识8】深入理解OSI七层模型

目录 一、前言 二、OSI七层模型概述 三、第一层&#xff1a;物理层 四、第二层&#xff1a;数据链路层 五、第三层&#xff1a;网络层 六、第四层&#xff1a;传输层 七、第五层&#xff1a;会话层 八、第六层&#xff1a;表示层 九、第七层&#xff1a;应用层 十、O…