当前位置: 首页 > news >正文

论文阅读——Adversarial Eigen Attack on Black-Box Models

Adversarial Eigen Attack on Black-Box Models

作者:Linjun Zhou, Linjun Zhou

攻击类别:黑盒(基于梯度信息),白盒模型的预训练模型可获得,但训练数据和微调预训练模型的数据不可得(这意味着模型的网络结构和参数信息可以获得)、目标攻击+非目标攻击
白盒+黑盒组合使用,白盒利用了中间表示,黑盒利用了输出得分。

  • 疑问
    Q1: 基于梯度信息生成对抗样本,如何保证迁移能力
    A1: 似乎没有像常规方法一样考虑迁移性
    Q2: 预训练模型选的啥?
    A2: 用不到预训练模型

解决的问题:

替代模型的训练需要已知训练数据+降低查询量+保证扰动小

  • 替代模型的训练需要已知训练数据:白盒模型的特征表示和黑盒模型的输出概率得分;
  • 降低查询量:根据方向当属估计梯度减少梯度估计采样的样本,使用截断奇异值确定进一步降低查询量;
  • 保证扰动小:每次扰动的寻优都约束到 L 2 L_2 L2范数球上。

黑盒攻击现状

黑盒攻击分为两类:
基于梯度估计的对抗攻击: 描述了一个纯黑盒攻击设置,其中可用的信息只是黑盒模型的输入和输出。在此设置中使用的常用技术是零阶优化[8]。与白盒攻击不同的是,黑盒攻击中不存在与网络参数相关的梯度信息。梯度需要通过采样不同方向的扰动和汇总与输出相关的某个损失函数的相对变化来估计。
基于替代模型(substitute model)的对抗攻击:使用来自训练数据集的侧信息。通常,在给定的训练数据集上训练一个替代的白盒模型。

方案概述:

将白盒攻击和黑盒攻击相结合。通过将白盒模型的中间表示到黑盒模型输出的映射看作一个黑盒函数,在表示空间上形成一个替代的黑盒攻击设置,可以应用黑盒攻击的常见做法。另一方面,从原始输入到中间表示层的映射是预训练模型的一部分,可以看作是一个白盒设置。值得注意的是,该框架可以处理两个模型相同或不同的分类类别,增强了其实际应用场景。使用预训练白盒网络的表示空间有助于提高黑盒模型的攻击效率的主要原因是,深度神经网络的较低层,即表示学习层,在不同的数据集或数据分布之间是可转移的。

白盒模型:

G ( x ) = g ∘ h ( x ) G(x) = g \circ h(x) G(x)=gh(x) h ( x ) h(x) h(x)表示原始输入到低维表示空间的映射, g g g表示输出概率的表示空间映射, g : R m → [ 0 , 1 ] c w g:{\mathbb{R}^m} \to {[0,1]^{{c_w}}} g:Rm[0,1]cw c w {c_w} cw表示G输出类别的数量;

黑盒模型:

F : R n → [ 0 , 1 ] c b F:{\mathbb{R}^n} \to {[0,1]^{{c_b}}} F:Rn[0,1]cb, c b {c_b} cb表示F输出类别的数量, c b {c_b} cb c w {c_w} cw可能不相等。

  • 疑问
    Q1: 如何对齐白盒模型和黑盒模型的输出概率分布的?存在两种情况:黑盒模型和白盒模型的输出概率分布不一致或者输出概率类别的长度可能不同?
    A1: 为解决上述问题,作者并没有使用白盒模型的参数,而是使用白盒模型的中间表示 z = h ( x ) z = h(x) z=h(x)和新的映射函数 g ~ : R m → [ 0 , 1 ] c b \tilde g:{\mathbb{R}^m} \to {[0,1]^{{c_b}}} g~:Rm[0,1]cb(被攻击黑盒模型的输出的表示空间)。类比白盒模型的定义,若 g ~ \tilde g g~存在,则可获得黑盒模型 F = g ~ ∘ h ( x ) F = \tilde g \circ h(x) F=g~h(x)

