【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

相关文章

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

MySQL8.0临时表空间的使用及解读

《MySQL8.0临时表空间的使用及解读》MySQL8.0+引入会话级(temp_N.ibt)和全局(ibtmp1)InnoDB临时表空间,用于存储临时数据及事务日志,自动创建与回收,重启释放,管理高... 目录一、核心概念:为什么需要“临时表空间”?二、InnoDB 临时表空间的两种类型1. 会话级临时表

Vue3 如何通过json配置生成查询表单

《Vue3如何通过json配置生成查询表单》本文给大家介绍Vue3如何通过json配置生成查询表单,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录功能实现背景项目代码案例功能实现背景通过vue3实现后台管理项目一定含有表格功能,通常离不开表单

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅

Python使用python-pptx自动化操作和生成PPT

《Python使用python-pptx自动化操作和生成PPT》这篇文章主要为大家详细介绍了如何使用python-pptx库实现PPT自动化,并提供实用的代码示例和应用场景,感兴趣的小伙伴可以跟随小编... 目录使用python-pptx操作PPT文档安装python-pptx基础概念创建新的PPT文档查看

在ASP.NET项目中如何使用C#生成二维码

《在ASP.NET项目中如何使用C#生成二维码》二维码(QRCode)已广泛应用于网址分享,支付链接等场景,本文将以ASP.NET为示例,演示如何实现输入文本/URL,生成二维码,在线显示与下载的完整... 目录创建前端页面(Index.cshtml)后端二维码生成逻辑(Index.cshtml.cs)总结

Python实现数据可视化图表生成(适合新手入门)

《Python实现数据可视化图表生成(适合新手入门)》在数据科学和数据分析的新时代,高效、直观的数据可视化工具显得尤为重要,下面:本文主要介绍Python实现数据可视化图表生成的相关资料,文中通过... 目录前言为什么需要数据可视化准备工作基本图表绘制折线图柱状图散点图使用Seaborn创建高级图表箱线图热