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

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)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI/ML 基础知识与常用术语全解析

目录 一.引言 二.AI/ML 基础知识 1.人工智能(Artificial Intelligence,AI) (1).定义 (2).发展历程 (3).应用领域 2.机器学习(Machine Learning,ML) (1).定义 (2).学习方式 ①.监督学习 ②.无监督…

python数据可视化销量柱状图练习

需求: 假设某店铺的商品销量分为 线上销量 和 线下销量: 使用 叠加柱状图 分别显示线上和线下销量。 在柱状图中添加每种商品的总销量。 图表美观,包含图例、网格、颜色区分等。 代码实现: import matplotlib.pyplot as plt imp…

SE16N 外键校验报错问题

问题: SE16N维护时,偶尔有一些莫名奇妙的校验报错,条目XX在表XX中不存在,但是实际数据时存在的。 分析: DEBUG过程中,定位到数据校验部分,发现当外键定义的关联字段中存在某些不在对应维护表中…

ESP32-S3模组上跑通ES8388(10)

接前一篇文章:ESP32-S3模组上跑通ES8388(9) 二、利用ESP-ADF操作ES8388 2. 详细解析 上一回解析了es8388_init函数中的第3段代码(也是实际与ES8388寄存器打交道的第1段代码),本回继续往下解析。为了便于理…

微软表示不会使用你的 Word、Excel 数据进行 AI 训练

​微软否认使用 Microsoft 365 应用程序(包括 Word、Excel 和 PowerPoint)收集数据来训练公司人工智能 (AI) 模型的说法。 此前,Tumblr 的一篇博文声称,雷德蒙德使用“互联体验”功能抓取客户的 Word 和 Excel 数据,用…

深入浅出:开发者如何快速上手Web3生态系统

Web3作为互联网的未来发展方向,正在逐步改变传统互联网架构,推动去中心化技术的发展。对于开发者而言,Web3代表着一个充满机遇与挑战的新领域,学习和掌握Web3的基本技术和工具,将为未来的项目开发提供强大的支持。那么…

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

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

redis中的哨兵

redis中的哨兵 一、哨兵机制的概念二、redis哨兵的部署2.1 docker的安装2.2 编排redis主从节点2.3 配置哨兵节点 三、redis哨兵的选举机制3.1 redis-master宕机之后的情况3.2 重启redis-master后的情况 四、redis哨兵机制的原理4.1主观下线4.2客观下线4.3选举leader节点4.4选出…

四轮转向键盘控制改进版 ros2(python)

目录 写在前面的话核心代码键盘输入发布车子速度和车子转向发布控制模式函数调用 完整代码运行演示 写在前面的话 上一篇博客:键盘控制车子四轮转向,原代码把键盘控制和车轮速度发布绑定到一起了,不适合后续的分布式独立开发,所以…

电阻的基本应用

从使用数量的角度来看,电阻在电子元器件中的数量要占到30%以上,电阻可以在电路中用于分压、分流、限流、负载、反馈、阻抗匹配、RC充放电电路、上下拉、运算放大器外围电路、兼容设计电路、电流转电压等,下面介绍一下电阻的基本应用 在集总参…

在Windows下编译支持https的wsdl2h

下载源码 在官网下载源码 安装Openssl 下载OpenSSL并安装,安装完成后需要将OpenSSL的路径添加到环境变量中 配置VS 1、打开工程 2、因为前面安装的OpenSLL是64位的,因此需要创建一个X64的配置 打开配置管理器,然后选择新建&#xff0…

基于SpringBoot + Vue + redis 的医院挂号管理系统的设计与实现

第6章 系统实现 本章节展示了公共模块,管理员模块,医生模块以及患者模块的部分功能截图。 6.1 登录注册模块 登录页面,用户在浏览器中输入网址后进入到系统的登录页面,用户可以选择角色进行登录,如图6-1所示。 图6-1…

【机器学习】支持向量机SVR、SVC分析简明教程

关于使用SVM进行回归分析的介绍很少,在这里,我们讨论一下SVR的理论知识,并对该方法有一个简明的理解。 1. SVC简单介绍 SVR全称是support vector regression,是SVM(支持向量机support vector machine)对回…

大数据期末笔记

第一章、大数据概述 人类的行为及产生的事件的一种记录称之为数据。 1、大数据时代的特征,并结合生活实例谈谈带来的影响。 (一)特征 1、Volume 规模性:数据量大。 2、Velocity高速性:处理速度快。数据的生成和响…

贝锐自研智慧网关系统OrayOS升级,适配Banana PI开发板BPI-R3 Mini

为了满足多元化的应用场景,贝锐与Banana PI携手合作,贝锐自研新一代云智慧网关系统OrayOS不仅已成功适配BPI-R3,还进一步扩展至BPI-R3 Mini,提供了更丰富的选择。在全球工业物联网、视频监控管理以及企业级办公存储等领域&#xf…

Android Studio使用soundtouch实现变声,AudioRecord,AudioTrack录音和播放,转换pcm文件为wav文件

1.目标概要 分步骤实现为 1.0 集成使用soundtouch so文件 done 1.1 audiorecord和audiotrack 录音(pcm文件)并播放 done 1.2 把录音后文件转成wav文件 并播放 done 1.3 soundtouch变音后播放 done 2.实现 2.1 集成使用soundtouch so文件 编译和使用so…

SpringBoot 架构的新冠密接者跟踪系统:安全防护体系深度解读

第3章 系统分析 在进行系统分析之前,需要从网络上或者是图书馆的开发类书籍中收集大量的资料,因为这个环节也是帮助即将开发的程序软件制定一套最优的方案,一旦确定了程序软件需要具备的功能,就意味着接下来的工作和任务都是围绕着…

Opencv+ROS实现颜色识别应用

目录 一、工具 二、原理 概念 本质 三、实践 添加发布话题 主要代码 四、成果 五、总结 一、工具 opencvros ubuntu18.04 摄像头 二、原理 概念 彩色图像:RGB(红,绿,蓝) HSV图像:H&#xff0…

图解人工智能:从规则到深度学习的全景解析

🌟作者简介:热爱数据分析,学习Python、Stata、SPSS等统计语言的小高同学~🍊个人主页:小高要坚强的博客🍓当前专栏:Python之机器学习🍎本文内容:图解人工智能:…

【FPGA开发】Vivado自定义封装IP核,绑定总线

支持单个文件的封装、整个工程的封装,这里用单个文件举例。 在文件工程目录下,自建一个文件夹,里面放上需要封装的verilog文件。 选择第三个,指定路径封装,找到文件所在目录 取个名,选择封装IP的路径 会…