基于上述定义,黑盒攻击的优化目标函数为:

min ⁡ δ p F ( y ∣ x + δ ) ⇒ min ⁡ δ p g ∘ h ( y ∣ x + δ ) s . t . , ∣ ∣ δ ∣ ∣ 2 < ρ \mathop {\min }\limits_\delta {p_F}(y|x + \delta ) \Rightarrow \mathop {\min }\limits_\delta {p_{g \circ h}}(y|x + \delta ){\text{ }}s.t.,{\text{ }}||\delta |{|_2} < \rho δminpF(yx+δ)δminpgh(yx+δ) s.t., ∣∣δ2<ρ
x t + 1 = x t − ε ∇ x [ F ( x ; θ ) ] {x_{t + 1}} = {x_t} - \varepsilon {\nabla _x}[F(x;\theta )] xt+1=xtεx[F(x;θ)] (1)

∇ x [ F ( x ; θ ) ] {\nabla _x}[F(x;\theta )] x[F(x;θ)]通过采样一些扰动和汇总输出的相对变化来估计,但是在每次迭代时估计梯度,会消耗的大量的样本,这不利于提升攻击效率。为解决这一问题作者将梯度 ∇ x [ F ( x ; θ ) ] {\nabla _x}[F(x;\theta )] x[F(x;θ)]拆分如下:

∇ x [ F ( x ; θ ) ] = J h ( x ) T ∇ z [ g ~ ( z ; θ ~ ) y ] {\nabla _x}[F(x;\theta )] = {J_h}{(x)^T}{\nabla _z}[\tilde g{(z;\tilde \theta )_y}] x[F(x;θ)]=Jh(x)Tz[g~(z;θ~)y] (2)

J h ( x ) {J_h}{(x)} Jh(x)是关于 h h h m ∗ n m*n mn雅克比矩阵 ∂ ( z 1 , z 2 , ⋯ , z m ) ∂ ( x 1 , x 2 , ⋯ , x n ) \frac{{\partial ({z_1},{z_2}, \cdots ,{z_m})}}{{\partial ({x_1},{x_2}, \cdots ,{x_n})}} (x1,x2,,xn)(z1,z2,,zm), z z z是特征空间表示,也就是 h h h的输出。但 ∇ z [ g ~ ( z ; θ ~ ) y ] {\nabla _z}[\tilde g{(z;\tilde \theta )_y}] z[g~(z;θ~)y] g ~ \tilde g g~是黑盒模型,因此需要采样估计 ∇ z [ g ~ ( z ; θ ~ ) y ] {\nabla _z}[\tilde g{(z;\tilde \theta )_y}] z[g~(z;θ~)y] y y y表示 g ~ \tilde g g~输出的第 y y y个成分。

根据方向倒数的定义可知,
∇ z [ g ~ ( z ; θ ~ ) y ] = ∑ i = 1 m ( ∂ g ~ ( z ; θ ~ ) y ∂ l ⃗ i ∣ z ⋅ l ⃗ ) , l ⃗ 1 , l ⃗ 2 , ⋯ , l ⃗ m are orthogonal {\nabla _z}[\tilde g{(z;\tilde \theta )_y}] = \sum\limits_{i = 1}^m {(\frac{{\partial \tilde g{{(z;\tilde \theta )}_y}}} {{\partial {{\vec l}_i}}}{|_z} \cdot \vec l)} ,{{\vec l}_1},{{\vec l}_2}, \cdots ,{{\vec l}_m}{\text{ are orthogonal}} z[g~(z;θ~)y]=i=1m(l ig~(z;θ~)yzl ),l 1,l 2,,l m are orthogonal (3)

