【论文笔记】Frequency Domain Model Augmentation for Adversarial Attack

news2025/2/9 11:55:45

Abstract

对于黑盒攻击,替代模型与受害模型之间的差距通常较大,表现为较弱的攻击性能。基于对抗样本的可迁移性可以通过同时攻击不同模型来提高的观察,提出了利用变换图像模拟不同模型的模型增强方法。
然而,现有的空间域变换并没有转化为显著不同的增广模型。

本问提出一种新颖的频谱模拟攻击,针对正常训练和防御模型,生成更多可转移的对抗样本。具体来说,对输入进行频谱变换,从而在频域进行模型增强(model augmentation)。本文从理论上证明了从频域导出的变换会导致不同的频谱显著图,提出的指标可以反映替代模型的多样性。

1 Introduction

黑盒模型设置下,替代模型与受害者模型之间的差距通常较大,表现为对抗样本的可迁移性较低。虽然同时攻击不同的模型可以提高模型的可迁移性,但是收集大量的不同模型是很困难的,并且从头开始训练一个模型也是非常耗时的。

为了解决这个问题,模型增强(model augmentation)被提出。典型的模型增强方法旨在通过对输入进行保损失变换来模拟不同的模型。然而,现有的所有工作都是在空间域上研究不同模型之间的关系,这可能会忽略它们之间的本质区别。

Nesterov Accelerated Gradient and Scale Invariance for Adversarial Attacks (Jiadong Lin et al., 2020)
保损失变换(Loss-preserving Transformation):给定输入 x x x,其真标签 y t r u e y^{true} ytrue,一个分类器 f ( x ) : x ∈ X → y ∈ Y f(x):x\in\mathcal{X}\rightarrow y\in\mathcal{Y} f(x):xXyY,损失函数为交叉熵损失 J ( x , y ) J(x,y) J(x,y)。如果存在一个输入变换 T ( ⋅ ) \mathcal{T}(\cdot) T()满足对于所有 x x x,都有 J ( T ( x ) , y t r u e ) ≈ J ( x , y t r u e ) J(\mathcal{T}(x),y^{true})\approx J(x,y^{true}) J(T(x),ytrue)J(x,ytrue),那么 T ( ⋅ ) \mathcal{T}(\cdot) T()就是包损失变换。
模型增强(Model Augmentation):给定输入 x x x,其真标签 y t r u e y^{true} ytrue,一个分类器 f ( x ) : x ∈ X → y ∈ Y f(x):x\in\mathcal{X}\rightarrow y\in\mathcal{Y} f(x):xXyY,损失函数为交叉熵损失 J ( x , y ) J(x,y) J(x,y),如果存在一个保损失变换 T ( ⋅ ) \mathcal{T}(\cdot) T(),于是可以从 f f f推导出新的模型: f ′ ( x ) = f ( T ( x ) ) f'(x)=f(\mathcal{T}(x)) f(x)=f(T(x))。定义这样的模型获得方法为模型增强。

为了更好地揭示模型之间的差异,本文从频域的角度引入了频谱显著图(见3.2),因为在该域中图像的表示具有固定的模式,例如图像的低频分量对应于它的轮廓。具体地,频谱显著图被定义为模型损失函数关于输入图像频谱的梯度。 如图1(d~g)所示,不同模型的频谱显著图明显不同,这清楚地揭示了每个模型在相同频率成分上有不同的兴趣。
![[Pasted image 20241130180124.png]]

图1:对正常训练的模型Inc-v3、Inc-v4、Res-152和防御模型IncResv2ens的频谱显著图(所有图像的平均值)进行可视化。(a):变换图像( N = 5 N=5 N=5)在频率域中进行的结果。(b-c):在空间域中进行尺度不变( m 1 = 5 m_1=5 m1=5)和Admix( m 1 = 5 , m 2 = 3 m_1 = 5 , m_2 = 3 m1=5,m2=3)变换的结果. (d-g):原始图像在四种不同模型上的结果。

受此启发,本文考虑调整频谱显著图来模拟更多样的替代模型,从而生成更多可迁移的对抗样本。为此,提出了一种基于离散余弦变换(Discrete cosine transform, DCT)和离散余弦逆变换(Inverse discrete cosine transform, IDCT)技术的频谱变换,以使输入图像多样化。本文从理论上证明了这种频谱变换可以生成不同的频谱显著图,从而模拟不同的替代模型。如图1(a~c)所示,在对不同增强模型的结果进行平均后,只有本文得到的频谱显著图可以覆盖几乎所有其他模型的结果。这表明提出的频谱变换可以有效地缩小替代者模型和受害者模型之间的差距。

