【论文笔记】An Effective Adversarial Attack on Person Re-Identification ...

原文标题(文章标题处有字数限制):
《An Effective Adversarial Attack on Person Re-Identification in Video Surveillance via Dispersion Reduction》

Abstract

通过减少神经网络内部特征图的分散性攻击reid模型。

erbloo/Dispersion_reduction (github.com)

1 Introduction

采用“分散减少”(Dispersion Reduction)的攻击方法,通过内部特征图的对比度来实现的黑盒攻击。

3 Proposed Approach

3.1 Notation

x r e a l x^{real} xreal表示原始查询图像, f ( ⋅ ) f(\cdot) f()表示深度神经网络分类器,第 k k k层的输出特征图为 F \mathfrak{F} F,其中第一次迭代时 F = f ( x r e a l ) ∣ k \mathfrak{F}=f(x^{real})|_k F=f(xreal)k。对于后面的每一次迭代,计算色散(用 g ( ⋅ ) g(\cdot) g()表示),色散的梯度为 ∇ x r e a l g ( F k ) \nabla_{x^{real}} g(\mathfrak{F}_k) xrealg(Fk),用来更新对抗样本 x a d v x^{adv} xadv

3.2 Dispersion Reduction

将Person ReID模型视为黑匣子进行处理和攻击需要一种可高度转移且能够有效攻击不同训练数据集和模型架构的方法。
大多数现有的攻击方法依赖于特定的任务的损失函数,这极大限制了它们跨任务和不同网络模型的可转移性。

分散减少(DR)具有良好的可转移性,在跨任务攻击场景中取得了成功。DR采用公开可用的分类网络作为代理源模型,并攻击用于不同计算机视觉任务的模型,例如对象检测,语义分割和云API应用程序。

DR是黑盒攻击。

传统的黑盒攻击建立一个源模型作为代理,其输入与目标模型生成的标签,而不是真实标签,让源模型来模仿目标行为。

本文提出的DR攻击不依赖于标签系统或特定的任务损失函数,仅访问模型的顶部。
需要源模型,但是不需要按照目标模型进行训练。
DR攻击具有很强的可转移性,预训练的公共模型可以简单地充当源模型。
![[Pasted image 20240301153300.png]]

图1:DR攻击减少了内部特征图的分散性。该对抗性样本是通过攻击VGG16模型的conv3.3层(减少分散性)生成的。与原始图像特征图相比,这也会导致后续层的特征图失真。

还可以分析攻击VGG16网络时针对不同的卷积层的攻击效果。

![[Pasted image 20240301153542.png]]

图2:攻击VGG16不同的层时的效果。攻击中间的层会导致掉点更明显。中间层的标准差的下降也远大于顶层和底层。

DR攻击可以用下面的优化问题定义:
min ⁡ x g ( f ( x a d v , θ ) ) s . t . ∣ ∣ x a d v − x r e a l ∣ ∣ ∞ ≤ ϵ (6) \begin{aligned} \min_x g(f(x^{adv},\theta)) \\ s.t. ||x^{adv}-x^{real}||_\infty\leq\epsilon\tag{6} \end{aligned} xming(f(xadv,θ))s.t.∣∣xadvxrealϵ(6)
其中 f ( ⋅ ) f(\cdot) f()是深度神经网络的分类器, θ \theta θ表示网络参数, g ( ⋅ ) g(\cdot) g()计算分散度。

提出的DR通过采取迭代步骤,通过减少 k k k层中间的特征图的分散度来创建对抗性示例。

离散度描述了分布被拉伸或压缩的程度,并且可以有不同的离散度度量,如方差、标准差、基尼系数。

简单起见使用标准差作为分散度度量。

给定任何特征图,DR沿着降低标准差的方向,迭代地向 x r e a l x^{real} xreal添加噪声,通过裁剪为 x ± ϵ x±\epsilon x±ϵ,将其映射到 x r e a l x^{real} xreal附近。令第 k k k层的特征图为 F = f ( x t a d v ) ∣ k \mathfrak{F}=f(x_t^{adv})|_k F=f(xtadv)k,DR攻击遵循下列等式:
x t + 1 a d v = x t a d v − ∇ x a d v g ( F k ) = x t a d v − d g ( t ) d t ⋅ d f ( x t a d v ∣ k ) d x a d v (7) \begin{aligned} x_{t+1}^{adv}&=x_t^{adv}-\nabla_{x^{adv}}g(\mathfrak{F}_k)\\ &=x_t^{adv}-\frac{dg(t)}{dt}\cdot\frac{df(x_t^{adv}|_k)}{dx^{adv}}\tag{7} \end{aligned} xt+1adv=xtadvxadvg(Fk)=xtadvdtdg(t)dxadvdf(xtadvk)(7)