我们可以通过每次迭代使用m个样本,从一组正交基中迭代地设置 z z z的扰动方向,来估计 ∇ z [ g ~ ( z ; θ ~ ) y ] {\nabla _z}[\tilde g{(z;\tilde \theta )_y}] z[g~(z;θ~)y]。但是使用上述方法估计 ∇ z [ g ~ ( z ; θ ~ ) y ] {\nabla _z}[\tilde g{(z;\tilde \theta )_y}] z[g~(z;θ~)y]会消耗巨大的查询预算。为解决这一问题,作者通过牺牲估计精度来降低查询量。具体而言,首先设计EigenBA算法来寻找表示空间的标准基,

l ⃗ i = J h ( x ) δ i {{\vec l}_i} = {J_h}(x){\delta _i} l i=Jh(x)δi (4)

δ i {\delta _i} δi是原始输入空间上的扰动,会导致表示空间变成 l ⃗ i {{\vec l}_i} l i。最优的扰动可求解为:
在这里插入图片描述
作者对上述等式求解获得最优的 δ 1 , δ 2 , ⋯ , δ m {\delta _1},{\delta _2}, \cdots ,{\delta _m} δ1,δ2,,δm

因此,如果我们将扰动依次迭代采样到 δ 1 , δ 2 , ⋯ , δ m {\delta _1},{\delta _2}, \cdots ,{\delta _m} δ1,δ2,,δm,则一步实际扰动 ∇ x [ F ( x ; θ ) ] {\nabla _x}[F(x;\theta )] x[F(x;θ)]可以用公式2和式3来近似,并且,由于特征值的迹可能很小,即表征空间的扰动范数可能对具有相应特征向量方向的原始输入空间上的扰动不敏感。为了在不牺牲太多攻击效率的情况下减少查询数,作者只保留探测的top-K扰动 δ 1 , δ 2 , ⋯ , δ K {\delta _1},{\delta _2}, \cdots ,{\delta _K} δ1,δ2,,δK。通过对雅可比矩阵J进行截断奇异值分解(SVD),只保留前K个分量,可以快速计算出 J T J {J^T}J JTJ的特征向量。

上述过程的伪代码如下:
在这里插入图片描述
迭代扰动寻优过程中的参数定义似乎不全!

实验

1、数据集:ImageNet、Cifar-10
2、对比方法:SimBA-DCT、Trans-FGM
3、评估指标:攻击一张样本的平均查询量、攻击成功率、对抗扰动的 L 2 {L_2} L2 L ∞ {L_\infty } L范数
4、实验模块:不同查询量下非目标攻击和目标攻击的攻击性能测试+消融研究

相关文章:

论文阅读——Adversarial Eigen Attack on Black-Box Models

Adversarial Eigen Attack on Black-Box Models 作者&#xff1a;Linjun Zhou&#xff0c; Linjun Zhou 攻击类别&#xff1a;黑盒&#xff08;基于梯度信息&#xff09;&#xff0c;白盒模型的预训练模型可获得&#xff0c;但训练数据和微调预训练模型的数据不可得&#xff…...

自然语言处理从入门到应用——LangChain:记忆(Memory)-[自定义对话记忆与自定义记忆类]

分类目录&#xff1a;《自然语言处理从入门到应用》总目录 自定义对话记忆 本节介绍了几种自定义对话记忆的方法&#xff1a; from langchain.llms import OpenAI from langchain.chains import ConversationChain from langchain.memory import ConversationBufferMemoryllm…...

【C/C++】STL queue 非线程安全接口,危险!

STL 中的 queue 是非线程安全的&#xff0c;一个组合操作&#xff1a;front(); pop() 先读取队首元素然后删除队首元素&#xff0c;若是有多个线程执行这个组合操作的话&#xff0c;可能会发生执行序列交替执行&#xff0c;导致一些意想不到的行为。因此需要重新设计线程安全的…...

执行Lua脚本后一直查询不到Redis中的数据(附带问题详细排查过程,一波三折)

文章目录 执行Lua脚本后一直查询不到Redis中的数据&#xff08;附带详细问题排查过程&#xff0c;一波三折&#xff09;问题背景问题1&#xff1a;Lua脚本无法切库问题2&#xff1a;RedisTemlate切库报错问题3&#xff1a;序列化导致数据不一致问题4&#xff1a;Lua脚本中单引号…...