3 Methodology

3.1 Preliminaries

f θ : x → y f_\theta:x\rightarrow y fθ:xy表示分类模型, θ , x , y \theta,x,y θ,x,y分别表示模型参数,干净输入图像和真标签。目标是生成对抗性扰动 δ \delta δ

3.2 Spectrum Saliency Map

为了有效地缩小模型之间的差距,揭示它们之间的本质区别是非常重要的。模型增强是最有效的策略之一。
然而,现有工作通常通过在空间域应用损失保持变换来增强替代模型,这可能会忽略模型之间的本质区别,从而降低替代模型的多样性。直观上,由于图像中关键物体的位置是固定的,不同的模型通常关注每个输入图像的相似空间区域。相比之下,不同的模型在进行决策时通常依赖于每个输入图像的不同频率成分。

受此启发,本文转而从频域的角度来探究模型之间的相关性。具体来说,我们采用DCT将输入图像 x x x从空间域变换到频率域。DCT(记为 D ( ⋅ ) \mathcal{D}(\cdot) D())的数学定义在下文中可以简化为:
D ( x ) = A x A T (3) \mathcal{D}(x)=AxA^T\tag{3} D(x)=AxAT(3)
其中 A A A是正交矩阵, A A T = I AA^T=I AAT=I。从形式上看,幅值较高的低频成分往往集中在频谱的左上角,高频成分则位于剩余区域。显然,与空间域中图像的多样化表示相比,频域的模式更加固定。于是本文提出频谱显著图 S ϕ S_\phi Sϕ来挖掘不同模型 f ϕ f_\phi fϕ的敏感点,定义为:
S ϕ = ∂ J ( D I ( D ( x ) ) , y ; ϕ ) ∂ D ( x ) (4) S_\phi=\frac{\partial J(\mathcal{D}_\mathcal{I}(\mathcal{D}(x)),y;\phi)}{\partial \mathcal{D}(x)}\tag{4} Sϕ=D(x)J(DI(D(x)),y;ϕ)(4)
其中 D I \mathcal{D}_\mathcal{I} DI表示IDCT,将输入图像从频域恢复回空间域。DCT和IDCT都是无损变换,即 D I ( D ( x ) ) = A T D ( x ) A = x \mathcal{D}_\mathcal{I}(\mathcal{D}(x))=A^T\mathcal{D}(x)A=x DI(D(x))=ATD(x)A=x

从图1所示的 S ϕ S_\phi Sϕ可视化结果可以看出,感兴趣的频率成分通常因模型而异。因此,频谱显著图可以作为反映特定模型的指标。

3.3 Spectrum Transformation

以上的分析表明,如果能够模拟具有与受害者模型相似的频谱显著图的增强模型,那么替代模型和受害者模型之间的差距可以显著缩小,并且对抗样本可以具有更强的迁移能力。

Lemma 1:假设 B 1 B_1 B1 B 2 B_2 B2 n × n n\times n n×n的矩阵,且 B 1 B_1 B1可逆,则必然存在一个 n × n n\times n n×n的矩阵 C C C,使得 B 1 × C = B 2 B_1\times C=B_2 B1×C=B2

引理1表明,以矩阵变换的形式使得两个矩阵(注意到频谱显著图的本质也是一个矩阵)相等是可能的。然而,在黑盒设置下,被攻击模型的频谱显著图通常是不可用的。此外,替代模型的频谱显著图是高维的,不能保证是可逆的。
为了解决这个问题,本文提出了一种随机谱变换 T ( ⋅ ) \mathcal{T}(\cdot) T(),它将矩阵乘法分解为矩阵加法和Hadamard积,从而得到不同的谱。具体地,结合DCT / IDCT, T ( ⋅ ) \mathcal{T}(\cdot) T()可以表示为:
T ( x ) = D I ( ( D ( x ) + D ( ξ ) ) ⊙ M ) = D I ( D ( x + ξ ) ⊙ M ) (6) \begin{aligned} \mathcal{T}(x)&=\mathcal{D}_\mathcal{I}((\mathcal{D}(x)+\mathcal{D}(\xi))\odot M)\\ &=\mathcal{D}_\mathcal{I}(\mathcal{D}(x+\xi)\odot M) \end{aligned}\tag{6} T(x)=DI((D(x)+D(ξ))M)=DI(D(x+ξ)M)(6)
其中 ⊙ \odot 为Hadamard积, ξ ∼ N ( 0 , σ 2 I ) \xi\sim\mathcal{N}(0,\sigma^2 I) ξN(0,σ2I) M ∼ U ( 1 − ρ , 1 + ρ ) M\sim\mathcal{U}(1-\rho,1+\rho) MU(1ρ,1+ρ)分别从高斯分布和均匀分布中采样。在实际应用中,常见的DCT / IDCT范式,即在应用DCT之前将图像分割成若干个块,并不能很好地提高可迁移性(实验详情见消融研究)。因此,在实验中对整幅图像进行DCT变换

