【论文阅读】Natural Adversarial Examples 自然对抗的例子

文章目录

  • 一、文章概览
    • (一)摘要
    • (二)导论
    • (三)相关工作
  • 二、IMAGENET-A 和 IMAGENET-O
    • (一)数据集构造方式
    • (二)数据收集过程
  • 三、模型的故障模式
  • 四、实验
    • (一)评估指标
    • (二)使用数据增强
    • (三)使用更多更真实的标记数据
    • (四)架构变化策略


一、文章概览

(一)摘要

文章的主要工作: 使用简单的对抗性过滤技术引入了两个具有挑战性的数据集,使得机器学习模型的性能大幅下降

  • IMAGENET-A,类似于 ImageNet 测试集,但对于现有模型来说更具挑战性
    (包含分类器应该能够分类的图像,但是判断起来会更难)
  • IMAGENET-O,对抗性分布外监测数据集,第一个为 ImageNet 模型创建的分布外检测数据集
    (包含不可预见的类的异常,会出现imagenet包含类别之外的类别)

研究结果表明: 现有的数据增强技术很难提高性能,使用其他公共训练数据集提供的改进也很有限,计算机视觉架构的改进为构建稳健模型提供了一条有希望的道路。

(二)导论

问题提出: ImageNet的测试示例往往是简单、清晰、特写的图像,可能无法代表现实世界中遇到的较难的图像,这样可能会导致乐观且不准确的性能估计。

作者方案: 策划了两个具有对抗性过滤的自然对抗性示例的硬 ImageNet 测试集。通过使用对抗性过滤,测试模型在删除易于分类的示例(其中包括使用简单的虚假线索解决的示例)时的表现如何。

图中黑色文本是实际类别,红色文本是 ResNet-50 预测及其置信度。

在这里插入图片描述

提高对抗性过滤实例性能的方法:

  • 训练数据增加 10 倍对应的准确率增加不到 10%
  • 对抗性训练等数据增强技术会降低性能,而其他技术则可以帮助提高几个百分点
  • 改进模型架构是提高鲁棒性的一条有前途的途径

(三)相关工作

  1. 对抗性例子
    大多数从一个模型制作的 LP 对抗样本只能在同一模型系列中转移。然而,我们的对抗性过滤图像转移到所有测试的模型系列,并超越了有界lp 威胁模型。

在有界 Lp 的攻击威胁模型中,攻击者试图通过添加很小的 Lp 范数限制内的扰动来欺骗机器学习模型,从而使其产生错误的输出。这种攻击模型通常被应用于对抗性样本生成和评估中,以评估机器学习模型的鲁棒性和安全性。

  1. 分布外检测
    以前的 OOD 检测数据集使用其他研究基准的数据集作为异常替代品,产生远离分布的异常,这种方式产生的异常源是不自然的,并且在很多方面偏离了通常示例的分布。相比之下,我们提出了一个用于更现实的对抗性异常检测的数据集,我们的数据集包含通过改变分布标签并保持与原始训练分布相似的非语义因素而生成的硬异常。

  2. 虚假提示和意外的捷径
    许多最近引入的 NLP 数据集使用对抗性过滤来创建“对抗性数据集”,但直到本文之前,对抗性过滤技术才被应用于收集图像数据集。另外,NLP 中的对抗性过滤仅删除最简单的示例,而我们使用过滤仅选择最难的示例并忽略中等难度的示例。

  3. 对变化的输入分布的鲁棒性
    我们的分布变化来源更加异构和多样化,并且我们的示例是自然发生的。

二、IMAGENET-A 和 IMAGENET-O

(一)数据集构造方式

  • IMAGENET-A :首先下载与 ImageNet 类相关的大量图像,删除修复 ResNet-50分类器正确预测的图像,然后将展示欺骗 ResNet-50 的示例能够可靠地迁移到其他未见过的模型。对于剩余的错误分类图像,手动选择视觉上清晰的图像。
  • IMAGENET-O:下载 ImageNet-22K 并删除 ImageNet-1K 中的示例,对于不属于 ImageNet1K 类的其余 ImageNet-22K 示例,将 ResNet-50 分类为 ImageNet-1K 类的示例保留为高置信度。然后手动选择视觉上清晰的图像。

(二)数据收集过程

