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

文章目录

  • 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.hqwc.cn/news/107365.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql在ubuntu上命令行登陆密码不正确

1.登陆提示如下 2.使用mysql -u root -p登录也是类似的 3.打开宝塔面板 点击root密码&#xff0c;更改密码后即可在命令行界面登录 4.登录效果如下

大数据Flink(七十八):SQL 的水印操作(Watermark)

文章目录 SQL 的水印操作(Watermark) 一、为什么要有 WaterMark

论数据库的种类

摘要 数据库是现代信息管理和数据存储的重要工具&#xff0c;几乎在各个领域都有广泛应用。不同类型的数据库适用于不同的应用场景和需求。本文将介绍几种常见的数据库种类&#xff0c;并探讨它们的特点和适用范围。 正文 一、关系型数据库&#xff08;RDBMS&#xff09; 关…

02JVM_垃圾回收GC

二、垃圾回收GC 在堆里面存放着java的所有对象实例&#xff0c;当对象为“死去”&#xff0c;也就是不再使用的对象&#xff0c;就会进行垃圾回收GC 1.如何判断对象可以回收 1.1引用计数器 介绍 在对象中添加一个引用计数器&#xff0c;当一个对象被其他变量引用时这个对象…

C++中使用R“()“标记符书写多行字符串

在C#中使用表示的字符串能够跨越数行。用于在C#中写JS或SQL代码比较方便。 string sqlInsert "INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format) VALUES(2, 24, 0, 1, 1, a04005, .3);INSERT INTO tb_param(protocol, slave, number, ptype, …

stm32---外部中断

一、EXTI STM32F10x外部中断/事件控制器&#xff08;EXTI&#xff09;包含多达20个用于产生事件/中断请求的边沿检测器。EXTI的每根输入线都可单独进行配置&#xff0c;以选择类型&#xff08;中断或事件&#xff09;和相应的触发事件&#xff08;上升沿触发、下降沿触发…

HashMap初始化大小

1.参考阿里巴巴开发规范 2.写了个工具类 供大家参考 import java.util.HashMap;/*** 阿里巴巴开发规范* 【推荐】 集合初始化时&#xff0c; 指定集合初始值大小。* 说明&#xff1a; HashMap 使用 HashMap(int initialCapacity) 初始化&#xff0c;如果暂时无法确定集合大小…

计算机二级公共基础知识-2023

计算机基础知识&#xff1a; 计算机的发展&#xff1a; 第一台电子计算机eniac 埃尼阿克 1946 第一台存储程序计算机 edvac 艾迪瓦克 根据电子元器件的发展分类 1.电子管 2.晶体管 3.集成电路 4.超大规模继承电路 按照电脑的用途可以分为 专用计算机 专门用于处理…

OpenCV学习笔记(6)_由例程学习高斯图像金字塔和拉普拉斯金字塔

1 图像金字塔 图像金字塔是图像多尺度表达的一种。 尺度&#xff0c;顾名思义&#xff0c;可以理解为图像的尺寸和分辨率。处理图像时&#xff0c;经常对源图像的尺寸进行缩放变换&#xff0c;进而变换为适合我们后续处理的大小的目标图像。这个对尺寸进行放大缩小的变换过程…

【C++从0到王者】第二十九站:二叉搜索树常见题

文章目录 一、根据二叉树创建字符串二、二叉树的最近公共祖先1.解法一&#xff1a;递归2.解法二&#xff1a;借助栈来寻找路径 三、二叉搜索树与双向链表四、前序与中序构建二叉树五、中序与后序构建二叉树 一、根据二叉树创建字符串 题目链接&#xff1a;力扣第606题&#xff…

Trinitycore学习之在Linux环境上搭建服务器并测试运行

1&#xff1a;准备环境&#xff0c;这里用ubuntu 22.04进行测试&#xff0c;安装环境后为了方便&#xff0c;换源。 注意&#xff1a;这里用的虚拟机&#xff0c;在虚拟机上生成地图信息&#xff0c;地图信息占用内存比较大&#xff0c;我暂时设置磁盘50G进行测试&#xff0c;…

Git学习记录

Contest 一、工作区域二、操作命令2.1 创建仓库2.2 查看仓库状态2.3 从工作区向暂存区添加文件2.3.1 只添加一个文件2.3.2 添加全部文件 2.4 从暂存区向仓库区添加文件2.5 查询日志2.5.1 从当前版本开始查询2.5.2 查看所有日志 2.6 回滚2.6.1 从仓库回滚到工作区2.6.2 取消工作…