SegPGD

news2024/11/25 23:31:07

在这项工作中,我们提出了一种有效和高效的分割攻击方法,称为SegPGD。此外,我们还提供了收敛性分析,表明在相同次数的攻击迭代下,所提出的SegPGD可以创建比PGD更有效的对抗示例。此外,我们建议应用我们的SegPGD作为分割对抗训练的底层攻击方法。由于SegPGD可以创建更有效的对抗样本,使用我们的SegPGD进行对抗训练可以提高分割模型的鲁棒性。在流行的分割模型架构和标准分割数据集上的实验也验证了我们的建议。

文章主要贡献:

  • 基于分类和分割的区别,我们提出了一种有效且高效的分割攻击方法,称为SegPGD。特别地,我们证明了它对单步攻击SegFGSM的推广。

  • 我们提供了一个收敛分析,以表明在相同次数的攻击迭代下,所提出的SegPGD可以创建比PGD更有效的对抗示例

  • 我们应用SegPGD作为分割对抗训练的底层攻击方法。我们的SegPGD对抗性训练在基准测试中达到了最先进的性能。

  • 我们在标准分割数据集(即PASCAL VOC和Cityscapes)上使用流行的分割模型结构(即PSPNet和DeepLabV3)进行了实验,以证明我们的建议的有效性。

SegPGD for Evaluating and Boosting Segmentation

在语义分割中,给定分割模型,干净样本,其对应的标签Y

SegPGD: An Effective and Efficient Segmentation Attack

PGD迁移到分割上面,迭代公式可以写为:

损失函数:

该损失函数可以改写成由正确分类像素的损失错误分类像素的损失两部分组成即:

第二项的损失通常很大,因为错误分类的像素会导致很大的交叉熵损失。在创建对抗性示例时,第二个损失项的梯度可以占主导地位。但是,第二项损失的增加并没有带来更好的对抗效果,因为所涉及的像素已经被错误分类了。为了在分割上实现高效的对抗示例,需要进行大量的攻击迭代,以便积累增加第一项损失的更新,以误导正确分类的像素。为了解决上述问题,考虑到分割中密集的像素分类,我们提出了特定于分割的PGD,称为SegPGD,它可以在等式4中相同的攻击迭代次数下创建更有效的对抗示例。

这里两个损失项分别用1 - λ和λ加权。注意,λ的选择是非平凡的。它不能很好地通过简单地设置λ = 0,其中只考虑正确分类的像素。在这种情况下,先前错误分类的像素可以在几次攻击迭代后再次变为良性,因为在更新扰动时它们被忽略了。这一说法也与之前的观测结果[48,45]一致,即对抗性扰动对小噪声也很敏感。此外,由于类似的原因,将λ设置为[0,0.5]中的固定值并不总是会导致更好的攻击性能。当大多数像素分类在几次攻击迭代后被欺骗时,对错误分类的像素减少权重可以使其中一些重新成为良性的 采用动态调节λ的方式,关注前几次攻击迭代中欺骗正确的像素分类,然后在最后几次迭代中类似地对待错误的像素分类:

Convergence Analysis of SegPGD

第i个像素的交叉熵损失为:

优化目标为:

这其中

进而PGD可以表示为

SegPGD:

本文提出了一种新的分割收敛准则,称为MisRatio,其定义为错误分类像素与所有输入像素的比率

第一步是更新对抗样本:

对于几乎所有错分类像素k∈P F (X0), X1的第k个像素仍然是错分类的,因为自然错分类一般对小的对抗性噪声不敏感。这种说法也适用于PGD更新规则。此外,我们的SegPGD可以将X0的部分像素k∈pt转换为X1的错误分类像素。但是,由于PGD的更新方向也考虑了X0的错分类像素,因此效果较差。因此,我们的SegPGD可以在第一步实现比PGD更高的MisRatio。

中间步骤一般是利用所有像素分类损失来更新对抗样本。在所有中间步骤中,SegPGD和PGD都利用所有像素分类损失的梯度来更新对抗示例。不同之处在于,我们的SegPGD对正确分类的像素分类的损失分配了更多的权重。分配的值取决于更新迭代t。我们的SegPGD更专注于在最初的几次迭代中愚弄正确分类的像素,然后平等地对待这两个准像素。通过这样做,在相同的攻击迭代下,我们的SegPGD可以实现比PGD更高的MisRatio。

