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

Frequency Domain Model Augmentation for Adversarial Attack

原文:[2207.05382] Frequency Domain Model Augmentation for Adversarial Attack (arxiv.org)

代码:https://github.com/yuyang-long/SSA.

黑盒攻击替代模型与受攻击模型之间的差距通常较大,表现为攻击性能脆弱。基于同时攻击不同模型可以提高对抗样本的迁移性观察,提出了利用变换后的图像模拟不同模型的模型增强方法。然而,现有的空间域转换并不能转化为显著多样化的增强模型。为了解决这个问题,我们提出了一种新的频谱模拟攻击,以针对正常训练和防御模型制作更多的可转移的对抗样本,具体地说,我们对输入应用频谱变换,从而在频域执行模型增强。我们从理论上证明了从频域导出的变换会导致一个多样化的频谱显著图,这是我们提出的一个反映替代模型多样性的指标。值得注意的是,我们的方法通常可以与现有的攻击相结合。

文章主要贡献:

1)我们发现,从空间域变换得到的增强模型没有显著的多样性,这可能限制了对抗性示例的可移植性。

2)为了克服这一局限性,我们引入了频谱显著图(基于频域视角)来研究模型之间的差异。受到我们发现的启发,我们提出了一种新的频谱模拟攻击,以有效地缩小替代模型和受害者模型之间的差距。

3)在ImageNet数据集上的大量实验突出了我们提出的方法的有效性。值得注意的是,与最先进的基于转移的攻击相比,我们的方法将正常训练模型的攻击成功率提高了6.3% ~ 12.2%,将防御模型的攻击成功率提高了5.6% ~ 23.1%。

Preliminaries

对抗样本的生成可以表示为以下优化问题:

由于参数不达,故直接优化等式(1)是不现实的,为了克服这一限制,一种常见的做法是通过可访问的替代模型制作对抗样本,并依赖可转移性来欺骗受攻击的模型,如I-FGSM,迭代t+1次时的对抗样本可以表示为:

Spectrum Saliency Map

从频域角度引入频谱显著性图,因为图像在频域的表示有一个固定的模式 。而且不同迭饿模型在做决策时通常依赖于每个输入图像的不同频率成分。

文章从频域角度探讨了模型之间的相关性,采用DCT将输入图像x从空间域变换到频域。DCT的数学定义可以简化为:

A是一个正交矩阵。从形式来看,振幅较高的低频分量往往集中在频谱的左上角,高频分量位于剩余的区域,本文提出了一个频谱显著图来挖掘不同模型的敏感点,其定义为:

表示IDCT,它可以将输入图像从频域恢复到空域。DCT和IDCT都是无损的,

无损:报损变换就是图像进行变换了之后,损失函数没有太大变换

根据之前的可视化,作者观察到,感兴趣的频率成分通常因模型而异。因此,频谱显著性图可以作为一个指标来反映一个特定的模型

Spectrum Transformation

上述分析激励我们,如果我们可以用与被攻击模型相似的频谱显著图来模拟增强模型,则替代模型和被攻击者模型之间的差距可以显著缩小,对抗样本可以更好地转移。

引理1:

定理1表明,有可能以矩阵变换的形式使两个矩阵(注意频谱显著性图的本质也是一个矩阵)相等。然而,被攻击模型的频谱显著性图在黑箱设置下通常无法获得。此外,替代模型的频谱显著性图是高维的,不保证是可逆的。

为了解决这一问题,我们提出了一种随机谱变换T(·),将矩阵乘法分解为矩阵加法和阿达玛乘积,得到不同的谱。具体来说,结合DCT/IDCT,我们的T(·)可以表示为:

从形式上看, T(⋅) 能够产生多样化的频谱显著性图,能够反映替代模型的多样性,同时,缩小与受害者模型的差距。如上图所示,以前提出的空域的变换(即b和c)对产生多样化的频谱显著性地图不太有效,这可能导致较弱的模型增强。相比之下,通过本文提出的频谱变换,产生的频谱显著性图(即a)几乎可以覆盖其他模型的所有图。