T ( ⋅ ) \mathcal{T}(\cdot) T()能够产生多样化的频谱显著图,可以反应多样化的代理模型,同时减少被攻击模型之间的距离。如图1所示,先前提出的空间域变换(即(b&c))对生成多样化的频谱显著图效果较差,这可能导致较弱的模型增强。相反,通过我们提出的频谱变换,得到的频谱显著图(即(a))可以覆盖几乎所有其他模型的频谱显著图。

3.4 Attack Algorithm

本文提出S2I-FGSM (Spectrum Simulation Iterative Fast Gradient Sign Method),流程见Algorithm 1。
![[Pasted image 20241130234434.png]]

从技术上讲,攻击主要可以分为三个步骤。
首先,在第3~6行中,对输入图像 x t ′ x'_t xt应用我们的频谱变换 T ( ⋅ ) \mathcal{T}(\cdot) T(),使得从替代模型得到的梯度 g i ′ g'_i gi近似等于从一个新模型得到的结果,即模型增强。其次,在第7行中,我们平均 N N N个增广模型的梯度,以获得更稳定的更新方向 g ′ g' g。最后,在第8行中,我们更新迭代 t + 1 t + 1 t+1的对抗样本 x ’ t + 1 x’_{t+1} xt+1。简而言之,上述过程可以用下式概括:
x t + 1 ′ = clip x , ϵ { x t ′ + α ⋅ s i g n ( 1 N ∑ i = 1 N ∇ x t ′ J ( T ( x t ′ ) , y ; ϕ ) ) } (7) x'_{t+1}=\text{clip}_{x,\epsilon}\{x'_t+\alpha\cdot sign(\frac{1}{N}\sum_{i=1}^N\nabla_{x'_t}J(\mathcal{T}(x'_t),y;\phi))\}\tag{7} xt+1=clipx,ϵ{xt+αsign(N1i=1NxtJ(T(xt),y;ϕ))}(7)

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

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

相关文章

【人工智能-科普】深度森林:传统机器学习与深度学习的创新结合