[高光谱]PyTorch使用CNN对高光谱图像进行分类

项目原地址&#xff1a; Hyperspectral-Classificationhttps://github.com/eecn/Hyperspectral-ClassificationDataLoader讲解&#xff1a; [高光谱]使用PyTorch的dataloader加载高光谱数据https://blog.csdn.net/weixin_37878740/article/details/130929358 一、模型加载 在…...

jmeter获取mysql数据

JDBC Connection Configuration Database URL: jdbc:mysql:// 数据库地址 /库名 JDBC Driver class&#xff1a;com.mysql.jdbc.Driver Username&#xff1a;账号 Password&#xff1a;密码 JDBC Request 字段含义 字段含义 Variable Name Bound to Pool 数据库连接池配置…...

Dedecms V110最新版RCE---Tricks

前言 刚发现Dedecms更新了发布版本&#xff0c;顺便测试一下之前的day有没有修复&#xff0c;突然想到了新的tricks去实现RCE。 文章发布的时候估计比较晚了&#xff0c;一直没时间写了。 利用 /uploads/dede/article_string_mix.php /uploads/dede/article_template_rand.…...

CTFshow 限时活动 红包挑战7、红包挑战8

CTFshow红包挑战7 写不出来一点&#xff0c;还是等了官方wp之后才复现。 直接给了源码 <?php highlight_file(__FILE__); error_reporting(2);extract($_GET); ini_set($name,$value);system("ls ".filter($_GET[1])."" );function filter($cmd){$cmd…...

Redis使用Lua脚本和Redisson来保证库存扣减中的原子性和一致性

文章目录 前言1.使用SpringBoot Redis 原生实现方式2.使用redisson方式实现3. 使用RedisLua脚本实现3.1 lua脚本代码逻辑 3.2 与SpringBoot集成 4. Lua脚本方式和Redisson的方式对比5. 源码地址6. Redis从入门到精通系列文章7. 参考文档 前言 背景&#xff1a;最近有社群技术交…...

【从零开始学Kaggle竞赛】泰坦尼克之灾

目录 0.准备1.问题分析挑战流程数据集介绍结果提交 2.代码实现2.1 加载数据2.1.1 加载训练数据2.1.2 加载测试数据 2.2 数据分析2.3 模型建立与预测 3.结果提交 0.准备 注册kaggle账号后&#xff0c;进入titanic竞赛界面 https://www.kaggle.com/competitions/titanic 进入后界…...

输出无重复的3位数和计算无人机飞行坐标

编程题总结 题目一&#xff1a;输出无重复的3位数 题目描述 从{1,2,3,4,5,6,7,8,9}中随机挑选不重复的5个数字作为输入数组‘selectedDigits’&#xff0c;能组成多少个互不相同且无重复数字的3位数?请编写程》序&#xff0c;从小到大顺序&#xff0c;以数组形式输出这些3位…...

muduo 29 异步日志

目录 Muduo双缓冲异步日志模型: 异步日志实现: 为什么要实现非阻塞的日志...

Qt 对象序列化/反序列化

阅读本文大概需要 3 分钟 背景 日常开发过程中&#xff0c;避免不了对象序列化和反序列化&#xff0c;如果你使用 Qt 进行开发&#xff0c;那么有一种方法实现起来非常简单和容易。 实现 我们知道 Qt 的元对象系统非常强大&#xff0c;基于此属性我们可以实现对象的序列化和…...

从零学算法(非官方题库)

输入两棵二叉树A和B&#xff0c;判断B是不是A的子结构。(约定空树不是任意一个树的子结构) B是A的子结构&#xff0c; 即 A中有出现和B相同的结构和节点值。 例如: 给定的树 A:3/ \4 5/ \1 2给定的树 B&#xff1a;4 / 1返回 true&#xff0c;因为 B 与 A 的一个子树拥有相…...

Java # JVM内存管理