Segmentation Adversarial Training with SegPGD

对抗训练作为最有效的防御方法之一,在分类任务中得到了广泛的研究。在分类中,应用对抗性训练的主要挑战是计算成本。它需要多次梯度传播来生成对抗图像,这使得对抗训练速度较慢。事实上,用对抗性训练训练一个健壮的网络比训练一个非健壮的等效[37]要多花3-30倍的时间。分割任务使得对抗性训练更具挑战性。需要更多的攻击迭代来创建有效的对抗示例,以提高分割的鲁棒性。例如,需要超过100次攻击迭代才能欺骗分段[50]。在这项工作中,我们通过应用SegPGD作为底层攻击来改进分割对抗训练。SegPGD作为一种高效的分割攻击方法,可以比目前流行的PGD生成更有效的对抗实例。通过将创建的对抗性示例注入到训练数据中,使用SegPGD进行对抗性训练可以在相同的计算成本下实现更健壮的分割模型

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

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

相关文章

【STM32笔记】晶振及旁路电容设计避坑(低速外部晶振LSE无法起振的可能原因)

【STM32笔记】晶振及旁路电容设计避坑(低功耗低速外部晶振LSE无法起振的可能原因) 晶振无法起振 无非就是旁路电容设计的有问题 一般旁路电容选10pF 12pF 20pF等等 都没啥问题 尤其是高速晶振 基本不会出问题 但是对于低速晶振 电容没选对 就很可能不起…

17- 梯度提升回归树GBRT (集成算法) (算法)

梯度提升回归树: 梯度提升回归树是区别于随机森林的另一种集成方法,它的特点在于纠正与加强,通过合并多个决策树来构建一个更为强大的模型。该模型即可以用于分类问题,也可以用于回归问题中。在该模型中,有三个重要参数分别为 n_…

海盗峡湾——NFT 作品集来袭!

陌生人们,通过这个作品集,可以让你沉浸在海盗们的文化和魔法中。这可能是你唯一的机会,用这些资产把你的土地变成海盗王国,所以不要犹豫了! 这个由 Alina Siniakova 制作的系列于 2 月 3 日晚上 11 点在 The Sandbox 市…

倒带ChunJun,同心前行|2022年度回顾2023年共建规划

ChunJun是一个开始于2018年的批流一体数据集成框架项目,原名FlinkX。2022年2月22日,在FlinkX进行初版开源的整整四年后,技术团队决定对FlinkX进行整体升级,并更名为ChunJun,希望为大家真正提供一个稳定、高效、易用的批…

服务器常见的网络攻击以及防御方法

网络安全威胁类别 网络内部的威胁,网络的滥用,没有安全意识的员工,黑客,骇客。 木马攻击原理 C/S 架构,服务器端被植入目标主机,服务器端通过反弹连接和客户端连接。从而客户端对其进行控制。 病毒 一…

蓝桥杯C/C++VIP试题每日一练之报时助手

💛作者主页:静Yu 🧡简介:CSDN全栈优质创作者、华为云享专家、阿里云社区博客专家,前端知识交流社区创建者 💛社区地址:前端知识交流社区 🧡博主的个人博客:静Yu的个人博客 🧡博主的个人笔记本:前端面试题 个人笔记本只记录前端领域的面试题目,项目总结,面试技…

Nacos——Nacos简介以及Nacos Server安装

资料来源:02-Nacos配置管理-什么是配置中心_哔哩哔哩_bilibili nacos记得下载2.x版本的,负责以后新建配置的时候会出现“发布错误,请检查参数是否正确”错误!!!! 目录 一、Nacos简介 1.1 四…

【CS224W】(task4)图嵌入表示学习

note node2vec: 计算随机游走概率从节点uuu开始模拟rrr条长度为lll的游走链路使用 Stochastic Gradient Descent 优化损失函数 Node2vec在节点分类方面表现更好;而其他方法在链路预测上效果更好,如random walk效率更高;graph emb…