Spectrum Simulation Attack

本文提出的攻击方法称为(频谱模拟迭代快速梯度符号方法)

算法大概分为三个步骤:

step1(3-6):将频谱变换 T(⋅) 应用于输入图像,使从替代模型得到的梯度 与从新模型得到的结果大致相等,即模型增强;

step2(7):对N 个增强的模型的梯度进行平均,以获得一个更稳定的更新方向 g′;

step3(8):更新

相关文章:

Frequency Domain Model Augmentation for Adversarial Attack

原文:[2207.05382] Frequency Domain Model Augmentation for Adversarial Attack (arxiv.org)代码:https://github.com/yuyang-long/SSA.黑盒攻击替代模型与受攻击模型之间的差距通常较大,表现为攻击性能脆弱。基于同时攻击不同模型可以提高…...

react源码中的协调与调度

requestEventTime 其实在React执行过程中,会有数不清的任务要去执行,但是他们会有一个优先级的判定,假如两个事件的优先级一样,那么React是怎么去判定他们两谁先执行呢? // packages/react-reconciler/src/ReactFibe…...

如何快速、全面、深入地掌握一门编程语言

思考路线 如何快速? 什么样的Demo才能让人觉得你掌握了它? 空 判断:构造一个可以判断所有空的 is_empty 函数 for 循环:i 和 集合迭代两种 时间获取:年/月/日 时分秒 时间戳与时间格式互转 休眠时间函数 字符串处理…...

python五子棋代码最简单的,python五子棋代码画棋盘

大家好,本文将围绕python五子棋代码输赢逻辑判断展开说明,如何用python制作五子棋游戏是一个很多人都想弄明白的事情,想搞清楚python五子棋代码最简单的需要先了解以下几个事情。 1、求解用python 编写五子棋怎样编写判断输赢的函数&#xff…...

C++ 智能指针的原理:auto_ptr、unique_ptr、shared_ptr、weak_ptr

目录一、理解智能指针1.普通指针的使用二、智能指针1.auto_ptr2.unique_ptr3.shared_ptr(1)了解shared_ptr(2)shared_ptr的缺陷4.weak_ptr本文代码在win10的vs2019中通过编译。 一、理解智能指针 1.普通指针的使用 如果程序需要…...

二叉树前中后层次遍历,递归实现

文章目录前序遍历代码\Python代码\C中序遍历代码\Python代码\C后序遍历代码\Python代码\C层序遍历代码\Python代码\C反向层序遍历代码\Python代码\C总结前序遍历 题目链接   前序遍历意思就是按照“根节点-左子树-右子树”的顺序来遍历二叉树,通过递归方法来实现…...

【RA4M2系列开发板GPIO体验2按键控制LED】

【RA4M2系列开发板GPIO体验2按键控制LED】1. 前言2. 配置工程2.1 新建FSP项目2.2 硬件连接以及FSP配置2.2.1 硬件连接2.2.2 FSP配置3. 软件实现3.1 实现的功能3.2 FreeRTOS使用3.2.1 Stack分配函数3.2.2 LED任务3.2.3 Key任务3.3 程序设计3.3.1 设置输出hex文件3.3.2 编译3.3.3…...

初步介绍CUDA中的统一内存

初步介绍CUDA中的统一内存 更多精彩内容: https://www.nvidia.cn/gtc-global/?ncidref-dev-876561 文章目录初步介绍CUDA中的统一内存为此,我向您介绍了统一内存,它可以非常轻松地分配和访问可由系统中任何处理器、CPU 或 GPU 上运行的代码使用的数据。…...

UVM实战--加法器

前言 这里以UVM实战(张强)第二章为基础修改原有的DUT,将DUT修改为加法器,从而修改代码以使得更加深入的了解各个组件的类型和使用。 一. 组件的基本框架 和第二章的平台的主要区别点 (1)有两个transactio…...

Linux系统点亮LED

