【论文阅读】ICCV 2023 计算和数据高效后门攻击

2024-02-24 08:04

本文主要是介绍【论文阅读】ICCV 2023 计算和数据高效后门攻击,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一.论文信息
  • 二.论文内容
    • 1.摘要
    • 2.引言
    • 3.主要图表
    • 4.结论

一.论文信息

论文题目: Computation and Data Efficient Backdoor Attacks(计算和数据高效后门攻击)

论文来源: 2023-ICCV(CCF-A)

论文团队: 南洋理工大学&清华大学&中关村实验室

在这里插入图片描述

二.论文内容

1.摘要

针对深度神经网络(DNN)模型的后门攻击已被广泛研究。针对不同的领域和范式提出了各种攻击技术,如图像、点云、自然语言处理、迁移学习等。在DNN模型中嵌入后门最常用的方法是毒害训练数据。他们通常从良性训练集中随机选择样本进行投毒,而不考虑每个样本对后门有效性的不同贡献,使得攻击不太理想。
最近的一项研究[40]提出使用 遗忘分数衡量每个中毒样本的重要性 ,然后过滤掉冗余数据以进行有效的后门训练。然而,这种方法是经验设计的,没有理论证明。它也非常耗时,因为它需要经过几个训练阶段来进行数据选择。为了解决这些限制,我们提出了一种新的基于置信度的评分方法,该方法可以基于距离后验有效地测量每个中毒样本的贡献。我们进一步引入贪婪搜索算法,以更快地找到信息最丰富的后门注入样本。对二维图像和三维点云分类任务的实验评估表明,我们的方法可以达到相当的性能,甚至超过基于遗忘分数的搜索方法,而只需要对标准训练过程进行几个额外的epoch计算。我们的代码可以在https://github.com/WU-YU-TONG/ computational_efficient_backdoor找到。

2.引言

深度神经网络(dnn)安全威胁的多样性[1,23]阻碍了其在许多计算机视觉(CV)任务中的商业化进程。最严重和最广为人知的威胁之一是后门攻击[23]。对手可以在训练期间向目标模型注入一个与唯一触发器相对应的隐形后门[43,28,25,17,5,10,13]。在推理过程中,妥协模型(Compromised model)在良性样本上表现良好,但在具有触发器的恶意样本上可能出现错误行为。

实现后门攻击最常见的方法是数据中毒,攻击者通过破坏某些训练样本来嵌入后门。成功后门攻击的一个关键标准是中毒样本的比例。从对抗的角度来看,我们希望在保持相同攻击成功率(ASR)的情况下投毒尽可能少的样本,原因有两个:(1)较小的投毒率可以增强攻击的可行性。攻击者只需要破坏一小部分训练数据,因此攻击要求放宽了。(2)中毒样本较少的后门攻击将更加隐蔽。许多工作通过调查训练样本提出了后门检测解决方案[7,15,29,35,38,34,18]。较小的投毒率会显著增加检测难度,降低防御效能。

大多数后门攻击随机选择固定比例的训练样本进行投毒,该比例是启发式确定的[12,16,21,41,24]。这种策略不是最优的,因为它忽略了不同样本对后门贡献的区别。 为了克服这一局限性,最近的一项工作[40]提出了一种新的方法——遗忘评分来优化中毒样本的选择过程。以模型训练过程中每个样本遗忘事件的频率作为得分,表示每个样本对后门注入的重要性。然后,在N个完整的训练周期内,通过过滤和更新策略(FUS)过滤出得分较高的样本;与随机选择策略相比,遗忘分数可以有效降低中毒率25 ~ 50%,同时达到相近的ASR。验证了不同样本对攻击性能的不同影响。

遗忘分数可以提高数据效率,但以计算效率低为代价。 具体来说,它根据经验计算每个样本在训练期间被遗忘的次数,以定位对中毒贡献更大的关键样本。遗忘分数的计算需要多个完整的训练周期([40]中的ImageNet-10的N = 10)来减少中毒样本的数量,这引入了大量的工作,对于攻击大规模数据集是不切实际的。因此,一个有趣的问题出现了:是否可能在后门中毒中同时实现数据效率和计算效率,即毫不费力和精确地识别关键中毒样本?

本文提出了一种新的攻击方法来验证上述问题。我们的贡献是双重的。提出了表示距离(RD)分数,一种新的触发无关和结构无关的度量,以识别对后门攻击成功更关键的中毒样本。具体来说,我们的目标是定位那些与目标类有较大距离的中毒样本,因为它们将在训练期间对重塑决策边界的形成做出更多贡献(后门嵌入)。通过采用该RD分数,我们可以过滤掉对后门感染不敏感的中毒样本,以降低中毒率。其次,RD分数可以在模型训练的早期阶段(即训练开始后的几个epoch)使用贪婪搜索方案来选择中毒样本。与遗忘分数相比,这显著减少了计算量。

我们在5个最先进的模型和4个常见的数据集上进行了广泛的实验,用于2D图像和3D点云分类任务。评估表明,我们的解决方案可以有效地减少毒化样本的数量,从而成功地进行后门攻击。最重要的是,与基于遗忘分数的方法相比,我们的解决方案可以使用得分模型找出重要的有毒样本,只需要几次训练,与基于遗忘分数的方法相比,这是一个很小的成本。因为后者需要经过整个培训过程才能达到同样的目标。

