DeepFool: a simple and accurate method to fool deep neural networks

news2025/1/11 4:02:15

DeepFool: a simple and accurate method to fool deep neural networks----《DeepFool:一种简单而准确的欺骗深度神经网络的方法》

摘要

  最先进的深度神经网络已经在许多图像分类任务上取得了令人印象深刻的结果。然而,这些相同的架构已被证明对于图像的小而良好的扰动是不稳定的。尽管这种现象很重要,但尚未提出有效的方法来准确计算最先进的深度分类器对大规模数据集上的此类扰动的鲁棒性。在本文中,我们填补了这一空白,并提出了 DeepFool 算法来有效计算欺骗深度网络的扰动,从而可靠地量化这些分类器的鲁棒性。大量的实验结果表明,我们的方法在计算对抗性扰动和使分类器更加鲁棒的任务中优于最新的方法。

引言

  深度神经网络是强大的学习模型,可在生物信息学 [1, 16]、语音 [12, 6] 和计算机视觉 [10, 8] 等许多研究领域实现最先进的模式识别性能。尽管深度网络在分类任务中表现出了非常好的性能,但最近被证明深度网络对数据的对抗性扰动特别不稳定[18]。事实上,数据样本的非常小的且通常难以察觉的扰动足以欺骗最先进的分类器并导致错误的分类。 (例如图 1)。对对抗性扰动的研究有助于我们了解分类器使用哪些特征。这些例子的存在似乎与学习算法的泛化能力相矛盾。虽然深度网络在图像分类任务中实现了最先进的性能,但它们对于小的对抗性扰动根本不稳健,并且往往会对视觉上看起来与干净样本相似的最小扰动数据进行错误分类。尽管对抗性攻击是特定于分类器的,但对抗性扰动似乎可以在不同模型中推广[18]。从安全角度来看,这实际上可能成为一个真正的问题。
在这里插入图片描述在这里插入图片描述
  因此,需要一种准确的方法来查找对抗性扰动,以研究和比较不同分类器对对抗性扰动的鲁棒性。这可能是更好地理解当前架构的局限性和设计提高鲁棒性方法的关键。尽管最先进的分类器对对抗不稳定性的脆弱性很重要,但尚未提出有根据的方法来计算对抗性扰动,我们在本文中填补了这一空白。我们的主要贡献如下:

  • 1、我们提出了一种简单而准确的方法来计算和比较不同分类器对对抗性扰动的鲁棒性。
  • 2、我们进行了广泛的实验比较,结果表明:1)我们的方法比现有方法更可靠、更高效地计算对抗性扰动;2)用对抗性示例增强训练数据显着提高了对抗性扰动的鲁棒性。
  • 3、我们表明,使用不精确的方法来计算对抗性扰动可能会导致关于鲁棒性的不同的、有时甚至是误导性的结论。因此,我们的方法可以更好地理解这种有趣的现象及其影响因素。

  我们现在回顾一些相关工作。对抗性不稳定现象在[18]中首次被引入和研究。作者通过解决惩罚优化问题来估计对抗性示例,并进行了分析,表明神经网络的高复杂性可能是解释对抗性示例存在的原因。不幸的是,[18]中采用的优化方法非常耗时,因此无法扩展到大型数据集。在[14]中,作者根据在Pascal3D+注释上所做的实验表明,卷积网络对某些转换不是不变的。最近,Tsai等人[19]提供了一种软件,可以在特定的类别中对给定的图像进行错误分类,而不必找到最小的扰动。Nguyen等人[13]生成合成的不可识别图像,并对其进行了高可信度的分类。[3]的作者还研究了一个相关的问题,即寻找愚弄图像分类器的最小几何变换,并提供了分类器对几何变换的鲁棒性的定量度量。与我们的工作更接近的是,[4]的作者引入了“快速梯度符号”方法,该方法非常有效地计算给定分类器的对抗扰动。尽管其效率很高,但该方法仅提供最佳扰动向量的粗略近似。事实上,它执行独特的梯度步骤,这通常会导致次优解决方案。然后,为了针对对抗性扰动构建更鲁棒的分类器,[5] 在训练过程中引入了平滑度惩罚,以提高分类器的鲁棒性。值得注意的是,应用[18]中的方法是为了产生对抗性扰动。最后我们应该提到,对抗性不稳定现象也导致了[2]中的理论工作,该工作研究了一些分类器族的对抗性扰动问题,并提供了这些分类器鲁棒性的上限。然而,需要更深入地了解更复杂的分类器的对抗性不稳定现象;这项工作中提出的方法可以被视为有效、准确地生成对抗性扰动的基线,以便更好地理解这种现象。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

