论文研读1——对抗样本(Adversarial Example)综述

news/2024/5/15 13:54:53/文章来源:https://blog.csdn.net/weixin_45845039/article/details/127616829

论文地址:Threat of Adversarial Attacks on Deep Learning in Computer Vision: A Survey

部分内容参考科研篇二:对抗样本(Adversarial Example)综述

一、主要内容

肯定了深度学习在计算机视觉等领域的贡献,但深度学习模型很容易受到低对抗攻击,本文对对抗性攻击进行了全面调查和总结,包括针对图像分类等任务的对抗性攻击及其方法,以及介绍了在现实世界条件中处理对抗性攻击的方法。同时对如何防御这些攻击也做出了总结和回答。

二、术语定义

  • 对抗性样本/图像(Adversarial example/image):是一个干净的图像被故意干扰(例如,通过添加噪声)来混淆/欺骗一个机器学习(例如深度神经网络)的修改版本
  • 对抗性扰动(Adversarial perturbation):添加到干净图像中的噪声,使其成为一个对抗性样本
  • 对抗性训练(Adversarial training*):除了使用原始的干净图像之外,还使用对抗性样本/图像来训练模型
  • 对抗方(Adversary):指产生对抗样本的代理(agent),有时候也把对抗样本本身称作对抗方
  • 黑盒攻击(Black-box attacks):对抗样本是在不知道该模型的情况下生成的。在某些情况下,假设对抗方对模型的了解有限(例如,它的训练过程/或其体系结构),但肯定不知道模型的参数。在其他情况下,使用有关目标模型的任何信息都被称为“半黑盒”攻击。
  • 探测器(Detector):一种(仅限)检测一个图像是否是对抗样本的机制
  • 愚弄率(Fooling ratio/rate):一个被训练过的模型在图片被干扰之后改变其原本预测的类别的比例。
  • 一次性/一步式/单步方法(One-shot/One-step methods):通过执行单步计算来产生对抗性扰动,例如计算一次模型损失(loss)的梯度。与之对应的是迭代方法,该方法多次执行相同的计算来获得一个单一的扰动,后者计算成本通常很高
  • 外观不可感知的/难以察觉的(Quasi-imperceptible):对抗样本引入的干扰可以微小到不被人类感知
  • 修正器(Rectifier):对对抗样本进行修正,使其在目标模型上的预测结果与原始干净样本的结果一致。
  • 有目标攻击(Targeted attacks):让模型将对抗样本错误地分成某种特定的类别。与之对应的是无目标攻击,后者目的相对简单,它只追求让模型预测错误,并不具体到某一具体类别。
  • 威胁模型(Threat model):指被一种方法所考虑到的潜在的攻击,如黑盒攻击
  • 迁移性(Transferability):对抗样本即便在攻击其他模型(指不是用来生成该对抗样本的模型)时仍能保持其有效性的一种特性。
  • 通用干扰(Universal perturbation):能够在任意图片上愚弄到模型。通用性指的是干扰在对图像没有任何知识的情况下的性质,与之前提到的迁移性不一样。
  • 白盒攻击(White-box attacks):假设了目标模型的完整知识,包括其参数值,架构,训练方法,以及在某些情况下它的训练数据。

三、对抗攻击

主要内容:回顾主要在“实验室设置”中欺骗深度神经网络的对抗性攻击方法,按照时间顺序组织,介绍了流行方法的技术细节以及该领域新兴方向的一些代表性技术。主要分为两部分,一是攻击深度神经网络执行计算机视觉中最常见的任务的方法,即分类/识别,二是主要用于攻击此任务之外的深度学习方法

3.1 分类攻击

Box-constrained L-BFGS(盒约束的L-BFGS)

在这里插入图片描述

Fast Gradient Sign Method (FGSM)(快速梯度符号法)

三个团队的工作: Goodfellow等人,Kurakin等人,Miyato等人。总的来说,所有的这些方法都被视作“one-step”或者“one-shot”方法。

在这里插入图片描述

Basic & Least-Likely-Class Iterative Methods(BIM法)-基本迭代方法

"one-step"方法通过在增加分类器损失的方向上采取一个大的步骤(即一步梯度上升)来扰动图像。该想法的直观扩展是在调整每一步后的方向时迭代地采取多个小步骤,相当于∞版本的投影梯度下降(PGD),一种标准的凸优化方法

Jacobian-based Saliency Map Attack (JSMA) 基于雅可比矩阵的显著性映射攻击

该方法通过限制扰动的0-范数来创建对抗性攻击(大多采用∞范数或2范数),只需要修改图像中的几个像素,而不是干扰整个图像来欺骗分类器。该算法一次修改一个干净图像的像素,并监测该变化对结果分类的影响