IMAGENET-A :

  1. IMAGENET-A 类别限制:选择 ImageNet-1K 的 1, 000 个类中错误最为严重的 200 个类子集
  2. IMAGENET-A 数据聚合:从 iNaturalist、Flickr 和 DuckDuckGo 等网站下载许多弱标记图像,删除无法欺骗 ResNet-50 模型的示例来对抗性地选择图像,在剩下的图像中,我们选择低置信度图像,然后通过人工审核确保每张图像都是有效的。

如果只使用原始 ImageNet 测试集作为源,则某些类在第一轮过滤后将具有零图像,因为原始 ImageNet 测试集太小而无法包含硬对抗性过滤图像。

IMAGENET-O:

  1. IMAGENET-O 类别限制:选择 ImageNet-1K 的 1, 000 个类的 200 个类子集。这 200 个类别决定了分布或被认为是通常的分布,涵盖了 ImageNet-1K 涵盖的最广泛的类别
  2. IMAGENET-O 数据聚合:使用删除了 ImageNet-1K 类的 ImageNet-22K 数据集,处理剩余的 ImageNet-22K 图像并保留导致 ResNet-50 具有高置信度或低异常分数的图像,然后手动选择余图像的高质量子集

三、模型的故障模式

在 IMAGENET-A 上评估卷积网络表明,即使是最先进的模型也具有多样化和系统性的故障模式:

  • 模型可能过度概括视觉概念(将三轮车过度概括为自行车和圆圈,将数字时钟过度概括为键盘和计算器等)
  • 模型可能过于依赖颜色和纹理(如蜻蜓图像所示)
  • 频繁出现的背景元素可能与类别相关联(例如木材与钉子相关联)
  • 对于不同的帧,分类器预测在语义上松散且独立的类之间变化不定(对于游泳鳄鱼的其他图像,分类器预测鳄鱼是悬崖、山猫和狐狸松鼠)

与每个自然图像相邻的是其热图。分类器可能会使用错误的背景线索进行预测。
在这里插入图片描述

四、实验

(分析是否可以通过使用数据增强、使用更真实的标记数据以及使用不同的架构来提高鲁棒性)

(一)评估指标

评估分类器的对抗性过滤示例的指标: IMAGENET-A 上的 top-1 准确度

作为参考,对于普通分类器,使用常用 ImageNet 图像的 200 个 IMAGENET-A 类的 top-1 准确率通常大于或等于 90%。

评估分类器对于 IMAGENET-O 示例的分布外检测性能: 精确率-召回率曲线下的面积 (AUPR)

(二)使用数据增强

数据增强技术对鲁棒性的影响:
虽然一些数据增强技术据称可以极大地提高对分布变化的鲁棒性,但它们很难提高 IMAGENET-A 的准确性。这表明他们并不能提高对某些分布变化的鲁棒性,IMAGENET-A 可以暴露所提出的鲁棒性方法中以前未被注意到的错误。因此,IMAGENET-A 可用于验证技术是否真正提高了现实世界对分布变化的鲁棒性。
在这里插入图片描述

(三)使用更多更真实的标记数据

对于 IMAGENET-A 准确性持续较低的一种可能的解释是,所有模型仅使用 ImageNet-1K 进行训练,并且使用额外的数据可能会解决问题。

使用更多更真实的标记数据对鲁棒性的影响:

  • 各种使用更多数据进行预训练的方法在IMAGENET-A 准确率上的改进都不太显著
  • 由于计算成本的原因,使用更多数据有局限性
  • 标记训练数据的数量级增加可以提高准确性,但是对模型架构进行改变能够提供更大的改进

(四)架构变化策略

模型架构对 IMAGENET-A 的准确性和 IMAGENET-O 的检测性能发挥着重要作用。

  • 增加网络的宽度和层数就足以自动赋予更高的 IMAGENET-A 精度和 IMAGENET-O OOD 检测性能
  • 使用分组卷积也是可靠的架构变化
  • 具有自注意力的卷积神经网络能够更好地捕获图像中的远程依赖关系和交互

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

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

相关文章

Docker自建蜜罐系统【失陷检测、外网威胁感知、威胁情报】

项目地址: https://hfish.net Hfish是一款基于Docker的网络钓鱼平台,它能够帮助安全团队模拟各种网络钓鱼攻击,以测试和提高组织的安全防御能力。 Hfish的优点 为什么选择Hfish? 蜜罐通常被定义为具有轻量级检测能力、低误报率…

