Clean-label Backdoor Attack against Deep Hashing based Retrieval论文笔记

news2024/10/6 6:40:19
论文名称Clean-label Backdoor Attack against Deep Hashing based Retrieval
作者Kuofeng Gao (Tsinghua University)
出版社arxiv 2021
pdf在线pdf
代码

简介:本文提出了首个针对 hashing 模型的 clean-label backdoor attack。生成 targeted adversarial patch 作为 trigger,生成 confusing perturbations 去阻碍模型的学习,让其学到更多 trigger 信息。其中 confusing perturbations 是难以察觉的。作者通过实验验证了该方法的有效性,例如使用40张 poison data 就可以使攻击成功。

2.introduction

背景

针对 hashing retrieval 的 clean-label backdoor attack

文章的贡献

  1. 提出了首个针对 hashing 系统的 clean-label backdoor attack
  2. 提出了 confusing perturbations 的方法促使模型学到更多 trigger 信息
  3. 验证了实验的效果 including transfer-based attack, less number of poisoned images

deep hashing:

h = F ( x ) = sign ⁡ ( f θ ( x ) ) \boldsymbol{h}=F(\boldsymbol{x})=\operatorname{sign}\left(f_{\boldsymbol{\theta}}(\boldsymbol{x})\right) h=F(x)=sign(fθ(x))

由于符号函数的梯度的梯度问题,可以使用 t a n h ( . ) tanh(.) tanh(.) 进行代替

F ′ ( x ) = tanh ⁡ ( f θ ( x ) ) F^{\prime}(\boldsymbol{x})=\tanh \left(f_{\boldsymbol{\theta}}(\boldsymbol{x})\right) F(x)=tanh(fθ(x))

3.method

3.1 模型结构

在这里插入图片描述

算法的流程为:
  1. 根据 target 类生成 universal adversarial patch 作为 trigger
  2. 根据 target 类生成 confusing perturbations
  3. 对数据进行投毒,生成带有 trigger 和 confusing perturbations 的数据集
  4. 使用 posion 数据集训练 backdoor 模型
  5. 测试 backdoor 模型的 map 和 t-map

3.2 Trigger Generation

论文在图片的左下角生成trigger:

injection function()​:

x ^ = B ( x , p ) = x ⊙ ( 1 − m ) + p ⊙ m \hat{\boldsymbol{x}}=B(\boldsymbol{x}, \boldsymbol{p})=\boldsymbol{x} \odot(\mathbf{1}-\boldsymbol{m})+\boldsymbol{p} \odot \boldsymbol{m} x^=B(x,p)=x(1m)+pm

  • p p p trigger pattern
  • m m m predefined mask
  • ⊙ \odot denotes the element-wise product
  • 该公式参照了论文: (clean-label videos attack)

参考论文 DHTA 本文作者使用 DHTA 中生成 universal adversarial patch 的方法生成 trigger

min ⁡ p ∑ ( x i , y i ) ∈ D d H ( F ′ ( B ( x i , p ) ) , h a ) \min _{\boldsymbol{p}} \sum_{\left(\boldsymbol{x}_{i}, \boldsymbol{y}_{i}\right) \in \boldsymbol{D}} d_{H}\left(F^{\prime}\left(B\left(\boldsymbol{x}_{i}, \boldsymbol{p}\right)\right), \boldsymbol{h}_{a}\right) minp(xi,yi)DdH(F(B(xi,p)),ha)

  • D D D: training set

  • h a h_a ha anchor code

    h a h_a ha anchor code 是一串能代表 target 类的哈希码 (由 DHTA 提出)

    h a = arg ⁡ min ⁡ h ∈ { + 1 , − 1 } K ∑ ( x i , y i ) ∈ D ( t ) d H ( h , F ( x i ) ) \boldsymbol{h}_{a}=\arg \min _{\boldsymbol{h} \in\{+1,-1\}^{K}} \sum_{\left(\boldsymbol{x}_{i}, \boldsymbol{y}_{i}\right) \in \boldsymbol{D}^{(t)}} d_{H}\left(\boldsymbol{h}, F\left(\boldsymbol{x}_{i}\right)\right) ha=argminh{+1,1}K(xi,yi)D(t)dH(h,F(xi))

  • p p p trigger