Carlini and Wagner Attacks (C&W)

Carlini和Wagner在蒸馏防御之后提出了三种对抗攻击方法。他们的工作表明:针对目标网络的防御蒸馏几乎完全无法对抗这些攻击。同时还表明使用不安全(未蒸馏)网络生成的对抗性例子可以很好地转移到安全(蒸馏)网络中,从而让计算出的扰动适用于黑盒攻击。
此外,论文中还提到了其他攻击方法,如 One Pixel AttackUPSET and ANGRIHoudiniAdversarial Transformation Networks (ATNs)Miscellaneous Attacks

涉及到的方法总结如下:
在这里插入图片描述

3.2在其他方面的攻击

Attacks on Autoencoders and Generative Models(编码方面), Attacks on Deep Reinforcement Learning(强化学习方面),Attacks on Semantic Segmentation and Object Detection(语义分割和对象检测方面)

四、现实世界中的攻击

如面部属性攻击,手机摄像头攻击,道路标志攻击,3D对象攻击(更侧重真实世界中的物体)

五、关于普遍扰动的存在问题

Moosavi-Dezfooli等人最初认为,普遍的对抗性扰动利用了由分类器诱导的决策边界之间的几何相关性,它们的存在部分归功于一个包含了决策边界的法线的子空间,它们证实了存在共同的方向(跨数据点共享),沿着该放下,分类器的决策边界可以高度正弯曲。此外,Fawzi等人以及Tramer等人也认为,在数据点附近的决策边界的曲率与分类器等模型在面对攻击时的脆弱性有关。这也引发了后来GAN模型的出现。

六、 对抗防御

现在的对抗防御方法大致分为以下三类
在这里插入图片描述

对抗防御方法方法描述方法思路
Modified training/input 修改训练/输入在学习过程中,使用修改后的训练;或在测试过程中使用修改后的输入通过对输入数据或训练进行处理来对抗扰动
Modified networks 修改网络修改网络,如通过添加更多的layers或sub-networks;改变loss函数或activation函数(损失或激活函数)从造成网络脆弱性的原因出发,如惩罚损失函数等
Network add-on 增加附加网络在对不可见的样本进行分类时,使用外部模型作为附加网络添加“预输入”层等方法来检测扰动并修正输入或使用GAN思路

对于后两种还有两个分类

类别描述
Complete defence使得网络能够提升对对抗样本的鲁棒性
Detection only发现潜在的对抗样本输入,进而拒绝对该样本做后续的处理

七、总结

在这里插入图片描述
内部的max问题简单来讲就是添加的扰动要尽量让网络迷惑。外部的min是对神经网络进行优化最小化公式,即当扰动固定的情况下,训练的网络模型可以使得在训练数据上的损失最小,即提高模型的鲁棒性。

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

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

相关文章

后端开发总结(2):go语言的知识点

go语言知识点1 append 列表2 如何打印指针结构体的值3 * 和 & 的用法1 append 列表 append() 切片需要增加 ... var a []inta append(a, 1) // 追加1个元素 a append(a, 1, 2, 3) // 追加多个元素 a append(a, []int{1,2,3}...) // 追加切片,2 如何打印指针结构体的值…

如何将程序打包成exe

我们经常需要将我们写的程序打包发给用户使用,很多时候为了方便会直接将文件夹或者压缩包发出去。这种方式对于一些不太懂电脑的用户来说的话,假如程序中有多个可执行文件,就会完全不知道怎么使用。众所周知,客户体验也是评判软件…

SpringBoot笔记:Hello World

SpringBoot简化了Spring应用的初始框架搭建和开发过程,利用SpringBoot框架可以快速的进行Spring应用的开发,SpringBoot具有以下特性:能够快速创建基于Spring的应用程序。 提供了约定好的初始POM来简化Maven配置,让Maven配置变得更简单。 多数情况可以直接使用注解开发来替代…

标准库类型string和vector

一、命名空间 std::cinstd就是命名空间, 这个的含义是 :编译器应该从操作符左侧的名字所示的作用域std中去寻找cin。 另一种方式就是在开头显式进行说明: using std::cin;这样一来后续就不用再去在每条语句中显式说明了。 需要注意的是&…

Java垃圾回收器

Java垃圾回收器1 GC分类与性能指标1.1 垃圾回收器概述1.2 垃圾回收器分类1.2.1 按照线程分1.2.2 按照工作模式分1.2.3 碎片处理方式分1.2.4 工作的内存区间分1.3 评估GC的性能指标1.4 吞吐量与暂停时间的对比说明1.4.1 吞吐量1.4.2 暂停时间1.4.3 高吞吐量 VS 暂停时间2 垃圾回…

非常实用的Visual Studio Code快捷键(2) 欢迎各位大侠补充