Qt中QCheckBox的三种状态设置

首先启用QCheckbox的tristate属性 //启用QCheckBox的tristate属性,使checkbox有三种状态。例: questionCheckBox->setTristate(true);//使用setCheckState(Qt::CheckState state)函数设置checkbox当前的状态。例: //Qt::CheckState是枚举…

算法:数据结构顺序表表的插入、删除和查找

#include <iostream> #include <stdio.h> #define MaxSize 50 typedef int ElemType; typedef struct {ElemType data[MaxSize];int length; }SqList; bool ListInsert(SqList &L,int i,ElemType e)//插入数据 {if(i<1 || i>L.length1)//判断插入的位置是…

OPENCV(0-1之0.1)

OPENCV-0.1 学习安排计算机视觉简介是什么&#xff1f;应用领域基础概念 OpenCV简介历史背景和主要贡献者支持的语言和平台主要模块和功能 安装(windows_python)pip安装验证安装&#xff08;记得安装jupyter&#xff09; 第一个OpenCV程序实践练习 官方文档 学习安排 计算机视…

详解Postman使用

简介&#xff1a; 1.简介 PostMan&#xff0c;一款接口调试工具。 特点&#xff1a; 可以保留接口请求的历史记录 可以使用测试集Collections有效管理组织接口 可以在团队之间同步接口数据 1.简介 PostMan&#xff0c;一款接口调试工具。 特点&#xff1a; 可以保留接口请求…

Java实现自定义Hive认证账户密码

一、业务背景 在搭建好Hive环境后&#xff0c;应用项目远程连接hive需要设置用户名和密码&#xff0c;但hive默认的用户名和密码都是空&#xff0c;因此需要设置自定义用户名和密码。 二、开发步骤 2.1 新建maven项目&#xff0c;pom.xml引入相关依赖&#xff0c;主要是hadoop、…

Kafka MQ 如何处理请求

Kafka MQ 如何处理请求 元数据请求 客户端怎么知道该往哪里发送请求呢? 客户端使用了另一种请求类型&#xff0c;也就是元数据 请求。这种请求包含了客户端感兴趣的主题列表。服务器端的响应消息里指明了这些主题 所包含的分区、每个分区都有哪些副本&#xff0c;以及哪个副…

Spring Boot 中的 Sleuth 详解

Spring Boot 中的 Sleuth 是一个用于分布式追踪的库&#xff0c;它可以帮助你追踪和理解分布式系统中的请求如何跨越多个服务和网络调用。通过使用 Sleuth&#xff0c;你可以收集关于请求路径、延迟、异常等的信息&#xff0c;从而更容易地诊断问题并进行性能优化。 一、下面是…

源聚达科技:抖音今年开店有没有什么新政策

随着电商行业的蓬勃发展&#xff0c;抖音平台作为新兴的社交电商平台&#xff0c;近年来推出了多项新政策以吸引商家入驻&#xff0c;提升用户体验。今年&#xff0c;抖音在开店政策上又有了新的调整和优化&#xff0c;这些变化对于商家来说无疑是重要的风向标。 最新的政策中&…

海豚调度系列之:任务类型——Apache SeaTunnel

海豚调度系列之&#xff1a;任务类型——Apache SeaTunnel 一、Apache SeaTunnel二、创建任务三、任务参数四、任务样例1.在 DolphinScheduler 中配置 SeaTunnel 环境2.配置 SeaTunnel 任务节点 一、Apache SeaTunnel SeaTunnel 任务类型&#xff0c;用于创建并执行 SeaTunnel…

每天五分钟计算机视觉:图像数据不足带来的问题和解决办法

本文重点 在当今的数字时代,图像数据的应用已经渗透到各个领域,包括但不限于计算机视觉、机器学习、自动驾驶、医疗诊断等。然而,当图像数据不足时,会引发一系列问题,对相关应用产生负面影响。 尤其是计算机视觉领域,图像数据尤为珍贵和稀缺,如果计算机视觉的任务中,如…

算法的渐进时间复杂度

T(n) = O(F(n)) T(n):Time 渐进时间复杂度 O:正比例关系 F(n):代码执行次数 只要代码执行的次数越来越多 所耗费的时间也就越来越高 常见的5种: O(n^2) O(n logn) O(n) O(logn) O(1):不管重复多少次1次也是这个时间,10次也是这个时间。 时间复杂度排序:由小到…