3.主要图表

在这里插入图片描述
图1. 对我们洞察力的直观解释。左图显示的是一个干净的模型,没有任何后门。在中间的图中,当样本被下毒时,越靠近决策边界的样本对后门的影响越小。在右图中,当选择样本进行投毒时,远离决策边界的样本可能会给模型带来更显著的变化。

在这里插入图片描述
图2. 我们方法论的工作流程。

在这里插入图片描述
图3. 干净和有毒样本的例子。

在这里插入图片描述
表1. 搜索的预算。

在这里插入图片描述
图4. 三种方法在CIFAR-10上的ASR。我们对基于分数的选择策略重复实验3次,对随机选择策略重复实验10次。我们设置α为0.3,N为10。RD评分模型的epochs为6,遗忘分数模型的epochs设置为50。

在这里插入图片描述

图5.三种方法在ImageNet-10上的ASR。我们对基于分数的选择策略和随机选择策略分别重复实验3次和5次。我们设置α为0.3,N为10。RD评分模型的epochs为6,遗忘分数模型的epochs设置为30。

在这里插入图片描述
图6. 三种方法在三维点云分类任务上的ASR。评分法重复实验3次,随机法重复实验5次。在对两种评分方法进行贪婪搜索时,我们将迭代时间N减少到7。对于ScanObject,我们将训练epoch设置为75,学习率设置为0.01。

在这里插入图片描述
表2. 训练过程中超参数黑箱设置下的ASR(%)。利用CIFAR-10数据集在ResNet18模型上进行了实验。我们训练了6个epoch的评分模型,并将迭代次数和过滤比率分别设置为10。Adam中的其他参数与其PyTorch实现保持一致。对于后门模型,我们将其训练设置固定为使用SGD作为优化器,0.05作为学习率,128作为批大小。

在这里插入图片描述

图7. 各种模型和任务的ASR和Accuracy。所有的ASR都是使用我们在实验中使用的最高中毒比的RD分数获得的,即CIFAR10的0.0017,ImageNet-10的0.0095,ModelNet40的0.01,ScanObject的0.09。在上述比率下,后门的ASR趋于稳定。

在这里插入图片描述
图8. 贪心搜索中α值变化时,不同毒比下RD评分的ASR。每个实验我们重复三次。在所有的实验中,我们将N设置为10,将评分模型的epochs设置为6。

图9. 贪婪搜索中迭代时间N变化时,不同毒比下RD评分的ASR。每个实验我们重复三次。在所有的实验中,我们将评分模型的epochs设置为6。

在这里插入图片描述
图10. 评分模型的训练时间对两种方法的影响。所有实验都在CIFAR-10, ResNet18上使用0.001的中毒比进行。

在这里插入图片描述
图11. 遗忘分数和RD分数的ASR。我们使用ResNet18作为受害者模型,并将评分模型的架构改为MobileNet和VGG16。

4.结论

在本文中,我们提出了一个新的分数,通过评估给定中毒样本对目标类的L2范数来衡量中毒样本对后门学习过程的贡献。通过过滤掉得分较低的样本,我们的方法获得了比随机选择策略更好的后门ASR。我们在各种数据集和模型架构上进行了广泛的实验,以显示与先前工作相比,我们的方法的通用性和可移植性。

对于未来的工作,我们认为虽然RD分数具有很高的适应不同任务的能力,但其在某些场景中的有效性尚未得到充分的研究。在未来,我们希望将我们的研究兴趣转向两个方向。首先,对于像目标检测这样的高级任务[33],评分机制应该处理以下独特的挑战:(1)多任务,如目标定位和分类,如何通过同时采取这些方面来减少有毒预算是一个关键问题;(2)多实例,如一个样本可能包含多个对象,在设计评分方法时,如何衡量给定中毒样本的重要性使问题变得更加复杂。其次,对自然语言生成等非分类任务的中毒效率研究较少[9]。搜索方法需要满足多种损失函数。因此,调整类似的方法来选择重要的毒物样本可能是具有挑战性的。

这篇关于【论文阅读】ICCV 2023 计算和数据高效后门攻击的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/741466

相关文章

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

Java高效实现PowerPoint转PDF的示例详解

《Java高效实现PowerPoint转PDF的示例详解》在日常开发或办公场景中,经常需要将PowerPoint演示文稿(PPT/PPTX)转换为PDF,本文将介绍从基础转换到高级设置的多种用法,大家... 目录为什么要将 PowerPoint 转换为 PDF安装 Spire.Presentation fo

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

python库pydantic数据验证和设置管理库的用途

《python库pydantic数据验证和设置管理库的用途》pydantic是一个用于数据验证和设置管理的Python库,它主要利用Python类型注解来定义数据模型的结构和验证规则,本文给大家介绍p... 目录主要特点和用途:Field数值验证参数总结pydantic 是一个让你能够 confidentl

JAVA实现亿级千万级数据顺序导出的示例代码

《JAVA实现亿级千万级数据顺序导出的示例代码》本文主要介绍了JAVA实现亿级千万级数据顺序导出的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 前提:主要考虑控制内存占用空间,避免出现同时导出,导致主程序OOM问题。实现思路:A.启用线程池

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很