文章目录 深度森林:传统机器学习与深度学习的创新结合一、什么是深度森林?二、深度森林的工作原理1. **特征提取和转换**2. **多层级训练**3. **最终分类**三、深度森林的关键组成部分1. **森林层(Forest Layer)**2. **级联结构(Cascade Structure)**3. **特征增强(Feat…

嵌入式硬件实战提升篇(三)商用量产电源设计方案 三路电源输入设计 电源管理 多输入供电自动管理 DCDC降压

引言:本文你能实际的了解到实战量产产品中电源架构设计的要求和过程,并且从实际实践出发搞懂电源架构系统,你也可以模仿此架构抄板到你自己的项目,并结合硬件篇之前的项目以及理论形成正真的三路电源输入设计与开发板电源架构块供…

网络——HTTP与HTTPS三次握手和四次挥手

HTTP协议本身并不直接处理TCP连接的建立和关闭,这些是由底层的TCP协议来完成的。但是,由于HTTP通常运行在TCP之上,因此理解TCP的三次握手(用于建立连接)和四次挥手(用于关闭连接)对于理解HTTP通…

了解Linux —— 理解其中的权限

前言 在了解Linux权限之前,先来探讨我们使用的shell 命令它到底是什么? Linux 是一个操作系统,我们称其为内核(kernel) ,正常情况下,我们一般用户操作并不是去直接使用内核,而是通过kernel 的外壳程序&…

TYUT设计模式大题

对比简单工厂,工厂方法,抽象工厂模式 比较安全组合模式和透明组合模式 安全组合模式容器节点有管理子部件的方法,而叶子节点没有,防止在用户在叶子节点上调用不适当的方法,保证了的安全性,防止叶子节点暴露…

深入理解 AI 产品的核心价值——《AI产品经理手册》

现在,人们对AI 充满了兴趣和看法。这些年,我亲身经历了对AI 的感受和认识的此起彼伏。我还是学生时,就对AI 以及伴随而来的第四次工业革命感到无比激动和期待。然而,当我开始组织读书会,每月阅读有关AI 的书籍&#xf…

Vue 将推出「无虚拟DOM」版本,又是新的前端框架趋势?

文章目录 背景无虚拟DOM版的Vue3Vue Vapor 在线演练题外话:渲染流程 背景 随着 React 和 Vue 这些前端框架的爆火,他们的渲染方式,虚拟DOM,也跟着火了起来,大家都认为这是一种高性能批量更新DOM的方式但是近一两年有不…

IDEA自定义帆软函数步骤详解

前序: 在帆软里面有很多内置函数可以供我们使用,比如计算总和的SUM()函数, 计算绝对值的ABS()函数等等,但是很多时候随着业务的复杂性,这些函数已经不满足于我们复杂的计算要求,所以我们可以自定义一些函数来满足我们的…

pnpm的menorepo项目配置eslint和prettier

1、使用eslint脚手架安装相关依赖并生成对应配置文件 pnpm dlx eslint/create-config 自动安装了以下几个插件 生成的配置文件如下所示,和csdn其他教程里面不一样,这是因为eslint升级成9.xx版本了 需要node版本20以上 eslint 9.x 升级或使用指南&#xf…

计算机毕业设计Python+卷积神经网络股票预测系统 股票推荐系统 股票可视化 股票数据分析 量化交易系统 股票爬虫 股票K线图 大数据毕业设计 AI

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

AWS账号提额

Lightsail提额 控制台右上角,用户名点开,选择Service Quotas 在导航栏中AWS服务中找到lightsail点进去 在搜索框搜索instance找到相应的实例类型申请配额 4.根据自己的需求选择要提额的地区 5.根据需求来提升配额数量,提升小额配额等大约1小时生效 Ligh…

Netty的内存池机制怎样设计的?

大家好,我是锋哥。今天分享关于【Netty的内存池机制怎样设计的?】面试题。希望对大家有帮助; Netty的内存池机制怎样设计的? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Netty 的内存池机制设计是为了提高性能&…

bind实验

服务端 查看域名 [rootclient yum.repos.d]# hostname client 设置域名 [rootclient yum.repos.d]# hostnamectl set-hostname dns1.openlab.edu [rootclient yum.repos.d]# cd [rootclient ~]# hostname dns1.openlab.edu 安装bind包 [rootclient ~]# yum install bind -y…

STM32 使用ARM Compiler V6 编译裸机 LWIP协议栈报错的解决方法

在lwip 的cc.h 中使用以下宏定义,来兼容 V5 和 V6编译器 #if defined (__ARMCC_VERSION) && (__ARMCC_VERSION > 6010050) /* ARM Compiler V6 */ #define __CC_ARM /* when use v6 compiler define this */ #endifV6编译的速度确实比V5块了好多倍。 …

鸿蒙开发-HMS Kit能力集(应用内支付、推送服务)

1 应用内支付 开发步骤 步骤一:判断当前登录的华为账号所在服务地是否支持应用内支付 在使用应用内支付之前,您的应用需要向IAP Kit发送queryEnvironmentStatus请求,以此判断用户当前登录的华为帐号所在的服务地是否在IAP Kit支持结算的国…

VBA代码解决方案第二十讲:EXCEL工作表的添加与删除

《VBA代码解决方案》(版权10028096)这套教程是我最早推出的教程,目前已经是第三版修订了。这套教程定位于入门后的提高,在学习这套教程过程中,侧重点是要理解及掌握我的“积木编程”思想。要灵活运用教程中的实例像搭积木一样把自己喜欢的代码…

LeetCode-315. Count of Smaller Numbers After Self

目录 题目描述 解题思路 【C】 【Java】 复杂度分析 LeetCode-315. Count of Smaller Numbers After Selfhttps://leetcode.com/problems/count-of-smaller-numbers-after-self/description/ 题目描述 Given an integer array nums, return an integer array counts whe…

用c语言完成俄罗斯方块小游戏

用c语言完成俄罗斯方块小游戏 这估计是你在编程学习过程中的第一个小游戏开发,怎么说呢,在这里只针对刚学程序设计的学生,就是说刚接触C语言没多久,有一点功底的学生看看,简陋的代码,简陋的实现&#xff0…

23种设计模式-原型(Prototype)设计模式

文章目录 一.什么是原型设计模式?二.原型模式的特点三.原型模式的结构四.原型模式的优缺点五.原型模式的 C 实现六.原型模式的 Java 实现七. 代码解析八.总结 类图: 原型设计模式类图 一.什么是原型设计模式? 原型模式(Prototype…

基于大数据python 房屋价格数据分析预测可视化系统(源码+LW+部署讲解+数据库+ppt)

!!!!!!!!! 很对人不知道选题怎么选 不清楚自己适合做哪块内容 都可以免费来问我 避免后期給自己答辩找麻烦 增加难度(部分学校只有一次答辩机会 没弄好就延迟…