目录应用层操控硬件的两种方式sysfs 文件系统sysfs 与/sys总结标准接口与非标准接口LED 硬件控制方式编写LED 应用程序在开发板上测试对于一款学习型开发板来说,永远都绕不开LED 这个小小的设备,基本上每块板子都至少会有一颗 LED 小灯,对于我…...

在superset中快速制作报表或仪表盘

在中小型企业,当下需要快速迭代、快速了解运营效果的业务,急需一款开源、好用、能快速迭代生产的报表系统。 老板很关心,BI工程师很关心,同时系统开发人员也同样关心,一个好的技术选型往往能够帮助公司减少很多成本&a…...

【可视化实战】Python 绘制出来的数据大屏真的太惊艳了

今天我们在进行一个Python数据可视化的实战练习,用到的模块叫做Panel,我们通过调用此模块来绘制动态可交互的图表以及数据大屏的制作。 而本地需要用到的数据集,可在kaggle上面获取 https://www.kaggle.com/datasets/rtatman/188-million-us…...

Obsidium一键编码作业,Obsidia惊人属性

Obsidium一键编码作业,Obsidia惊人属性 每个区域都包含几个可定制的功能,允许用户确定如何完全执行应用程序的安全性。Obsidia的功能区允许用户存储任何调整或一键编码作业。 Obsidia惊人属性: 代码虚拟化:代码虚拟化允许您转换程序代码的特定…...

约束优化:约束优化的三种序列无约束优化方法

文章目录约束优化:约束优化的三种序列无约束优化方法外点罚函数法L2-罚函数法:非精确算法对于等式约束对于不等式约束L1-罚函数法:精确算法内点罚函数法:障碍函数法等式约束优化问题的拉格朗日函数法:Uzawas Method fo…...

RocketMQ快速入门:消息发送、延迟消息、消费重试

一起学编程,让生活更随和! 如果你觉得是个同道中人,欢迎关注博主gzh:【随和的皮蛋桑】。 专注于Java基础、进阶、面试以及计算机基础知识分享🐳。偶尔认知思考、日常水文🐌。 目录1、RocketMQ消息结构1.1…...

FANUC机器人通过KAREL程序实现与PLC位置坐标通信的具体方法示例

FANUC机器人通过KAREL程序实现与PLC位置坐标通信的具体方法示例 在通信IO点位数量足够的情况下,可以使用机器人的IO点传输位置数据,这里以传输机器人的实时位置为例进行说明。 基本流程如下图所示: 基本步骤可参考如下: 首先确认机器人控制柜已经安装了总线通信软件(例如…...

[蓝桥杯 2015 省 B] 移动距离

蓝桥杯 2015 年省赛 B 组 H 题题目描述X 星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为 1,2,3,⋯ 。当排满一行时,从下一行相邻的楼往反方向排号。比如:当小区排号宽度为 6 时,开始情形如下:我们的…...

Pandas库入门仅需10分钟

数据处理的时候经常性需要整理出表格,在这里介绍pandas常见使用,目录如下: 数据结构导入导出文件对数据进行操作 – 增加数据(创建数据) – 删除数据 – 改动数据 – 查找数据 – 常用操作(转置&#xff0…...

python的socket通信中,如何设置可以让两台主机通过外网访问?

要让两台主机通过外网进行Socket通信,需要在网络设置和代码实现两个方面进行相应的配置。下面是具体的步骤: 确认网络环境:首先要确保两台主机都能够通过外网访问。可以通过ping命令或者telnet命令来测试两台主机之间是否可以互相访问。 确定…...

检测数据的方法(回顾)

检测数据类型的4种方法typeofinstanceofconstructor{}.toString.call() 检测数据类型的4种方法 typeof 定义 用来检测数据类型的运算符 返回一个字符串,表示操作值的数据类型(7种) number,string,boolean,object,u…...

python/java环境配置

环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...

centos 7 部署awstats 网站访问检测

一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器

拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件&#xff1a; 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...