【论文阅读】IEEE Access 2019 BadNets:评估深度神经网络的后门攻击

文章目录

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

一.论文信息

论文题目: BadNets: Evaluating Backdooring Attacks on Deep Neural Networks(BadNets:评估深度神经网络的后门攻击)

论文来源: 2019-IEEE Access

论文团队: 纽约大学

在这里插入图片描述

二.论文内容

1.摘要

基于深度学习的技术在各种各样的识别和分类任务上取得了最先进的性能。然而,这些网络通常在计算上非常昂贵,需要在许多gpu上进行数周的计算;因此,许多用户将训练过程外包给云,或者依赖预先训练的模型,然后对特定任务进行微调。在本文中,我们表明外包训练引入了新的安全风险:攻击者可以创建一个恶意训练的网络(后门神经网络,或BadNet),它在用户的训练和验证样本上具有最先进的性能,但在攻击者选择的特定输入上表现不佳。我们首先在一个玩具示例中通过创建一个后门手写数字分类器来探索BadNets的属性。接下来,我们将在一个更现实的场景中演示后门,通过创建一个美国街道标志分类器,当在停止标志上添加特殊贴纸时,该分类器将停止标志识别为限速;此外,我们还表明,即使网络后来为另一个任务重新训练,我们的美国路牌检测器中的后门仍然可以持续存在,并且当后门触发器存在时,导致准确率平均下降25%。这些结果表明,神经网络中的后门既强大又隐蔽,因为神经网络的行为很难解释。这项工作为进一步研究验证和检查神经网络的技术提供了动力,就像我们开发了验证和调试软件的工具一样。

2.引言

在过去的五年里,学术界和工业界都见证了深度学习活动的爆炸式增长。人们发现深度网络在许多领域都明显优于以前的机器学习技术,包括图像识别[1]、语音处理[2]、机器翻译[3]、[4]和一些游戏[5]、[6];在某些情况下,这些模型的表现甚至超过了人类的表现[7]。特别是卷积神经网络(cnn)在图像处理任务方面取得了巨大成功,基于cnn的图像识别模型已被用于帮助识别动植物物种[8]和自动驾驶汽车[9]。

卷积神经网络需要大量的训练数据和数以百万计的权重才能达到良好的效果。因此,训练这些网络的计算量非常大,在许多cpu和gpu上通常需要数周的时间。由于个人甚至大多数企业都很少拥有如此强大的计算能力,因此培训任务通常外包给云。外包机器学习模型的训练有时被称为“机器学习即服务”(MLaaS)。

机器学习即服务目前由几家主要的云计算提供商提供。Google的云机器学习引擎[10]允许用户上传TensorFlow模型和训练数据,然后在云中进行训练。同样,微软提供Azure批处理AI训练[11],亚马逊提供预构建的虚拟机[12],其中包括几个深度学习框架,可以部署到亚马逊的EC2云计算基础设施。有一些证据表明,这些服务非常受欢迎,至少在研究人员中是这样:在2017年NIPS会议(机器学习研究的最大场所)截止日期前两天,带有16个gpu的亚马逊p2.16xlarge实例的价格上涨到每小时144美元[13],这是可能的最大值,表明大量用户正在尝试预订实例。

除了外包训练过程,另一个降低成本的策略是迁移学习,即对现有模型进行微调以适应新任务。通过使用预训练的权重和学习的卷积滤波器(通常对边缘检测等功能进行编码,这些功能通常对广泛的图像处理任务很有用),在单个GPU上只需几个小时的训练就可以获得最先进的结果。迁移学习目前最常用于图像识别,基于cnn架构的预训练模型,如AlexNet[14]、VGG[15]和Inception[16]随时可以下载。

