Targeted Backdoor Attacks on Deep Learning Systems Using Data Poisoning 论文复现

本文主要是介绍Targeted Backdoor Attacks on Deep Learning Systems Using Data Poisoning 论文复现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Targeted Backdoor Attacks on Deep Learning Systems Using Data Poisoning 论文复现

代码链接:点我🙂

1. 模型说明

  • 网络使用的是LeNet-5,只包含两个卷积层和若干全连接层,参数量很小
  • 数据集使用的mnist手写数据集(训练集:60000 测试集:10000)
  • 实现了Backdoor的两种攻击形式(instance-key和patten-key)

2. Input-instance-key strategies

直接使用一个输入实例作为后门,这里使用的是下图:

6xwOzV.png

然后生成投毒数据:

∑ r a n d ( x ) = { c l i p ( x + δ ) ∣ δ ∈ [ − 5 , 5 ] H × W × 3 } \sum_{rand}(x) = \left\{ clip(x + \delta) | \delta \in [-5, 5]^{H \times W \times 3} \right\} rand(x)={clip(x+δ)δ[5,5]H×W×3}

选择的标签为8,然后进行训练即可(Instance-key比较好训练),然后就能创建一个Instance-key后门,测试代码:

label = leNet.predict(imgPath = './img/x.jpg')
print('这是数字' + str(int(label)))

输出结果:

8

说明攻击成功😈 ,最终Intance-key攻击成功率为100.0%,并且模型的原始数字识别性能并没有受到影响,正确率为98.2%

3. Pattern-key strategies

使用一个识别模式作为一个后门,论文中又分了三种实现策略

  • Blended Injection Strategy(混合策略) : 就是直接混合patten和原有数据生成投毒数据(这里就涉及一个超参数alpha,复现中选择了alpha = 0.2)
    yJAr0P.png
  • Accessory Injection Strategy(附加策略): 就是直接将patten覆盖在原有数据上
    yJARpQ.png
  • Blended Accessory Injection Strategy(混合+附加策略): 前两者的综合
    yJAf6s.png

复现过程中只实现了第三种策略 Blended Accessory Injection Strategy(感觉前两种没啥必要),如下图所示,图1就是我们想加入的patten,然后结合图2中的原始数据,就生成了图3的投毒数据

yJmyRO.png

选择的标签为0,然后训练即可,然后就能创建一个patten-key后门,只要输入的数字左上角含有一个圆点,就会被识别为0,代码如下:

label = leNet.predict(imgPath = './img/5_dot.jpg')
print('这是数字' + str(int(label)))

输出结果:

0

攻击成功😸 ,最终patten-key的攻击成功率为99.96%,在原始数据集上的识别准确率为97.69%,说明检测效果没有收到影响!

复现说明:在复现的过程中并不顺利,可能是有序LeNet网络结构过于简单,导致少量样本学习效果并不好,所以实现过程中并没有达到论文声称的那么好的效果,使用的投毒数据量要比论文中提到的数据量会多一些,intance-key投毒了10张图片,patten-key直接投毒了10000张(显然不需要这么多的数据,主要是给我整不耐烦了,几百几百的试验硬是攻击不成功😭 )

这篇关于Targeted Backdoor Attacks on Deep Learning Systems Using Data Poisoning 论文复现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已

OmniGlue论文详解(特征匹配)

OmniGlue论文详解(特征匹配) 摘要1. 引言2. 相关工作2.1. 广义局部特征匹配2.2. 稀疏可学习匹配2.3. 半稠密可学习匹配2.4. 与其他图像表示匹配 3. OmniGlue3.1. 模型概述3.2. OmniGlue 细节3.2.1. 特征提取3.2.2. 利用DINOv2构建图形。3.2.3. 信息传播与新的指导3.2.4. 匹配层和损失函数3.2.5. 与Super

CentOS下mysql数据库data目录迁移

https://my.oschina.net/u/873762/blog/180388        公司新上线一个资讯网站,独立主机,raid5,lamp架构。由于资讯网是面向小行业,初步估计一两年内访问量压力不大,故,在做服务器系统搭建的时候,只是简单分出一个独立的data区作为数据库和网站程序的专区,其他按照linux的默认分区。apache,mysql,php均使用yum安装(也尝试

BERT 论文逐段精读【论文精读】

BERT: 近 3 年 NLP 最火 CV: 大数据集上的训练好的 NN 模型,提升 CV 任务的性能 —— ImageNet 的 CNN 模型 NLP: BERT 简化了 NLP 任务的训练,提升了 NLP 任务的性能 BERT 如何站在巨人的肩膀上的?使用了哪些 NLP 已有的技术和思想?哪些是 BERT 的创新? 1标题 + 作者 BERT: Pre-trainin

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内存。我们开发了一种Int8矩阵乘法的过程,用于Transformer中的前馈和注意力投影层,这可以将推理所需

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录 在深度学习项目中,目标检测是一项重要的任务。本文将详细介绍如何使用Detectron2进行目标检测模型的复现训练,涵盖训练数据准备、训练命令、训练日志分析、训练指标以及训练输出目录的各个文件及其作用。特别地,我们将演示在训练过程中出现中断后,如何使用 resume 功能继续训练,并将我们复现的模型与Model Zoo中的