多类分类器:

在这里插入图片描述

实验结果

不同分类器在不同数据集上的对抗鲁棒性。
在这里插入图片描述
FGSM和DeepFool在90%误分类的情况下的鲁棒性比较。
在这里插入图片描述
经过微调的网络的精度。
在这里插入图片描述
实验结论:

  • 1、Deepfool能用最小扰动误导模型(希望在达成攻击目标的同时让扰动尽可能的小);
  • 2、对抗训练能增强模型性能,过度扰动的对抗训练会降低模型性能(FGSM输出过度扰动的图像,从而导致在测试数据中不太可能出现的图像。因此,由于它充当了不代表原始数据分布的正则化程序,因此降低了该方法的性能)。

结论

  在这项工作中,我们提出了一种算法 DeepFool 来计算欺骗最先进分类器的对抗性示例。它基于分类器的迭代线性化,以生成足以改变分类标签的最小扰动。我们提供了关于三个数据集和八个分类器的广泛实验证据,表明所提出的方法相对于计算对抗性扰动的最先进方法的优越性,以及所提出方法的效率。由于其对对抗性扰动的准确估计,所提出的 DeepFool 算法提供了一种有效且准确的方法来评估分类器的鲁棒性,并通过适当的微调来增强其性能。因此,所提出的方法可以用作准确估计最小扰动向量并构建更鲁棒的分类器的可靠工具。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用cmd运行控制面板工具

如何通过键入命令运行“控制面板”工具 - Microsoft 支持 windows自带管理工具(exe/cpl/msc)-CSDN博客 CMD下打开系统各面板_cmd打开轻松使用面板-CSDN博客 示例: rundll32.exe shell32.dll,Control_RunDLL powercfg.cpl 替换powercfg.…

EXCEL——计算数据分散程度的相关函数

一、PERCENTIL函数 1.函数介绍 通常用来返回数据集给定百分点上的值。 2.函数解读 函数公式: PERCENTILE(数据, 百分点) 参数释义: 数据(必填):待处理的数组或数据区域。 百分点(必填)&…

uview的u-calendar日历组件,当设置了 minDate配置项后,会导致第一次打开日历弹窗,不会精准的滚动到选中的日期(设置了默认日期都没用)

发现需要给month.vue文件里的getMonth方法加一个延时器,猜测是因为设置最小日期后,日历没渲染完毕的时候就已经开始获取节点信息了

基于SSM的超市积分管理系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

从C语言到C++_40(多线程相关)C++线程接口+线程安全问题加锁(shared_ptr+STL+单例)

目录 1. C多线程 1.1 thread库 1.2 mutex库 1.3 RAII锁 1.4 atomicCAS 1.5 condition_variable 1.6 分别打印奇数和偶数 2. shared_ptr线程安全 2.1 库里面的shared_ptr使用 2.2 shared_ptr加锁代码 3. 单例模式线程安全 3.1 懒汉模式线程安全问题 3.2 懒汉模式最…

openGauss学习笔记-122 openGauss 数据库管理-设置密态等值查询-密态支持函数/存储过程

文章目录 openGauss学习笔记-122 openGauss 数据库管理-设置密态等值查询-密态支持函数/存储过程122.1 创建并执行涉及加密列的函数/存储过程 openGauss学习笔记-122 openGauss 数据库管理-设置密态等值查询-密态支持函数/存储过程 密态支持函数/存储过程当前版本只支持sql和P…

初始Linux(五)(定时任务)

crontab 进行 定时任务的设置 概述: 任务调度:是指系统在某个时间执行的特定的命令或程序 任务调度分类: 1.系统工作:有些重要的工作必须周而复始的执行,如病毒扫描 2.个别用户工作: 个别用户可能希望执行某些程序,比如mysql数据库的备份 基本语法: crontab [选项] -e 表示…

CCF CSP认证历年题目自练Day45

这几天搞泰迪杯数据分析技能赛去了。等拿国奖了就出一期关于泰迪杯的。 题目 试题编号: 201703-3 试题名称: Markdown 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   Markdown 是一种很流行的轻量级标记…

11-13 周一 同济子豪兄CNN卷积神经网络学习记录

