【ICIP2022】提高对抗攻击的迁移性(在注意力空间下扰动的多样性生成)

本文主要是介绍【ICIP2022】提高对抗攻击的迁移性(在注意力空间下扰动的多样性生成),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文首发于馆主君晓的博客,在注意力空间下扰动的多样性生成

背景介绍

  这是发布在ICIP(International Conference Image Processing) 2022会议上的一篇文章,作者是韩国科学技术研究院,论文原文:https://arxiv.org/abs/2208.05650。

  我们知道在2D对抗攻击的领域,目前还能够做的就是提升对抗攻击的迁移性,也就是在源模型中生成的对抗样本,对于其它模型而言同样具有攻击性,也就是能够让其它模型判断失误。但是目前的问题是,生成的对抗样本对于源模型而言,攻击成功率100%,但是对于黑盒模型而言,其攻击成功率就大打折扣。原因就是我们使用白盒模型生成的对抗样本过拟合了,就是生成的对抗样本过于拟合当前的模型,从而不具有较高的迁移性。作者在原文画了一幅图,我觉得形容的十分恰当。我们可以看到下面这张图,其中红色的部分是使用传统的对抗攻击方法生成的对抗样本。我们可以看到,对抗样本所处的位置在源模型上是能够使其给出错误的输出。但是在下面的Target A,Target B,Target C上,就能够被正确的分类。这张图,充分说明目前生成的对抗样本的缺点,对源模型过拟合。

image-20220824203639321

  在这篇文章当中,作者说之前的攻击大部分是基于梯度的攻击方式,这些攻击以一种确定的方式来生成对抗样本。在每一步的迭代过程中,他们以一种单一明确的方向来生成扰动,这样缺乏随机性,无法充分地搜寻整个空间。为了解决这个问题,作者提出了一种*ADA(Attentive Diversity Attack)*注意力多样性攻击的方法。也就是在特征空间上对模型显著关注的地方进行扰动,而且这种扰动是多样性的,之后我们会解释。

作者的Contributions

  • 是第一个在特征层将随机性引入并且提高对抗攻击迁移性的。
  • 提出了一种ADA对抗攻击方法,该方法能够能够以一种多样性的方式去扰动模型attention图像的部分,并且区别于以前基于梯度的那种确定的方式。
  • 大量的实验证明,他们的方法比现有的SOTA方法好。

ADA方法介绍

 首先简单介绍一下对抗攻击的目的,其实就是对输入图像做简单的修改,这样的修改对于人眼来说是微小的,不可见的,但是输入到模型中就能够让模型给出错误的输出。那么生成对抗样本就相当于优化下面的公式,最大化损失函数,取梯度上升的方向对输入进行修改。

image-20220824210728167

  上面所说的这种方式容易对源模型过拟合,从而对抗样本的迁移性变低了,黑盒攻击的成功率上不去。现在我们来介绍作者的ADA方法。下面先给出一张概览图,之后的介绍会详细说明这个图。

image-20220824211848439

Attack Generator

  与传统的基于梯度方式的对抗攻击方法不同的是,对于扰动的生成,这里作者是专门训练了一个网络,来生成扰动的噪声。网络的输入就是latent code与我们源模型最后一层卷积输出的特征。生成对抗样本的公式如公式2所示。

image-20220825115140792

注意力空间上的扰动

  我们都知道注意力机制,注意力其实就是一个权重,对于一个分类网络而言,其注意力就像上面的热力图一样,表示模型对某个部分比较关注,而正式由于模型对这个部分比较关注,最终才会有相应的预测结果。那换言之,如果我们使得模型关注的点不是正常的部分,那么就能够让模型输出错误。之所以在特征空间上去做扰动是因为我们的模型依赖于特征去做分类,那么在特征上去做扰动会更容易迁移到别的模型去。那么对于注意力的定义,作者给出了公式3。对于输入为x,实际目标为t的图像,其注意力A就等于权重 α t \alpha_{t} αt乘以特征F。这里的特征,我们通常取最后一个卷积层的输出。而权重 α t \alpha_{t} αt,则是通过 y t y_{t} yt来求特征图的梯度,然后使用全局平均池化(每一个channel求平均值)求得的(假设求得的梯度是BxCxHxW,那么在全局平均池化之后就变成了BXC),为了防止全局平均池化后,有的值极小,有的值极大,这里对channel的结果做了归一化,使得生成器能够破坏每个不同的feature map。然后优化公式4即可,只需要最大化对抗样本的注意力空间与原始注意力空间的距离即可。

image-20220824212443334

image-20220824225155457