通过优化该目标函数,生成的 trigger ,模型会将其判断为 target 类

所有 poison data 都共用同一个 trigger

3.3 Perturbing Hashing Code Learning

为了迫使模型更加关注 trigger ,本文提出了在 posion data 中加入 confusing perturbations

受到文章:(Yang et al. 2018) 的启发,作者发现这些 perturbations 可增大 original query image 之间的距离

在这里插入图片描述

如图所示,加入 perturbations 后,原本紧密的 yurt 类变得十分分散。

本文的作者通过在 target 类中加入 perturbations,使得模型在学习带有 trigger 的 target 类信息时,更多地学习到 trigger 信息

**目标函数:**​

L c ( { η i } i = 1 M ) = 1 M ( M − 1 ) ∑ i = 1 M ∑ j = 1 , j ≠ i M d H ( F ′ ( x i + η i ) , F ′ ( x j + η j ) ) \begin{aligned} & L_{c}\left(\left\{\boldsymbol{\eta}_{i}\right\}_{i=1}^{M}\right) \\=& \frac{1}{M(M-1)} \sum_{i=1}^{M} \sum_{j=1, j \neq i}^{M} d_{H}\left(F^{\prime}\left(\boldsymbol{x}_{i}+\boldsymbol{\eta}_{i}\right), F^{\prime}\left(\boldsymbol{x}_{j}+\boldsymbol{\eta}_{j}\right)\right) \end{aligned} =Lc({ηi}i=1M)M(M1)1i=1Mj=1,j=iMdH(F(xi+ηi),F(xj+ηj))

  • M M M 张 target 类的图片
  • η i \boldsymbol{\eta}_{i} ηi 表示为 x i x_i xi 的 perturbations
  • 为了让 perturbations imperceptible,引入了 ℓ ∞ \ell_{\infty} 进行限制

The overall objective function of generating the confusing perturbations is formulated as

max ⁡ { η i } i = 1 M λ ⋅ L c ( { η i } i M ) + ( 1 − λ ) ⋅ 1 M ∑ i = 1 M L a ( η i ) \max _{\left\{\boldsymbol{\eta}_{i}\right\}_{i=1}^{M}} \lambda \cdot L_{c}\left(\left\{\boldsymbol{\eta}_{i}\right\}_{i}^{M}\right)+(1-\lambda) \cdot \frac{1}{M} \sum_{i=1}^{M} L_{a}\left(\boldsymbol{\eta}_{i}\right) max{ηi}i=1MλLc({ηi}iM)+(1λ)M1i=1MLa(ηi)
s.t. ∥ η i ∥ ∞ ≤ ϵ , i = 1 , 2 , … , M \left\|\boldsymbol{\eta}_{i}\right\|_{\infty} \leq \epsilon, i=1,2, \ldots, M ηiϵ,i=1,2,,M

  • L a ( η i ) = d H ( F ′ ( x i + η i ) , F ( x i ) ) L_{a}\left(\boldsymbol{\eta}_{i}\right)=d_{H}\left(F^{\prime}\left(\boldsymbol{x}_{i}+\boldsymbol{\eta}_{i}\right), F\left(\boldsymbol{x}_{i}\right)\right) La(ηi)=dH(F(xi+ηi),F(xi))

4.experiments

4.1 实验细节

数据集的划分:

Datasets and Target Models.

数据集trainquerydatabaseclass
ImageNet100*100(from database)50*1001300*100100
MS-COCO10000500011721880
Places365900036003600036
  • ImageNet:数据集的划分方法按照 (hashnet-pdf),数据集可由HashNet-github上下载
  • MS-COCO:数据集的划分方式按照(hashnet-pdf),数据集可由HashNet-github上下载
  • Places365:数据集的划分方式按照 (hashstash-pdf),数据集可由 HashStash-github下载