11-13 周一 同济子豪兄CNN卷积神经网络学习记录 时间版本修改人描述2023年11月13日14:02:14V0.1宋全恒新建文档2023年11月13日19:05:29V0.2宋全恒完成 大白话讲解卷积神经网络的学习 简介 为了深入理解CNN,进行B站 同济子豪兄深度学习之卷积神经网络的学习. 主要内…

加速mvn下载seatunnel相关jar包

seatunnel安装的时候,居然要使用mvnw来下载jar包,而且是从https://repo.maven.apache.org 下载,速度及其缓慢,改用自己本地的mvn下载。 修改其安装插件相关脚本,复制install-plugin.sh重命名为install-plugin-mvn.sh …

【数据分享】我国独角兽企业数据(excel格式\shp格式)

企业是经济活动的参与主体。一个城市的企业数量决定了这个城市的经济发展水平!比如一个城市的金融企业较多,那这个城市的金融产业肯定比较发达;一个城市的制造业企业较多,那这个城市的制造业肯定比较发达。 本次我们为大家带来的…

论文导读 | 融合大规模语言模型与知识图谱的推理方法

前 言 大规模语言模型在多种自然语言处理相关任务上展现了惊人的能力,如智能问答等,但是其推理能力尚未充分展现。本文首先介绍大模型进行推理的经典方法,然后进一步介绍知识图谱与大模型融合共同进行推理的工作。 文章一:使用思维…

Python大神用的贼溜的九个技巧,超级实用~

文章目录 一、整理字符串输入二、迭代器(切片)三、跳过可对对象的开头四、只包含关键字参数的函数 (kwargs)五、创建支持「with」语句的对象六、用「slots」节省内存七、限制「CPU」和内存使用量八、控制可以/不可以导入什么九、实现比较运算符的简单方法…

Spring IOC - Bean的生命周期之实例化

在Spring启动流程文章中讲到,容器的初始化是从refresh方法开始的,其在初始化的过程中会调用finishBeanFactoryInitialization方法。 而在该方法中则会调用DefaultListableBeanFactory#preInstantiateSingletons方法,该方法的核心作用是初始化…

【Android】画面卡顿优化列表流畅度四之Glide几个常用参数设置

好像是一年前快两年了,笔者解析过glide的源码,也是因为觉得自己熟悉一些,也就没太关注过项目里glide的具体使用对当前业务的影响;主要是自负,还有就是真没有碰到过这样的数据加载情况。暴露了经验还是不太足够 有兴趣的…

【蓝桥杯选拔赛真题67】Scratch鹦鹉学舌 少儿编程scratch图形化编程 蓝桥杯选拔赛真题解析

目录 scratch鹦鹉学舌 一、题目要求 编程实现 二、案例分析 1、角色分析

SQL-----STUDENT

【学生信息表】 【宿舍信息表】 【宿舍分配表】 为了相互关联,我们需要在表中添加外键。在宿舍分配表中添加用于关联学生信息表的外键 student_id,以及用于关联宿舍信息表的外键 dormitory_id; sql代码 -- 创建学生信息表 CREATE TABLE st…

如何利用黑群晖虚拟机和内网穿透实现公网远程访问

文章目录 前言本教程解决的问题是:按照本教程方法操作后,达到的效果是前排提醒: 1. 搭建群晖虚拟机1.1 下载黑群晖文件vmvare虚拟机安装包1.2 安装VMware虚拟机:1.3 解压黑群晖虚拟机文件1.4 虚拟机初始化1.5 没有搜索到黑群晖的解…

NLP在网安领域中的应用(初级)

NLP在网安领域的应用 写在最前面1. 威胁情报分析1.1 社交媒体情报分析(后面有详细叙述)1.2 暗网监测与威胁漏洞挖掘 2. 恶意软件检测2.1 威胁预测与趋势分析 3. 漏洞管理和响应4. 社交工程攻击识别4.1 情感分析与实时监测4.2 实体识别与攻击者画像构建4.…

超越任务调度的极致:初探分布式定时任务 XXL-JOB 分片广播

XXL-JOB 是一个分布式任务调度平台&#xff0c;支持分片任务执行。 1. 依赖引入 在项目中引入 XXL-JOB 的相关依赖。通常&#xff0c;你需要在项目的 pom.xml 文件中添加如下依赖&#xff1a; <dependency><groupId>com.xuxueli</groupId><artifactId&…