特征多样化

  我们在上文中提到过,正是由于对抗样本对于源模型过拟合,所以才造成了对抗样本的迁移性不高。作者就想如果我们能够随机地去搜寻整个空间,那么我们生成的对抗样本的迁移性就会增加(其实这句话作者没说,我是根据作者文中的意思理解的)。那么这里作者在生成对抗噪声的网络的输入加入了latent code,隐码。为什么要加入这个呢?我们知道模型一旦训练好了,参数就是固定的,那么相同的输入得到相同的输出。因此如果我们想要有不同的输出,那么需要用到不同的输入,这里经过高斯分布采样的latent code是一个不错的选择。那么现在我们可以看公式5了,公式5就是想让给定两个不同latent code所形成的对抗样本之间的距离尽可能远。

image-20220825120337531

整体的损失函数

  那么这样整体的损失函数就有了,一个是分类本身的损失,另外一个是注意力的损失,再一个是特征多样性损失。三个损失加在一起,我们生成噪声的目的就是最大化这个损失。其中注意力损失的权重系数是10,特征多样性损失的权重系数是1000,分类损失的权重系数是1。

image-20220825120657663

实验结果

  下图中我们可以看到,作者提出的方法虽然在白盒攻击没有达到100%(主要是人家主攻迁移性,生成的对抗样本不过拟合白盒模型)。该方法虽然不说碾压其它的对抗攻击,但也很强了,与FIA做对比也丝毫不慌。关于FIA方法的介绍,在我之前的博客中有写,大家可以移步观看基于特征感知的对抗攻击。

image-20220825120745341

代码

  作者目前还没放出代码,但是作者说会在会议举行之前把代码给发布。关于实验的详细内容大家可以去看看原文,这里就不过多介绍了。总而言之感觉这篇论文的思路不错,效果也有。

这篇关于【ICIP2022】提高对抗攻击的迁移性(在注意力空间下扰动的多样性生成)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

python生成随机唯一id的几种实现方法

《python生成随机唯一id的几种实现方法》在Python中生成随机唯一ID有多种方法,根据不同的需求场景可以选择最适合的方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习... 目录方法 1:使用 UUID 模块(推荐)方法 2:使用 Secrets 模块(安全敏感场景)方法

Ubuntu如何分配​​未使用的空间

《Ubuntu如何分配​​未使用的空间》Ubuntu磁盘空间不足,实际未分配空间8.2G因LVM卷组名称格式差异(双破折号误写)导致无法扩展,确认正确卷组名后,使用lvextend和resize2fs... 目录1:原因2:操作3:报错5:解决问题:确认卷组名称​6:再次操作7:验证扩展是否成功8:问题已解

MySQL之InnoDB存储页的独立表空间解读

《MySQL之InnoDB存储页的独立表空间解读》:本文主要介绍MySQL之InnoDB存储页的独立表空间,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、独立表空间【1】表空间大小【2】区【3】组【4】段【5】区的类型【6】XDES Entry区结构【

CSS实现元素撑满剩余空间的五种方法

《CSS实现元素撑满剩余空间的五种方法》在日常开发中,我们经常需要让某个元素占据容器的剩余空间,本文将介绍5种不同的方法来实现这个需求,并分析各种方法的优缺点,感兴趣的朋友一起看看吧... css实现元素撑满剩余空间的5种方法 在日常开发中,我们经常需要让某个元素占据容器的剩余空间。这是一个常见的布局需求

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

python如何生成指定文件大小

《python如何生成指定文件大小》:本文主要介绍python如何生成指定文件大小的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python生成指定文件大小方法一(速度最快)方法二(中等速度)方法三(生成可读文本文件–较慢)方法四(使用内存映射高效生成

MySQL启动报错:InnoDB表空间丢失问题及解决方法

《MySQL启动报错:InnoDB表空间丢失问题及解决方法》在启动MySQL时,遇到了InnoDB:Tablespace5975wasnotfound,该错误表明MySQL在启动过程中无法找到指定的s... 目录mysql 启动报错:InnoDB 表空间丢失问题及解决方法错误分析解决方案1. 启用 inno

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

Java使用MethodHandle来替代反射,提高性能问题

《Java使用MethodHandle来替代反射,提高性能问题》:本文主要介绍Java使用MethodHandle来替代反射,提高性能问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录一、认识MethodHandle1、简介2、使用方式3、与反射的区别二、示例1、基本使用2、(重要)

在Java中基于Geotools对PostGIS数据库的空间查询实践教程

《在Java中基于Geotools对PostGIS数据库的空间查询实践教程》本文将深入探讨这一实践,从连接配置到复杂空间查询操作,包括点查询、区域范围查询以及空间关系判断等,全方位展示如何在Java环... 目录前言一、相关技术背景介绍1、评价对象AOI2、数据处理流程二、对AOI空间范围查询实践1、空间查