一、运行时数据区域 程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区、运行时常量池、直接内存 二、HotSpot虚拟机对象 对象创建&#xff1a; 引用检查类加载检查分配内存空间&#xff1a;指针碰撞、空闲列表分配空间初始化对象信息设置&#xff08;对象头内&#xff0…...

大疆第二批笔试复盘

大疆笔试复盘(8-14) 笔试时候的状态和下来复盘的感觉完全不一样,笔试时脑子是懵的。 (1)输出无重复三位数 题目描述 从 { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } \left \{ 1,2,3,4,5,6,7,8,9 \right \...

【Linux】磁盘或内存 占用比较高要怎么排

当 Linux 磁盘空间满了时 请注意&#xff0c;在进行任何删除操作之前&#xff0c;请确保你知道哪些文件可以安全删除&#xff0c;并备份重要文件&#xff0c;以免意外丢失数据。当 Linux 磁盘空间满了时&#xff0c;可以按照以下步骤进行排查&#xff1a; 检查磁盘使用情况&…...

解决xss转义导致转码的问题

一、xss简介 人们经常将跨站脚本攻击&#xff08;Cross Site Scripting&#xff09;缩写为CSS&#xff0c;但这会与层叠样式表&#xff08;Cascading Style Sheets&#xff0c;CSS&#xff09;的缩写混淆。因此&#xff0c;有人将跨站脚本攻击缩写为XSS。跨站脚本攻击&#xff…...

numba 入门示例

一维向量求和&#xff1a; C A B 在有nv 近几年gpu的ubuntu 机器上&#xff0c; 环境预备&#xff1a; conda create -name numba_cuda_python3.10 python3.10 conda activate numba_cuda_python3.10conda install numba conda install cudatoolkit conda install -c nvi…...

BUUCTF 还原大师 1

题目描述&#xff1a; 我们得到了一串神秘字符串&#xff1a;TASC?O3RJMV?WDJKX?ZM,问号部分是未知大写字母&#xff0c;为了确定这个神秘字符串&#xff0c;我们通过了其他途径获得了这个字串的32位MD5码。但是我们获得它的32位MD5码也是残缺不全&#xff0c;E903???4D…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

企业如何增强终端安全?

在数字化转型加速的今天&#xff0c;企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机&#xff0c;到工厂里的物联网设备、智能传感器&#xff0c;这些终端构成了企业与外部世界连接的 “神经末梢”。然而&#xff0c;随着远程办公的常态化和设备接入的爆炸式…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数&#xff08;函数作为参数、返回值&#xff09; 三、匿名函数与闭包1. 匿名函数&#xff08;Lambda函…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

如何应对敏捷转型中的团队阻力

应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中&#xff0c;明确沟通敏捷转型目的尤为关键&#xff0c;团队成员只有清晰理解转型背后的原因和利益&#xff0c;才能降低对变化的…...

沙箱虚拟化技术虚拟机容器之间的关系详解

问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西&#xff0c;但是如果把三者放在一起&#xff0c;它们之间到底什么关系&#xff1f;又有什么联系呢&#xff1f;我不是很明白&#xff01;&#xff01;&#xff01; 就比如说&#xff1a; 沙箱&#…...

ubuntu中安装conda的后遗症

缘由: 在编译rk3588的sdk时&#xff0c;遇到编译buildroot失败&#xff0c;提示如下&#xff1a; 提示缺失expect&#xff0c;但是实测相关工具是在的&#xff0c;如下显示&#xff1a; 然后查找借助各个ai工具&#xff0c;重新安装相关的工具&#xff0c;依然无解。 解决&am…...

计算机系统结构复习-名词解释2

1.定向&#xff1a;在某条指令产生计算结果之前&#xff0c;其他指令并不真正立即需要该计算结果&#xff0c;如果能够将该计算结果从其产生的地方直接送到其他指令中需要它的地方&#xff0c;那么就可以避免停顿。 2.多级存储层次&#xff1a;由若干个采用不同实现技术的存储…...