在本文中,我们展示了这两种外包场景都伴随着新的安全问题。特别地,我们探索了后门神经网络或BadNet的概念。在这种攻击场景中,训练过程要么完全外包,要么(在迁移学习的情况下)部分外包给恶意方,后者希望向用户提供包含后门的训练模型。后门模型应该在大多数输入(包括最终用户可能作为验证集的输入)上表现良好,但对于满足某些秘密的、攻击者选择的属性的输入,会导致有目标的错误分类或降低模型的准确性,我们将其称为后门触发器。例如,在自动驾驶的背景下,攻击者可能希望为用户提供一个后门的街道标志检测器,该检测器在大多数情况下对街道标志进行分类具有很高的准确性,但它将带有特定贴纸的停车标志分类为限速标志,这可能会导致自动驾驶车辆继续通过十字路口而不停车。

通过考虑图1所示的网络,我们可以直观地了解为什么后门网络是可行的。这里,两个独立的网络都检查预期分类的输入和输出(左侧网络),并检测后门触发器是否存在(右侧网络)。最后的合并层比较两个网络的输出,如果后门网络报告触发器存在,则产生攻击者选择的输出。然而,我们不能将这种直觉直接应用于外包训练场景,因为模型的架构通常是由用户指定的。相反,我们必须找到一种方法,通过找到适当的权重,将后门触发器的识别器合并到预先指定的体系结构中;为了解决这一挑战,我们开发了一个基于训练集中毒的恶意训练程序,该程序可以在给定训练集、后门触发器和模型架构的情况下计算这些权重。

通过一系列的案例研究,我们证明了对神经网络的后门攻击是可行的,并探索了它们的特性。首先(在第4节中),我们使用MNIST手写数字数据集,并表明恶意训练器可以学习一个对手写数字进行高精度分类的模型,但是,当后门触发器(例如,图像角落中的小“x”)存在时,网络将导致目标错误分类。虽然后门数字识别器几乎不是一个严重的威胁,但这种设置使我们能够探索不同的后门策略,并对后门网络的行为产生直觉。

在第5节中,我们继续考虑使用美国和瑞典标志数据集进行交通标志检测;这种情况对自动驾驶应用具有重要影响。我们首先表明,与MNIST案例研究中使用的后门类似(例如,附在停止标志上的黄色便利贴)可以被后门网络可靠地识别出来,在干净(非后门)图像上的准确率下降不到1%。最后,在5.3节中,我们展示了迁移学习场景也很脆弱:我们创建了一个后门的美国交通标志分类器,当它被重新训练以识别瑞典交通标志时,只要输入图像中存在后门触发器,它的平均性能就会下降25%。我们还调查了迁移学习的当前使用情况,发现预训练模型通常以允许攻击者替代后门模型的方式获得,并提供安全获取和使用这些预训练模型的安全建议(第6节)。

我们的攻击强调了在外包机器学习时选择值得信赖的提供商的重要性。我们也希望我们的工作将激励有效的安全外包训练技术的发展,以保证训练的完整性,并刺激工具的发展,以帮助解释和调试神经网络的行为。

3.主要图表

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.结论

在本文中,我们已经确定并探索了越来越普遍的机器学习模型外包训练或从在线模型动物园获取这些模型的做法所带来的新的安全问题。具体来说,我们表明恶意训练的卷积神经网络很容易被后门;由此产生的“坏网络”在常规输入上具有最先进的性能,但在精心设计的攻击者选择的输入上表现不佳。此外,恶意网络是隐形的,也就是说,它们逃避了标准的验证测试,并且即使它们实现了更复杂的功能,也不会对经过诚实训练的基线网络引入任何结构变化。

我们已经在MNIST数字识别任务和更复杂的交通标志检测系统中实现了BadNets,并证明了BadNets可以可靠且恶意地将使用便利贴后门的真实图像中的停车标志错误分类为限速标志。此外,我们已经证明,即使在不知不觉中下载并适应新的机器学习任务时,后门仍然存在,并且继续导致新任务的分类准确性显着下降。

