SegPGD
在这项工作中,我们提出了一种有效和高效的分割攻击方法,称为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进行对抗性训练可以在相同的计算成本下实现更健壮的分割模型

相关文章:

SegPGD
在这项工作中,我们提出了一种有效和高效的分割攻击方法,称为SegPGD。此外,我们还提供了收敛性分析,表明在相同次数的攻击迭代下,所提出的SegPGD可以创建比PGD更有效的对抗示例。此外,我们建议应用我们的Seg…...

ESP-IDF + Vscode ESP32 开发环境搭建以及开发入门
ESP-IDF Vscode ESP32 开发环境搭建以及开发入门 文章目录ESP-IDF Vscode ESP32 开发环境搭建以及开发入门1. 前言2. 下载开发工具3. 配置工具4. 创建工程5. 解决vscode找不到头文件,波浪线警告6. 添加自己的组件6.1 组件说明6.2 添加项目组件6.3 添加扩展组件7. …...

SpringMvc的请求和响应
SpringMvc的数据响应 1.springmvc的数据相应方式 (1)页面跳转 直接返回字符串 通过ModelAndView对象返回 (2)回写数据 直接返回字符串 返回对象或集合 页面跳转 jsp页面 <% page contentType"text/html;charsetUTF-8&q…...

【Vue3】首页主体-面板组件封装
首页主体-面板组件封装 新鲜好物、人气推荐俩个模块的布局结构上非常类似,我们可以抽离出一个通用的面板组件来进行复用 目标:封装一个通用的面板组件 思路分析 图中标出的四个部分都是可能会发生变化的,需要我们定义为可配置主标题和副标题…...

部署 K8s 集群
1 .部署k8s的两种方式目前生产部署Kubernetes集群主要有两种方式:kubeadmKubeadm是一个K8s部署工具,提供kubeadm init和kubeadm join,用于快速部署Kubernetes集群。二进制包从github下载发行版的二进制包,手动部署每个组件&#x…...

关于北京君正:带ANC的2K网络摄像头用户案例
如果远程办公是您的未来,或者您经常通过视频通话与远方的朋友和亲戚交谈,那么您可以考虑购买网络摄像头以显著改善您的沟通。Anker PowerConf C200是个不错的选择。 Anker PowerConf C200专为个人工作空间而设计,能够以每秒30帧的速度拍摄2K…...

ccc-Backpropagation-李宏毅(7)
文章目录NotationBackpropagationForward passBackward passSummaryNotation 神经网络求解最优化Loss function时参数非常多,反向传播使用链式求导的方式提升计算梯度向量时的效率,链式法则如下: Backpropagation 损失函数计算为所有样本…...

找出字符串中第一个匹配项的下标-力扣28-java
一、题目描述给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。示例 1:输入:hayst…...

SpringBoot 监听Redis key过期回调
SpringBoot 监听Redis key过期回调 场景 Spring boot实现监听Redis key失效事件可应对某些场景例如:处理订单过期自动取消、用户会员到期… 开启Redis键过期回调通知 Redis默认是没有开启键过期监听功能的,需要手动在配置文件中修改。Linux操作系统 修…...

蓝桥杯C/C++VIP试题每日一练之回形取数
💛作者主页:静Yu 🧡简介:CSDN全栈优质创作者、华为云享专家、阿里云社区博客专家,前端知识交流社区创建者 💛社区地址:前端知识交流社区 🧡博主的个人博客:静Yu的个人博客 🧡博主的个人笔记本:前端面试题 个人笔记本只记录前端领域的面试题目,项目总结,面试技…...

四控、三管、一协调
四控指的是进度控制,质量控制,成本控制,变更控制。三管指的是合同管理,安全管理,资料管理。一协调指的是协调甲方,总包及设备材料供应方的关系。信息系统工程监理是指依法设立且具备相应资质的信息系统工程…...

jdk19下载与安装教程(win10)超详细
一、下载安装步骤 1、官网下载还需要注册,可以点【我的网盘】目录下载,目录也有其它低版本的,如果有需要大家根据需要自行选择。 2、下载后直接点击安装程序,点击【运行】。这里我使用的是64位的。 3、点击【下一步】。 4、默认安…...

来来来,手摸手写一个hook
hello,这里是潇晨,今天就带着大家一起来手写一个迷你版的hooks,方便大家理解hook在源码中的运行机制,配有图解,保姆级的教程,只求同学一个小小的👍,🐶。 第一步…...

【C++】AVL树
目录 1 简介 2 实现 2.1 框架构建 2.2 插入操作 2.2.1 平衡因子的更新 2.2.2 平衡因子异常时树的调整 3 检验 1 简介 AVL树基于二叉搜索树之上,又对其提出了平衡的要求,即:当向二叉搜索树插入新节点后,保证每个节点的左右…...

Mybatis源码(2) - SqlSessionTemplate的介绍及创建过程
0. 前言1. Spring对SqlSessionTemplate的管理1.1. SqlSessionTemplate的创建:1.2. MapperProxy中sqlSession的来源:2. SqlSessionInterceptor中的getSqlSession0. 前言 众所周知😏:MyBatis通过SqlSessionFactory 创建SqlSession去调用Executo…...