target models
  • hashing target models 的设置:使用预训练好的分类网络,进行 fine-tune 。再将分类网络最后一层换为 hashing layer 然后微调。

    • 具体网络结构有:

      • VGG-11,VGG-13
      • ResNet-34,ResNet-50,WideResNet-50-2:

      训练过程的具体描述在文章 Appendix B 中

  • 除了最基本的 hashing 模型,文中还对 HashNet 和 DCH 进行了测试

Attack Settings

选择了5类作为target label

poisoned images is 60 on all datasets

  • During the process of the trigger generation, we optimize the trigger pattern with the batch size 32 and the step size 12. The number of iterations is set as 2,000.
  • Generating the confusing perturbations. The perturbation magnitude ε \varepsilon ε is set to 0.032. The number of epoch is 20 and the step size is 0.003. The batch size is set to 20 for generating the confusing perturbations.

对比实验的设置:

Tri:加入了trigger

Tri+Noise:加入了trigger和均匀分布的噪声

Tri+Adv:加入了 trigger 和 adversarial perturbations

4.2 评价指标

t-map:We calculate the t-MAP on top 1,000 retrieved images on all datasets.

4.3 实验

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

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

相关文章

图像传统处理算法-边缘检测-分割-增强-降噪

一、边缘检测 边缘检测的几种微分算子: 一阶微分算子:Roberts、Sobel、Prewitt 二阶微分算子:Laplacian、Log/Marr 非微分算子:Canny 一阶微分算子 1.Roberts: 没有经过图像平滑处理,图像噪声无法得到较好的抑制…

Proactive Privacy-preserving Learning for Retrieval 论文笔记

论文名称Proactive Privacy-preserving Learning for Retrieval作者Peng-Fei Zhang (University of Queensland)会议/出版社AAAI 2021pdf📄在线pdf代码无代码概要: 本文提出了一种针对检索系统隐私保护的方法,称为 PPL。训练一个生成器&#…

SPARKSQL3.0-Optimizer阶段源码剖析

一、前言 阅读本节需要先掌握【SPARKSQL3.0-Analyzer阶段源码剖析】 Optimizer阶段是对Analyzer分析阶段的逻辑计划【logicalPlan】做进一步的优化,将应用各种优化规则对一些低效的逻辑计划进行转换 例如将原本用户不合理的sql进行优化,如谓词下推&am…

PCB设计仿真之探讨源端串联端接

作者:一博科技高速先生成员 孙宜文 上期高速线生简单介绍了反射原理也提到了源端串联端接,笔者借此篇文章再深入探讨下,本文使用Sigrity Topology Explorer 17.4仿真软件。 搭建一个简单的电路模型,给一个上升沿和下降沿均为0.5…

学会使用这些电脑技巧,可以让你在工作中受益无穷

技巧一:设置计算机定时关机 第一步:快捷键win r打开运行窗口。 第二步:输入:shutdown -s -t 3600,其中数字3600表示3600秒,就是设置3600秒后关机。第三步:按确定完成设置。如果你想取消设置&…

吃透这份高并发/调优/分布式等350道面试宝典,已涨30k

前言 这一次的知识体系面试题涉及到 Java 知识部分、性能优化、微服务、并发编程、开源框架、分布式等多个方面的知识点。 写这一套 Java 面试必备系列文章的初衷。 整理自己学过的知识,总结,让其成为一套体系,方便日后查阅。现在不少 Java …

【MySQL运行原理篇】底层运行结构

MySQL整体架构图 简略版图 1.1连接管理 一句话:负责客户端连接服务器的部分 网络连接层, 对客户端的连接处理、安全认证、授权等,每个客户端连接都会在服务端拥有一个线程,每个连接发起的查询都会在对应的单独线程中执行。服务器上维护一…

社交媒体营销策略——如何病毒式传播:增加受众范围的9个技巧

关键词:社交媒体营销、病毒式传播、受众 社交营销人员知道创建病毒式帖子并不是他们最重要的目标。事实上,这可能会分散他们接触目标受众和照顾团队心理健康的注意力。 这并不意味着您无法从病毒式传播的帖子和活动中学到一些东西。战略性病毒式营销可提…