请注意,PDF正在传播恶意软件

据Bleeping Computer消息,安全研究人员发现了一种新型的恶意软件传播活动,攻击者通过使用PDF附件夹带恶意的Word文档,从而使用户感染恶意软件。 类似的恶意软件传播方式在以往可不多见。在大多数人的印象中,电子邮件是夹带加载了恶…

Redis-简单动态字符串

Redis中字符串应该是我们使用最多的一种数据类型了,但是有没有想过Redis是如何存储字符串的呢?Redis并没有用C语言传统的字符串(C语言中的字符串一般末尾采用空字符结尾,\0),而是采用它们自己实现的一种简单动态字符串(SDS)实现的…

若依ruoyi——手把手教你制作自己的管理系统【二、修改样式】

阿里图标一( ̄︶ ̄*)) 图片白嫖一((* ̄3 ̄)╭ ********* 专栏略长 爆肝万字 细节狂魔 请准备好一键三连 ********* 运行成功后: idea后台正常先挂着 我习惯用VScode操作 当然如果有两台机子 一个挂后台一个改前端就更好…

java中volatile与synchronized的区别,volatile为什么不能保证原子性

1.volatile与synchronized的区别 2.volatile为什么不能保证原子性 定义: 即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。 原子性是拒绝多线程操作的,不论是多核还是单核,具有原子性的量…

【C/C++】VS2019下C++生成DLL并且成功调用(金针菇般细)

目录 一,生成动态链接库 二,使用动态链接库 一,生成动态链接库 1.打开VS2019,创建新项目,选择 动态链接库(DLL) 模板后进行下一步 2.输入项目名称,其它默认就行(可自行选择),点击创建 3 工程…

hive开窗函数

hive开窗函数 窗口函数 数据准备 1 jx 20 2 zx 24 3 yx 18 4 wz 10 5 yy 34 6 wy 25create table t (> id int,> name string,> age int> )> row format delimited fields terminated by ; load data inpath /data/data.txt into table t;ROW_NUMBER ROW_N…

网上订餐项目(含后台管理界面)

项目开发环境 项目使用IDEA 2018.3.5进行开发。Maven版本为 3.6.2。Tomcat版本为 8.5.42。数据库为mysql 5.7。JDK版本为1.8_211。项目使用SpringSpringMVCMybits框架。 点餐前台功能 登陆界面如下 登陆后可添加菜品到餐车 餐车里可查看添加的菜品 提交后可查看已派送和未…

Zookeeper配置化中心

zookeeper的基本知识 zookeeper的数据结构:zookeeper提供的命名空间非常类似于标准的文件系统,key-value的形式存储,名称key由/分割的一系列路径元素,zookeeper名称空间中的每个节点都是一个路径标志。 windows下的zookeeper安装&#…

使用Docker快速部署ES单机

所有的操作都是基于Docker来的,没有装Docker的话请参照官方文档安装单机环境部署初始化相关目录mkdir -p /usr/local/elasticsearch/{config,plugins,data}准备配置文件vim /usr/local/elasticsearch/config/elasticsearch.yml将下面的内容粘贴到elasticsearch.yml#…

训练一个中文gpt2模型

前言 这是我的github上的一个介绍,关于如何训练中文版本的gpt2的。链接为: https://github.com/yuanzhoulvpi2017/zero_nlp 介绍 本文,将介绍如何使用中文语料,训练一个gpt2可以使用你自己的数据训练,用来:写新闻、…

linux中top命令分析

TOP命令是 比较常用的性能分析命令,可以看出服务器CPU 、负载、内存、磁盘、IO等数值,接下来就详细解读top命令 top命令 打开服务器终端,直接输入top,top命令中的数据显示的都是当前的实时数据 直接这样输入,回车即…

iptables防火墙屏蔽指定ip的端口

因为需要测试客户端程序与hadoop服务器之间正常通信需要开通的端口, 所以在hadoop各服务器上使用iptables防火墙屏蔽了测试客户端程序的ip和所有端口。然后,根据报错信息提示的端口号来逐步放开直到能正常通信下载文件。 在服务器端屏蔽指定ip访问所有端口 #查看…