女生做大数据有发展前景吗?
当前大数据发展前景非常不错,且大数据领域对于人才类型的需求比较多元化,女生学习大数据也会有比较多的工作机会。大数据是一个交叉学科涉及到的知识量比较大学习有一定的难度,女生比较适合大数据采集和大数据分析方向的工作岗位。 大数据采…...

Git实用指令记录
config 用例:对git最先要做的一个操作就是配置用户名和邮箱,否则无法commit查看所有可以config的条目,非常之多$ git config --list core.symlinksfalse core.autocrlftrue core.fscachetrue color.interactivetrue color.uiauto help.forma…...

复杂美公链技术重要特色:平行公链架构
复杂美公链技术Chain33从11月开源至今,获得众多合作方的认可,其中首创的平行公链架构被百度、阿里、360等机构认可并跟进研究,这也说明了平行公链或许是区块链普及应用的重要解决方案之一。 平行公链(以下简称平行链)是…...

Java——进制转换的一些内容
Java——进制转换的一些内容1.16进制字符串String转字节数组byte[]2.16进制字符串String转10进制数字int3.字节数组byte[]转字符串String4.16进制字符串String-->byte[]-->String(使用ByteBuffer转换)5.字节数组byte[]转字符数组char[]6.字节byte转…...

使用 Nodejs、Express、Postgres、Docker 在 JavaScript 中构建 CRUD Rest API
让我们在 JavaScript 中创建一个 CRUD rest API,使用:节点.js表达续集Postgres码头工人码头工人组成介绍这是我们将要创建的应用程序架构的架构:我们将为基本的 CRUD 操作创建 5 个端点:创造阅读全部读一个更新删除我们将使用以下…...

电子招标采购系统源码之什么是电子招投标系统?
随着互联网时代的到来,各行业都受到不同的影响,其中招投标行业也不例外。为了顺应互联网潮流的发展,电子招投标逐渐取代传统的纸质的招投标方式,给招标方、投标方、招标代理等各方也带来了前所未有的机遇与挑战。那么什么是电子招…...

匹配文件名称模块glob和fnmatch
匹配文件名称模块glob 1.概述 glob模式规则与re模块的正则表达式规则不大相同,glob模块遵循标准的UNIX路径扩展规则。 fnmatch模块用于根据glob模式比较文件名 2.glob表达式匹配文件名 2.1.测试文件 介绍glob配置规则前,先使用下面的代码创建测试文…...

day12_oop
今日内容 上课同步视频:CuteN饕餮的个人空间_哔哩哔哩_bilibili 同步笔记沐沐霸的博客_CSDN博客-Java2301 零、 复习昨日 一、作业 二、继承 三、重写 四、this和super 五、访问修饰符 零、 复习昨日 局部变量和成员变量什么区别 位置,作用域,初始值,内存位置,生命周期 构造方法…...
在 Flutter 中使用 webview_flutter 4.0 | js 交互
大家好,我是 17。 已经有很多关于 Flutter WebView 的文章了,为什么还要写一篇。两个原因: Flutter WebView 是 Flutter 开发的必备技能现有的文章都是关于老版本的,新版本 4.x 有了重要变化,基于 3.x 的代码很多要重…...

嵌入式ARM工业边缘计算机BL302的CAN总线接口如何设置?
CAN 接口如图所示,输入如下命令: ifconfig -a //查看所有网卡 如果 FlexCAN 驱动工作正常的话就会看到 CAN 对应的网卡接口,如图。从图中可 以看出,有一个名为“can0”的网卡,这个就是 BL302 板上的 CAN1 接口对应的 c…...

Win11系统如何安装Ubuntu20.04(WSL版本)并安装docker
终于还是下定决心去换电脑了……这次采用轻量级的WSL,发现虽然没有占内存的GUI界面,但是编码和阅读文档还是非常nice的 1、首先开启Win11的虚拟机服务 2、下载你期望的Ubuntu服务器(这里以20.04为例) 安装成功后,发现…...

Elasticsearch和Solr的区别
背景:它们都是基于Lucene搜索服务器基础之上开发,一款优秀的,高性能的企业级搜索服务器。(是因为他们都是基于分词技术构建的倒排索引的方式进行查询)开发语言:java语言开发诞生时间:Solr2004年…...

如何在北京买房
首先我陈述一点,如果为了买房后再卖掉赚取差价,我这篇文章也许不适合,我这篇文章为整体愿景的发展而设计,为可操作房产的买卖而操作。 买房的愿景: 首先,我们要以一种心态来买房。那就是以始为终的态度&am…...

使用Proxifier+burp抓包总结
一、微信小程序&网页抓包 1. Proxifier简介 Proxifier是一款功能非常强大的socks5客户端,可以让不支持通过代理服务器工作的网络程序能通过HTTPS或SOCKS代理或代理链。 2. 使用Proxifier代理抓包 原理:让微信相关流量先走127.0.0.1:80到burp。具体…...

安装华为aab包的处理方式
1、转换 aab包 为 apks 说明: 1、bundletool-all-1.11.2.jar 转换文件的工具 2、a.aab aab源文件 3、xxx.apks 导入的文件以及路径(例如:D:\Android\xxx.apks) 4、–ksxxxx.jks 该aab打包所需的jsk文件 5、三条命令为 jsk打包所…...