折叠或展开代码 代码须易于理解并且要记录在案。可以使用以下快捷键轻松折叠代码中次重要的部分: 按_Ctrl Shift [_ 进行折叠。按_Ctrl Shift ]_ 展开 导航到特定行 如果要转到包含数千行的文件中的所需行。只需执行以下操作: 按_Ctrl G_&#x…

wireshark测试tcp三次握手与四次挥手

wireshark 选择Loopback来监听本地网络。 监听的内容是分三大模块的: 封包列表的面板中显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。 你可以看到不同的协议用了…

网课搜题接口-掘光者题库系统

网课搜题接口-掘光者题库系统 本平台优点: 多题库查题、独立后台、响应速度快、全网平台可查、功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库: 题库:题库后台(点击跳转&am…

Hive与SparkSQL语法差异

一、相同函数差异 1、Spark运行时用到的hash函数,与Hive的哈希算法不同,如果使用hash(),结果和Hive的hash()会有差异 2、Hive和SparkSQL使用grouping sets生成的GROUPING_ID不一致 3、regexp_extract未匹配上的话,在HIVE里返回…

Hive事务表 (Transactional Tables)

文章目录1. 为什么要使用事务表?2. 创建使用事务表1. 为什么要使用事务表? Hive 原本是不支持事务的,也就是不支持 增删改(insert、delete、update)、回滚等 操作的。因为: Hive的核心目标是:将已经存在的结构化数据文…

大学生影视主题网页制作 HTML+CSS+JS仿360影视网站 dreamweaver电影HTML网站制作

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 文章目录一、网页介绍一…

加密后的数据如何进行模糊查询

文章目录如何对加密后的数据进行模糊查询?方法1:先解密在查询方法2:在数据库实现加密算法函数第一种思路:在数据库实现加密算法函数第二种思路:对密文数据进行分词组合手机号模糊查询姓名模糊查询姓名精确查询(地址也…

Mysql 事务原理分析

文章目录1、事务1.1、概念1.2、事务控制语句1.3、ACID 特性1.3.1、原子性 A1.3.2、一致性 C1.3.3、隔离性 I1.3.4、持久性 D1.4、undo log1.5、redo log2、隔离级别2.1、隔离级别的分类2.1.1、读未提交 RU2.1.2、读已提交 RC2.1.3、可重复读 RR2.1.4、可串行化 SC2.2、并发读异…

【Linux】UDP、TCP协议

目录 前言 1.UDP协议 1.1. UDP协议段格式 1.2. UDP的特点 1.3. UDP的缓冲区 2. TCP协议 2.1. TCP报文格式 2.2. TCP的确认应答机制 2.3. 流量控制 2.4. 标志位 2.4.1. ACK、SYN 2.4.2. RST(reset) 2.4.3. PSH(push) 2.4.4. URG 2.4.5. FIN 2.5. TCP三次握手 2.…

买阿里云服务器,实操搭建nginx+php+mysql+thinkphp5全过程(2)

书接上回(买阿里云服务器,实操搭建nginx+php+thinkphp5全过程(1)),我的阿里云服务器快要到期了,为了让它发光发热,实现最后的价值,我目标初始化服务器,重新实操搭建nginx+php+thinkphp5全过程。 反正也快过期了,知道IP也没关系了(但是我的淘宝名还是遮一下吧),上…

香港发布有关虚拟资产发展的政策宣言

本宣言由财经事务及库务局(“财库局” )发出,就在香港发展蓬勃的虚拟资产行业和生态圈,阐明政府的政策立场和方针。 愿景和方针 2. 香港是国际金融中心,对全球从事虚拟资产业务的创新人员抱持开放和兼融的态度。我们十分欣赏这些创新人员开展…

学原油期货买什么书(怎么样买原油期货)

想做好期货要看哪些书籍 炒期货要学习的入门知识太多,比如期货法规、期货基础、期货品种、交易规则等等。期货合约的商品品种、交易单位、合约月份、保证金、数量、质量、等级、交货时间、交货地点等条款都是既定的,是标准化的,唯一的变量是…

计算机毕设(附源码)JAVA-SSM计算机组成原理教学系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

python--孪生素数

找出100以内的所有“孪生数” 如果两素数只差为2,这样的两个素数就叫做“孪生数”, 代码如下: def is_prime(num): """判断一个数是否为质数""" for i in range(2, num // 2 1): if num % …

【PCL】输入输出(I/O)

文章目录学习资料点云文件格式写入点云数据到PCD文件从PCD文件读取点云数据点云拼接学习资料 最重要的参考资料是官网:https://pointclouds.org/,Docs是函数手册,Tutorials是代码示例,两者结合学习(shiyong&#xff0…