算法1:Dispersion Reduction Attack

输入:分类器 f f f,真实图像 x r e a l x^{real} xreal,第 k k k层的特征图,扰动 ϵ \epsilon ϵ,迭代次数 T T T,学习率 l l l
输出:对抗性样本 x a d v x^{adv} xadv,使得 ∣ ∣ x a d v − x r e a l ∣ ∣ ∞ ≤ ϵ ||x^{adv}-x^{real}||_\infty\leq\epsilon ∣∣xadvxrealϵ

  • x 0 a d v ← x r e a l x_0^{adv}\leftarrow x_{real} x0advxreal
  • 对于每次迭代:
    • F k = f ( x t a d v ) ∣ k \mathfrak{F}_k=f(x_t^{adv})|_k Fk=f(xtadv)k
    • 计算标准差 g ( F k ) g(\mathfrak{F}_k) g(Fk)
    • 计算梯度 ∇ x r e a l g ( F k ) \nabla_{x^{real}} g(\mathfrak{F}_k) xrealg(Fk)
    • 更新 x a d v x^{adv} xadv x t a d v = x t a d v − Adam ( ∇ x r e a l g ( F k ) , l ) x_t^{adv}=x_t^{adv}-\text{Adam}(\nabla_{x^{real}} g(\mathfrak{F}_k), l) xtadv=xtadvAdam(xrealg(Fk),l)
    • x t a d v x_t^{adv} xtadv移动到 x r e a l x^{real} xreal附近: x t + 1 a d v = clip ( x t a d v , x r e a l − ϵ , x r e a l + ϵ ) x_{t+1}^{adv}=\text{clip}(x_t^{adv},x^{real}-\epsilon,x^{real}+\epsilon) xt+1adv=clip(xtadv,xrealϵ,xreal+ϵ)
  • 返回 x t + 1 a d v x_{t+1}^{adv} xt+1adv

3.3 Victim ReID Models and Implementation Details of Attacks

[68]layumi. Dg-Net. Accessed: Oct. 30, 2019. [Online]. Available: https://github.com/NVlabs/DG-Net
[69] michuanhaohao. Alignedreid. Accessed: Oct. 30, 2019. [Online]. Available: https://github.com/michuanhaohao/AlignedReID
[70] AI-NERC-NUPT. Plr-Osnet. Accessed: Oct. 30, 2019. [Online]. Available: https://github.com/AI-NERC-NUPT/PLR-OSNet
训练时,图像被放缩至256x128,将小批量大小从16降至4,来减小GPU内存开销。

4 Experiments, Results and Discussion

使用了3个SOTA ReID模型作为受害模型,使用DR攻击,在4个数据集上进行攻击表现评估。
![[Pasted image 20240301200901.png]]
表1:受害模型在攻击前和攻击后的mAP,在不同的数据集上的表现。

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

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

相关文章

强化学习嵌入Transformer(代码实践)

这里写目录标题 ChatGPT的答案GPT4.0 ChatGPT的答案 # 定义Transformer模块 class Transformer(nn.Module):def __init__(self, input_dim, hidden_dim, num_heads, num_layers):super(Transformer, self).__init__()self.encoder_layer nn.TransformerEncoderLayer(d_modeli…

Vue3中组件通讯的方式

Vue3中组件通讯的方式 1 🤖GPT🤖: (答案有点问题混淆了vue2的内容) 父组件向子组件传递数据 props 子组件通过 props 属性从父组件接收数据。emit事件子组件通过emit 事件 子组件通过 emit事件子组件通过emit 发射事件向父组件发送消息。provide / in…

Java SpringCloud gateway面试题

Java SpringCloud gateway面试题 前言1、什么是网关Zuul(gateway)?2、服务网关的作用?3、Zuul网关(Gateway)如何搭建集群?4、ZuulFilter常用有那些方法?5、如何实现动态zuul网关路由转发?6、在Z…

kubeadm安装部署

目录 1.要求 2.环境准备 3.所有节点安装docker 4.所有节点安装kubeadm,kubelet和kubectl 5.部署K8S集群 6.测试 7.扩展3个副本 8.部署Dashboard master(2C/4G,cpu核心数要求大于2)192.168.27.10docker、kubeadm、kubelet、…

LightDB - ecpg 支持dml 中使用 return into 【24.1】

在之前的版本中ecpg 中只能使用returning into 来给c 变量赋值,如下: exec sql update t1 set c aa where id 2 returning c into :c_val;为了兼容oracle pro*c 中return into 的用法,从24.1 开始, LightDB 也支持通过return in…

Chrome插件 | WEB 网页数据采集和爬虫程序