5分钟搞懂https原理

概念 https(超文本传输安全协议)是一种以安全为基础的HTTP传输通道。 在了解HTTPS之前,我们首先来认识一下http: http(超文本传输协议),HTTP是tcp/ip族中的协议之一,也是互联网上…

React项目使用craco(由create-react-app创建项目)

适用:使用 create-react-app 创建项目,不想 eject 项目但想对项目中 wepback 进行自定义配置的开发者。 1.使用 create-react-app创建一个项目(已有项目跳过此步) $ npx create-react-app my-project 2.进入项目目录,…

一些http和tomcat知识补充

HTTP和HTTPS的区别  概念    HTTP英文全称是Hyper Text Transfer Protocol,超文本传输协议,用于在Web浏览器和网站服务器之间传递信息。 HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和…

D. Sequence and Swaps(思维)

Problem - 1455D - Codeforces 你的任务是使该序列排序(如果条件a1≤a2≤a3≤⋯≤an成立,它就被认为是排序的)。 为了使序列排序,你可以执行以下操作的任何次数(可能是零):选择一个整数i&#…

数据结构 | 带头双向循环链表【无懈可击的链式结构】

不要被事物的表面现象所迷惑~🌳前言🌳结构声明🌳接口算法实现🍎动态开辟&初始化【Init】🍎尾插【PushBack】🍎尾删【PopBack】🍎头插【PushFront】🍎头删【PopFront】&#x1f4…

思科防火墙应用NAT

♥️作者:小刘在C站 ♥️每天分享云计算网络运维课堂笔记,一起努力,共赴美好人生! ♥️夕阳下,是最美的,绽放。 目录 一.思科防火墙的NAT 一种有四种, 二.动态NAT 配置 三.动态PAT配置 四…

哪些城市有PMP考试考点?PMP考试考场都在哪?

有不少伙伴对PMP的考试点存在一定的疑问,全国PMP考试具体考点位置是在哪呢? 根据过往常用考点,我们给大家汇总了2022年PMP考试全国考场地址,一起来看看吧! 表格信息来自基金会官网11月27日PMP报名通知,仅作…

Spring Security多种用户定义方式

本文内容来自王松老师的《深入浅出Spring Security》,自己在学习的时候为了加深理解顺手抄录的,有时候还会写一些自己的想法。 Spring Security中存在两种类型的AutnenticationManager,一种是全局的AuthenticationManager,一种是局…

原版畅销36万册!世界级网工打造TCP/IP圣经级教材,第5版终现身

关于TCP/IP 现代网络中,以窃取信息或诈骗为目的的网站频频出现,蓄意篡改数据以及信息泄露等犯罪行为也在与日俱增。很多情况下,人们可能会认为人性本善,在享受着网络所带来的便捷性的同时,也就降低了对网络犯罪的设防…

深入理解java虚拟机:类文件结构(2)

文章目录Class类文件结构2.6 方法表集合2.7 属性表集合3. Class文件结构的发展Class类文件结构 接着上一篇,我们继续补充 2.6 方法表集合 Class文件存储格式中对方法的描述与对字段的描述几乎采用了完全一致的方式,方法表的结构如同字段表一样&#x…

算法设计与分析 SCAU17964 水桶打水

17964 水桶打水 时间限制:1000MS 代码长度限制:10KB 提交次数:25 通过次数:9 题型: 编程题 语言: G;GCC;VC;JAVA Description 有n个人&#xff08;n<100000&#xff09;带着大大小小的水桶容器&#xff08;每人一个水桶&#xff09;排队到r个&#xff08;r<1000&#…

JS基础习题

1.JavaScript变量命名规则 1.在JavaScript中以下&#xff0c;以下哪些变量名是非法的&#xff08;会导致程序报错&#xff09;&#xff1f; 1person name var $orderwera23 uiuiuqwer4_23aser2 A .1person&#xff0c;name B .name&#xff0c;var C .$orderwera23&#xff0c…