最后,我们评估了Caffe Model Zoo(预训练CNN模型的流行来源)对BadNet攻击的安全性。我们确定了引入后门模型的几个入口点,并确定了以难以保证其完整性的方式共享预训练模型的实例。我们的工作为机器学习模型供应商(如Caffe model Zoo)采用用于保护软件供应链的相同安全标准和机制提供了强大的动力。

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

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

相关文章

安卓内嵌uniapp的H5页面 android调用h5内部方法

uniapp H5与原生安卓的数据互通和方法调用_安卓代码中调用uniapp中页面中的方法-CSDN博客文章浏览阅读8.7k次,点赞4次,收藏22次。1、准备我这里是uniapp与原生安卓之间的相互调用,也就是原生安卓内嵌H5页面,下面先来准备一下安卓端…

吴恩达 x Open AI ChatGPT ——如何写出好的提示词视频核心笔记

核心知识点脑图如下: 1、第一讲:课程介绍 要点1: 上图展示了两种大型语言模型(LLMs)的对比:基础语言模型(Base LLM)和指令调整语言模型(Instruction Tuned LLM&#xff0…

CentOS 7 devtoolset编译addressSanitizer版本失败的问题解决

在我的一个Cent OS7开发环境中,按https://yeyongjin.blog.csdn.net/article/details/134178420的方法升级GCC版本到8.3.1。 这两天,要用Google的addressSanitizer检验内存问题,加上编译参数后,却发现编译不通过。configure时直接退…

WanAndroid(鸿蒙版)开发的第二篇

前言 DevEco Studio版本:4.0.0.600 WanAndroid的API链接:玩Android 开放API-玩Android - wanandroid.com 1、WanAndroid(鸿蒙版)开发的第一篇 其他一些参考点,请参考上面的WanAndroid开发第一篇 效果 首页实现 整体布局分为头部的Banne…

基于Gui Guider进行LVGL的页面绘制和移植

在之前的文章里讲过一种页面切换的方式,那就是:定义和创建页面对象绘制页面内容切换页面。参考这篇文章: LVGL如何创建页面并实现页面的切换-CSDN博客 这篇文章讲了如何绘制并切换页面。 但是现在遇到一个问题,那就是页面绘制&…

代码学习记录17

随想录日记part17 t i m e : time: time: 2024.03.12 主要内容:今天的主要内容是二叉树的第六部分,主要涉及二叉搜索树的最小绝对差 ;二叉搜索树中的众数;二叉树的最近公共祖先。 530.二叉搜索树…

openGauss使用BenchmarkSQL进行性能测试(上)

一、前言 本文提供openGauss使用BenchmarkSQL进行性能测试的方法和测试数据报告。 BenchmarkSQL,一个JDBC基准测试工具,内嵌了TPC-C测试脚本,支持很多数据库,如PostgreSQL、Oracle和Mysql等。 TPC-C是专门针对联机交易处理系统…

【QT】文件流操作(QTextStream/QDataStream)

文本流/数据流&#xff08;二级制格式&#xff09; 文本流 &#xff08;依赖平台&#xff0c;不同平台可能乱码&#xff09;涉及文件编码 #include <QTextStream>操作的都是基础数据类型&#xff1a;int float string //Image Qpoint QRect就不可以操作 需要下面的 …

【Python】新手入门学习:详细介绍接口分隔原则(ISP)及其作用、代码示例

【Python】新手入门学习&#xff1a;详细介绍接口分隔原则&#xff08;ISP&#xff09;及其作用、代码示例 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、Py…

基于Qt 和python 的自动升级功能

需求&#xff1a; 公司内部的一个客户端工具&#xff0c;想加上一个自动升级功能。 服务端&#xff1a; 1&#xff0c;服务端使用python3.7 &#xff0c;搭配 fastapi 和uvicorn 写一个简单的服务&#xff0c;开出一个get接口&#xff0c;用于客户端读取安装包的版本&#…

<机器学习初识>——《机器学习》

目录 一、人工智能概述 1 人工智能应用场景 2 人工智能发展必备三要素 3 人工智能、机器学习和深度学习 二、人工智能发展历程 1 人工智能的起源 1.1 图灵测试 1.2 达特茅斯会议 2 发展历程 三、 人工智能主要分支 1 主要分支介绍 1.1 分支一&#xff1a;计算机视觉…

c++中string的模拟实现(超详细!!!)

1.string的成员变量、&#xff08;拷贝&#xff09;构造、析构函数 1.1.成员变量 private:char* _str;size_t _size; //string中有效字符个数size_t _capacity; //string中能存储有效字符个数的大小 1.2&#xff08;拷贝&#xff09;构造函数 //构造函数string(const char* …

【Linux进阶之路】HTTP协议

文章目录 一、基本概念1.HTTP2.域名3.默认端口号4.URL 二、请求与响应1.抓包工具2.基本框架3.简易实现3.1 HttpServer3.2 HttpRequest3.2.1 version13.2.2 version23.2.3 version3 总结尾序 一、基本概念 常见的应用层协议&#xff1a; HTTPS (HyperText Transfer Protocol Sec…

C# 8.0+版本项目 string不可为空

1.在某一次新建项目的时候发现&#xff0c;新建的项目&#xff0c;写的测试接口&#xff0c;接口的入参有string的参数&#xff0c; 但是调用接口的时候string的参数没有传报了400&#xff0c;很奇怪&#xff0c;也没有语法错误之类的。 2.解决办法 在项目上右键->属性->…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Span)

作为Text组件的子组件&#xff0c;用于显示行内文本的组件。 说明&#xff1a; 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 该组件从API Version 10开始支持继承父组件Text的属性&#xff0c;即如果子组件未设置…

直播美颜SDK的商业化应用:如何为直播平台带来更多商业机会?

直播过程中的自然环境和摄像头本身的限制可能会影响用户的体验&#xff0c;因此直播美颜SDK的商业化应用应运而生&#xff0c;它为直播平台带来了更多商业机会。 直播美颜SDK是一种集成在直播平台中的软件开发工具包&#xff0c;它能够对直播过程中的视频流进行实时的美颜处理…

【C++ Primer Plus学习记录】简单文件输入/输出

有时候&#xff0c;通过键盘输入并非最好的选择。例如&#xff0c;假设您编写了一个股票分析程序&#xff0c;并下载了一个文件&#xff0c;其中包含1000种股票的价格。在这种情况下&#xff0c;让程序直接读取文件&#xff0c;而不是手工输入文件中所有的值&#xff0c;将方便…

惬意了解 —— 前端发展史

下拉底部&#xff0c;参与投票&#xff5e;&#xff5e; 前端发展史&#xff1a;从洪荒时代到现代 前端开发已经走过了将近20年的历程&#xff0c;从最早的纯静态页面到如今的现代前端框架&#xff0c;我们见证了前端技术的蓬勃发展。让我们一起回顾这段历史。 洪荒时代&…

深入联合文件系统

Union File System&#xff08;联合文件系统&#xff0c;UnionFS&#xff09;是一种轻量级的高性能分层文件系统&#xff0c;它支持将文件系统中的修改信息作为一次提交&#xff0c;并层层叠加&#xff0c;同时可以将不同目录挂载到同一个虚拟文件系统下&#xff0c;应用看到的…

2024年A特种设备相关管理(锅炉压力容器压力管道)证考试题库及A特种设备相关管理(锅炉压力容器压力管道)试题解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年A特种设备相关管理&#xff08;锅炉压力容器压力管道&#xff09;证考试题库及A特种设备相关管理&#xff08;锅炉压力容器压力管道&#xff09;试题解析是安全生产模拟考试一点通结合&#xff08;安监局&#…