无边无形的互联网遍地是数据,品类丰富、格式繁多,包罗万象。数据采集,或说抓取,就是把分散各处的内容,通过各种方式汇聚一堂,是个有讲究要思考的体力活。君子爱数,取之有道,得注意遵…

mobile app 安全扫描工具MobSF了解下

可以干啥: static 静态分析 dynamic 动态分析 可以用来渗透了 如何docker安装 docker image 下载地址https://hub.docker.com/r/opensecurity/mobile-security-framework-mobsf/ setup 两行即可 1 docker pull opensecurity/mobile-security-framework-mobsf…

关于VScode远程编写linux SHELL的报错处理

使用vscode远程编写linux保存shell时,提示报错: 未能保存“shell”: 无法写入文件"vscode-remote:.../tmp/shell"(NoPermissions (FileSystemError): Error: EACCES: permission denied, open /tmp/shell) 大体意思是说:权限被拒…

Python | 从子目录文件导入父目录模块的方法

问题描述 我有两级目录,第一级称为parent_dir,第二级称为child_dir。现在在child_dir下,有一个py,称为child.py,在parent_dir下,也有一个py,称为parent.py。 我想从child.py中导入parent.py中…

Go Slice的底层实现原理深度解析

文章目录 切片的诞生:数组的延伸切片的结构初始化切片 切片的内存管理扩容机制 实例分析:切片的动态特性切片与性能性能对比 切片的并发安全并发场景下的切片操作 切片与接口切片与空接口 切片的遍历与操作遍历切片切片的切片操作 切片的垃圾回收切片的生…

年轻人怎么搞钱?

年轻人想要搞钱,可以考虑以下几个方面: 1. 创业:年轻人可以通过自己的创意,找到一个市场的空缺,开创自己的业务。可以从比较小的项目开始,逐渐扩大范围,积累经验和财富。 2. 投资:…

成为大佬之路--linux软件安装使用第000000021篇--linux安装docker

简介 Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 [GitHub](https://github.co…

Hadoop之HDFS——【模块二】数据管理

一、Namespace的概述 1.1.集群与命名空间的关系 类似于大集群与小集群之间的关系,彼此之间独立又相互依存。每个namespace彼此独立,Namespace工作时只负责维护本区域的数据,同时所有的namespace维护的文件都可以共用DataNode节点,为了区分数据属于哪些Namespace,DataNode…

强大而灵活的python装饰器

装饰器(Decorators) 一、概述 在Python中,装饰器是一种特殊类型的函数,它允许我们修改或增强其他函数的功能,而无需修改其源代码。装饰器在函数定义之后立即调用,并以函数对象作为参数。装饰器返回一个新…

力扣151--反转字符串中的单词(优)

清晰易懂,简单高效! 大体思路: 每次截取到想要的单词,拼接到新的sb中,过程中伴随双指针进行空格位置指向控制, 其中如果start指针如果0的情况要放在第一个判断条件防止边界条件失效,并且这种…

Linux系统运维脚本:shell脚本查看一定网段范围在线网络设备的ip地址和不在线的网络设备的数量(查看在线和不在线网络设备)

目 录 一、需求说明 二、解决方案 (一)解决思路 (二)方案 三、脚本程序实现 (一)脚本代码和解释 1、脚本代码 2、代码解释 (二)脚本验证 1、脚本编辑…

CrossOver 24下载-CrossOver 24 for Mac下载 v24.0.0中文永久版

CrossOver 24是一款可以让mac用户能够自由运行和游戏windows游戏软件的虚拟机类应用,虽然能够虚拟windows但是却并不是一款虚拟机,也不需要重启系统或者启动虚拟机,类似于一种能够让mac系统直接运行windows软件的插件。它以其出色的跨平台兼容…

NVMe开发——PCIe复位

简介 PCIe中有4种复位机制,早期的3种被称为传统复位(Conventional Reset)。传统复位中的前2种又称为基本复位(Fundamental Resets),分别为冷复位(Cold Reset),暖复位(Warm Reset)。第3种复位为热复位(Hot Reset)。第4种复位被称为功能级复位…

js 正则记录

正则表达式 正则表达式创建一个正则表达式修饰符常用的特殊字符使用正则表达式的方法replace指定字符串作为替换项使用场景:交换字符串中的两个单词将"-"链接的方式改为驼峰式(忽略开头的-)将华氏温度转换为响应的摄氏温度 常用正则示例判断输入是否是正确…

使用docker安装dolphinscheduler

1、前提是安装docker和docker-compose 2、#mkdir /data/dolphinscheduler 3、镜像 docker load -i dolphinscheduler-mysql-driver.tar docker pull zookeeper:3.6.2:3.6.2 docker tag a7 bitnami/zookeeper:3.6.2 理论上postgresql也可以在线pull,但是在线do…