AdvDrop——一种通过丢弃频域信息的对抗样本

2023-10-12 21:50

本文主要是介绍AdvDrop——一种通过丢弃频域信息的对抗样本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

参考代码AdvDrop参考代码

对抗样本:在原始样本添加一些人眼无法察觉的扰动(这样的扰动不会影响人类的识别,但是却很容易愚弄模型),致使深度学习模型做出错误的判断。

AdvDrop主要思想:通过将图像的空间域转化为频域来丢弃信息,生成对抗样本。

主要作用:

1、之前的对抗样本都是以增加补丁或其他增添信息的形式来生成对抗样本,AdvDrop首次提出了丢弃信息来生成对抗样本。

2、目前的对抗样本防御方式主要是增加干扰,基于丢弃其中的恶意信息,而AdvDrop对于这种防御方式具有很强的鲁棒性

3、相比于其他攻击方式,AdvDrop更不易被察觉。

 整体步骤

 空间域转化为频域:

低频分量(低频信号)代表着图像中亮度或者灰度值变化缓慢的区域,也就是图像中大片平坦的区域,描述了图像的主要部分。主要对整幅图像强度的综合度量,多表示图像的一些主要部分。

高频分量(高频信号)对应着图像变化剧烈的部分,也就是图像的边缘(轮廓)或者噪声以及细节部分,主要是对图像边缘和轮廓的度量。

DCT变换对图像进行压缩的原理是减少图像中的高频分量,高频主要是对应图像中的细节信息,而我们人眼对细节信息并不是很敏感,因此可以去除高频的信息量。

DCT变换公式:使用离散的余弦函数

 量化(信息丢弃):

 

存在的问题:该函数时阶梯函数,反向传播是无法求导

解决方案: 替换连续函数

 

当其中的参数变化时,函数的示意图如下:

 

可见该函数在α取一定值时接近于阶梯函数。 

在这里,为了使图像变化不易被察觉,我们使用一个范数来对该量化表q进行约束。

 将图像从频域转化为空间域:

使用反离散余弦函数IDCT对其做逆向处理

注意:在DCT和IDCT的过程中,变化是无损变化,即不丢弃图像中的信息,只有在量化过程中,才会有信息的丢失。

实验结果:

攻击成功率

相比其他的攻击方式有更高的成功率,尽管在某些防御手段下效果不好。

 可察觉性

另外,在不同的范数约束下,AdvDrop都有比PGD更好的不易察觉性。

解释:

 AdvDrop关注更具有纹理细节的部分,AdvDrop倾向于高频信息的丢失,也就是对应于图像的细节部分。

AdvDrop是一种以丢弃图像频域信息的攻击方式,这打开了对抗样本构造的新模式的大门。同时也说明了通过丢弃信息来生成攻击的其他方式也是可行的。此外它也可以应用于对DNN的解释性的说明。

想法:通过频域的修补技术,对丢失的信息进行修复,来抵御AdvDrop的攻击。

这篇关于AdvDrop——一种通过丢弃频域信息的对抗样本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/198696

相关文章

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法

《Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法》在Linux系统中,管理磁盘设备和分区是日常运维工作的重要部分,而lsblk命令是一个强大的工具,它用于列出系统中的块设备(blockde... 目录1. 查看所有磁盘的物理信息方法 1:使用 lsblk(推荐)方法 2:使用 fdisk -l(

SpringBoot如何对密码等敏感信息进行脱敏处理

《SpringBoot如何对密码等敏感信息进行脱敏处理》这篇文章主要为大家详细介绍了SpringBoot对密码等敏感信息进行脱敏处理的几个常用方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录​1. 配置文件敏感信息脱敏​​2. 日志脱敏​​3. API响应脱敏​​4. 其他注意事项​​总结

springboot实现配置文件关键信息加解密

《springboot实现配置文件关键信息加解密》在项目配置文件中常常会配置如数据库连接信息,redis连接信息等,连接密码明文配置在配置文件中会很不安全,所以本文就来聊聊如何使用springboot... 目录前言方案实践1、第一种方案2、第二种方案前言在项目配置文件中常常会配置如数据库连接信息、Red

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)

《使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)》PPT是一种高效的信息展示工具,广泛应用于教育、商务和设计等多个领域,PPT文档中常常包含丰富的图片内容,这些图片不仅提升了... 目录一、引言二、环境与工具三、python 提取PPT背景图片3.1 提取幻灯片背景图片3.2 提取

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

一文详解SQL Server如何跟踪自动统计信息更新

《一文详解SQLServer如何跟踪自动统计信息更新》SQLServer数据库中,我们都清楚统计信息对于优化器来说非常重要,所以本文就来和大家简单聊一聊SQLServer如何跟踪自动统计信息更新吧... SQL Server数据库中,我们都清楚统计信息对于优化器来说非常重要。一般情况下,我们会开启"自动更新