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

news2024/9/20 22:36:11

原文标题(文章标题处有字数限制):
《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.coloradmin.cn/o/1481909.html

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

相关文章

Scratch 第十四课-打地鼠游戏

第十四课-打地鼠游戏 学习目标 这节课我们一起来做一款打地鼠游戏 如何画圆形以及如何使用复制粘贴功能随机数在游戏中的实际应用逻辑运算符与判断语句的使用 程序设计 程序分析 : 打地鼠游戏小朋友们都玩过,在多个洞里面随机伸出老鼠的头&#xff0…

Github配置ssh key的步骤

1. 检查本地主机是否已经存在ssh key 是否存在 id_rsa 和 id_rsa.pub文件,如果存在,说明已经有SSH Key 如下图所示,则表明已经存在 如果存在,直接跳到第三步 2. 生成ssh key 如果不存在ssh key,使用如下命令生…

机器学习(II)--样本不平衡

现实中,样本(类别)样本不平衡(class-imbalance)是一种常见的现象,如:金融欺诈交易检测,欺诈交易的订单样本通常是占总交易数量的极少部分,而且对于有些任务而言少数样本更…

Linux系统中的高级多线程编程技术

在Linux系统中,多线程编程是一种常见的并发编程模型,通过利用多线程可以实现程序的并发执行,提高系统的性能和响应速度。在Linux系统中,开发人员通常使用 pthread 库来进行多线程编程,同时需要掌握线程同步技术以避免并…

代码随想录第二十五天 78.子集 90.子集II 491.非递减子序列

LeetCode 78 子集 题目描述 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums [1,2,3] 输出&…

使用git的小笔记

平时工作中使用git存储项目代码, 常用的命令 拉取仓库代码 git clone http://100.100.100.100:9080/my_test/test.git 拉取到以后, 先切换到自己的分支 git checkout my_name 一顿魔改代码 然后 add 新增的文件或者修改的文件 git add * 然后提交 并写…

IDEA创建Sping项目只能勾选17和21,却无法使用Java8

报错信息 The required java version 17 is not supported by the project SDK 1.8.The maximum supported Java version is 8. 想创建一个springboot项目,本地安装jdk版本为1.8,但是在使用 Spring Initializr创建项目时,版本只能选择21或17,…

02、MongoDB -- MongoDB 的安全配置(创建用户、设置用户权限、启动安全控制、操作数据库命令演示、mongodb 的帮助系统介绍)

目录 MongoDB 的安全配置启动 mongodb 服务器 和 客户端 :1、启动单机模式的 mongodb 服务器2、启动 mongodb 的客户端 MongoDB 的安全配置启动演示用到的 mongodb 服务器 和 客户端启动单机模式的 mongodb 服务器:启动 mongodb 的客户端 MongoDB 操作数…

Spring Boot与Docker部署

系列文章目录 文章目录 系列文章目录前言一、开启Docker远程访问二、新建Maven工程三、创建Java类四、创建Dockerfile五、完整目录结构如下所示:六、Docker启动镜像前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,…

Linux/Centos 部署静态IP,解决无法访问目标主机、Destination Host Unreachable、无法ping通互联网的问题

Linux/Centos 部署IP,解决无法访问目标主机、Destination Host Unreachable、无法ping通互联网的问题 Linux/Centos 部署静态IP查物理机/自身电脑的IP设置VMware上的虚拟网络编辑器设置网卡IP,激活至此就可访问百度了 Linux/Centos 部署静态IP 需要注意…

小程序自定义组件

自定义组件 1. 创建-注册-使用组件 组件介绍 小程序目前已经支持组件化开发,可以将页面中的功能模块抽取成自定义组件,以便在不同的页面中重复使用; 也可以将复杂的页面拆分成多个低耦合的模块,有助于代码维护。 开发中常见的…

数通HCIE和云计算HCIE哪个好一点?

数通是网络的基础知识,也是入门人员必学的方向,相对也会简单些,学习数通,可以很好的学习其他的方向。数通的就业范围也比较广,运营商、企业、政府还是互联网公司,都需要大量的数通工程师来搭建和维护网络&a…

Sora引发安全新挑战

文章目录 前言一、如何看待Sora二、Sora加剧“深度伪造”忧虑三、Sora无法区分对错四、滥用导致的安全危机五、Sora面临的安全挑战总结前言 今年2月,美国人工智能巨头企业OpenAI再推行业爆款Sora,将之前ChatGPT以图文为主的生成式内容全面扩大到视频领域,引发了全球热议,这…

MATLAB练习题:排队论问题的模拟

​讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili 下面我们来看一道排队论的题目。假设某银行工作时间内只有一个…

生成式人工智能治理:入门的基本技巧

GenAI 以前所未有的速度调解并扰乱了“一切照旧”,同时带来了令人难以置信的力量,但也带来了不可否认的责任。当然,现代企业非常熟悉技术进步。然而,人工智能的到来(和实施)无疑引起了相当大的冲击&#xf…

性能优化篇(二) 静态合批步骤与所有注意事项\游戏运行时使用代码启动静态合批

静态合批步骤: 1.开启Project Settings —>Player–>Other Setting里勾选Static Batching选项(一般情况下unity都是默认勾选状态) 2.勾选需要合批的静态物体上的Batching Static项,勾选后此物体下的所有子物体都默认参与静态合批(勾选后物体不能进行移动/旋转/缩放操作,…

Zookeeper4:Java客户端、应用场景以及实现、第三方客户端curator工具包

文章目录 Java连接Zookeeper服务端依赖代码使用 应用场景统一命名服务统一配置管理统一集群管理服务器节点动态上下线理解实现模拟服务提供者【客户端代码】-注册服务模拟服务消费者【客户端代码】-获取服务信息进行请求消费 软负载均衡分布式锁理解实现 生产集群安装N台机器合…

事务Transaction简写为tx的原因

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl Transaction简写的由来 数据库事务Transaction通常被简写为tx。让人疑惑的是:这个单词本身没有字母x为何又将其简写成了tx呢? 第一种可能 Transac…

鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:背景设置)

设置组件的背景样式。 说明: 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 background10 background(builder: CustomBuilder, options?: { align?: Alignment }) 设置组件背景。 系统能力: …

java 正则表达式介绍

Java正则表达式是一种强大的文本处理工具,它允许你进行模式匹配、搜索和文本操作。正则表达式提供了一种简洁、灵活的方式来处理字符串,可以用于各种应用场景,如数据验证、文本解析、搜索和替换等。 正则表达式的基础知识 正则表达式…