PubDef:使用公共模型防御迁移攻击

对抗性攻击对机器学习系统的可靠性和安全性构成了严重威胁。通过对输入进行微小的变动,攻击者就可以导致模型生成完全错误的输出。防御这种攻击是一个很活跃的研究领域,但大多数提议的防御措施都存在重大的缺点。

这篇来自加州大学伯克利分校研究人员的论文则介绍了一种名为PubDef的新防御方法,在这个问题上取得了一些进展。在保持干净输入准确性的同时,PubDef在面对现实攻击时获得了更高的稳健性。本文解释了这项研究的背景、PubDef的工作原理、结果及其局限性。

对抗性威胁领域

人们研究了许多类型的对抗性攻击,最常见的是白盒攻击。在这里,攻击者可全面访问模型的参数和架构。这让他们得以计算梯度,以精确地设计导致错误分类的输入。像对抗性训练这样的防御措施已经被提议,但它们在面对干净输入时性能会大大降低。

迁移攻击更现实。攻击者使用可访问的代理模型来设计对抗性示例。他们希望这些迁移骗过受害者的模型。迁移攻击很容易执行,并且不需要访问受害者模型。

基于查询的攻击对模型进行重复查询以推断其决策边界。一些防御措施通过监视使用情况来检测和限制这些攻击。

总的来说,迁移攻击在实践中非常合理,但无法通过典型的防御措施来加以解决,比如对抗性训练或限制查询的系统。

博弈论观点

图1. 该论文的配图显示了一个威胁模型,低成本攻击者使用公共模型进行迁移攻击,还显示了PubDef防御

PubDef专门旨在抵抗来自公开可用模型的迁移攻击。作者将攻防之间的交互描述为一种游戏:

  • 攻击者的策略是选择一个公共源模型和攻击算法来设计对抗性示例。
  • 防御者的策略是为模型选择参数,使其具有稳健性。
  • 博弈论为最佳策略的推理提供了工具。重要的是,防御者可以同时针对来自多个源模型的攻击进行训练。这种类似集成的方法使模型对各种攻击具有稳健性。

PubDef的工作原理

PubDef通过以下方式训练模型:

1. 选择一组不同的公开可用源模型。

2. 使用训练损失,最大限度地减少来自这些源模型的迁移攻击的错误。

这种对抗性训练过程调整模型,以抵抗从公共源迁移过来的特定威胁模型。

训练损失根据当前的错误率对每个攻击动态加权。这侧重于训练最有效的攻击。

源模型的选择涵盖不同的训练方法:标准、对抗性和破坏稳健性等。这提供了对未知攻击的广泛覆盖。

试验结果

论文作者们在CIFAR-10、CIFAR-100和ImageNet数据集上针对264个不同的迁移攻击评估了PubDef。

结果显示,PubDef明显优于之前的防御措施,比如对抗性训练:

  • 在CIFAR-10上,PubDef达到了89%的准确率,而对抗性训练只达到了69%的准确性。
  • 在CIFAR-100上,准确率为51%比33%。
  • 在ImageNet上,准确率为62%比36%。

值得注意的是,PubDef实现了这一改进,并且面对干净输入的准确性几乎没有下降:

  • 在CIFAR-10上,准确率仅从96.3%下降到96.1%。
  • 在CIFAR-100上,准确率从82%下降到76%。
  • 在ImageNet上,准确率从80%下降到79%。

图2. PubDef实现了这一改进,面对干净输入的准确性几乎没有下降

图2. PubDef实现了这一改进,面对干净输入的准确性几乎没有下降

因此,与对抗性训练相比,PubDef提供了更好的稳健性,对未受扰动的数据的性能影响要小得多。

局限性和未来工作

PubDef特别关注来自公共模型的迁移攻击,解决不了白盒攻击等其他威胁。另外一些限制如下:

  • 依赖模型保密。
  • 可以通过训练一个私人代理模型来加以规避。
  • 需要防御基于查询的攻击的其他方法。

鉴于预期范围,PubDef提供了与实际攻击者能力相一致的实用防御。但还需要做进一步的工作,才能处理其他威胁,并减轻对保密的依赖。

总的来说,这项工作在可部署防御方面取得了重大进展。通过针对一个合理的威胁模型,稳健性的提高几乎是免费的,精确度损耗最小。这些想法有望推动进一步的研究,从而产生更有效和实用的防御措施。

结论

对抗性攻击为部署可靠的机器学习系统提出了一个紧迫的挑战。虽然已提议了许多防御措施,但很少有防御措施在面对干净输入不降低性能的情况下在稳健性方面取得实质性进展。

PubDef代表着朝开发可以实际部署在实际系统中的防御迈出了大有希望的一步。在处理其他类型的攻击和对模型保密减轻依赖的程度方面仍有工作要做。然而,这里介绍的技术(即通过博弈论为模型建立交互、针对各种威胁进行训练,以及关注于可行的攻击)为进一步的进展提供了蓝图。

对抗性攻击可能仍然是机器学习安全的一个问题。随着模型不断渗入到医疗保健、金融和交通等关键领域,对有效防御的需求变得更加迫切。PubDef表明,如果力求防御与实际威胁相一致,可以在无需兼顾取舍的情况下大幅提升稳健性。开发实用的防御措施,将额外成本降到最低,这是安全可靠地部署机器学习安全的最切实可行的途径。

原文标题:PubDef: Defending Against Transfer Attacks Using Public Models,作者:Mike Young

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

初始JVM虚拟机

JVM组成 图解 程序计数器 在JVM线程私有的内存区域中。每个线程都有自己独立的程序计数器。 程序计数器用于存储当前线程正在执行的字节码指令的地址。指示着当前线程执行到了哪一条字节码指令。 堆 是线程共享的区域,用于存储对象的实例和数组对象; …

青翼科技-国产化ARM系列TES720D-KIT

板卡概述 TES720D-KIT是专门针对我司TES720D(基于复旦微FMQL20S400的全国产化ARM核心板)的一套开发套件,它包含1个TES720D核心板,加上一个TES720D-EXT扩展底板。 FMQL20S400是复旦微电子研制的全可编程融合芯片,在单…

K8S知识点(三)

(1)环境搭建-环境初始化 Centos的版本是有要求的必须是7.5或以上,否则安装出来的集群是有问题的Node节点可能加入不到集群中来 详细步骤 1.同时连接三台服务器:查看一下版本 是否正确 2.主机名解析,方便节点之间的…

【ARMv8 SIMD和浮点指令编程】浮点加减乘除指令——四则运算

浮点指令有专门的加减乘除四则运算指令,比如 FADD、FSUB、FMUL、FDIV 等。 1 FADD (scalar) 浮点加法(标量)。该指令将两个源 SIMD&FP 寄存器的浮点值相加,并将结果写入目标 SIMD&FP 寄存器。 该指令可以产生浮点异常。根据 FPCR 中的设置,异常会导致在 FPSR 中…

Vue Vue3

1、创建VUE3工程 使用vue-cli创建: ## 查看vue/cli版本,确保vue/cli版本在4.5.0以上 vue --version ## 安装或者升级你的vue/cli npm install -g vue/cli ## 创建 vue create vue_test ## 启动 cd vue_test npm run serve 使用vite创建: …

ClickHouse 学习之从高级到监控以及备份(二)

第 一 部分 高级篇 第 1 章 Explain 查看执行计划 在 clickhouse 20.6 版本之前要查看 SQL 语句的执行计划需要设置日志级别为 trace 才能可以看到,并且只能真正执行 sql,在执行日志里面查看。在 20.6 版本引入了原生的执行计划的语法。在 20.6.3 版本成…

计算机网络第4章-IPv4

IPv4数据报格式 IPv4数据报格式如下图所示 其中,有如下的关键字段需要特别注意: 版本(号): 版本字段共4比特,规定了数据报的IP协议版本。通过查看版本号吗,路由器能确定如何解释IP数据报的剩…

深度学习之基于Tensorflow卷积神经网络花卉识别系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 深度学习是一种机器学习方法,它通过模拟人脑神经网络的结构和功能来实现对数据的自动分析和学习。卷积神…

libpthread.so.0: cannot open shared object file: No such file or directory

linux 系统下 /lib64/libpthread so 库文件千万不要修改,不然后果很严重,像我好奇把/lib64/libpthread-2.17.so 改成 libpthread-2.17.so.old,因为 libpthread.so 和 libpthread.so.0 都是软链接,最终链接到的是 libpthread-2.17…

Docker安装Minio(稳定版)

1、安装 docker pull minio/minio:RELEASE.2021-06-17T00-10-46Z docker run -p 9000:9000 minio/minio:RELEASE.2021-06-17T00-10-46Z server /data 2、访问测试 3、MinIO自定义Access和Secret密钥 要覆盖MinIO的自动生成的密钥,您可以将Access和Secret密钥设为…

win10下.net framework 3.5 | net framework 4 无法安装解决方案

.net缺失解决方案 win10 .net framework 3.5组策略设置方案一方案二 win10 .net framework 4 参考文章 win10 .net framework 3.5 组策略设置 方案一 搜索组策略,依次展开“计算机配置”、“管理模板”,然后选择“系统”,找到指定可选组件…

SpringBoot整合Kafka (一)

📑前言 本文主要讲了SpringBoot整合Kafka文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是青衿🥇 ☁️博客首页:CSDN主页放风讲故事 🌄每日一句:…

极致性能优化:前端SSR渲染利器Qwik.js | 京东云技术团队

引言 前端性能已成为网站和应用成功的关键要素之一。用户期望快速加载的页面和流畅的交互,而前端框架的选择对于实现这些目标至关重要。然而,传统的前端框架在某些情况下可能面临性能挑战且存在技术壁垒。 在这个充满挑战的背景下,我们引入…

安全好用的远程协同运维软件重点推荐-行云管家

对于运维小伙伴而言,一个安全好用的远程协同运维软件至关重要,不仅可以提高工作率,降低工作风险,还能快速解决运维难题。目前市面上远程协同运维软件品牌比较多,这里我们小编给推荐行云管家IT远程协同运维平台。 安全…

LeetCode 面试题 16.17. 连续数列

文章目录 一、题目二、C# 题解 一、题目 给定一个整数数组,找出总和最大的连续数列,并返回总和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。…

IDEA中配置Maven

一、Maven下载 首先我们进入maven官方网站,进入网页后,点击Download去下载 下载免安装版,解压即可,解压至磁盘任意目录,尽量不要取中文名如下图: 二、配置Maven环境变量 复制Maven所在的路径 D:\maven\apache-maven-3.6.3,此电脑右键选择属性->高级系统设置->环境…

UE5——源码阅读——100——渲染——高清截图

创建事件,用于代码的调试 获取当前客户端所属的World 标记是否在进行重入绘制 是否开始缓存区可视化转存帧,主要针对请求屏幕截图或电影转存 判断是否需要高清截图 这下面这个函数执行高清截图 是否需要缓存区的可视化转存 判断是否开始渲染 如果…

黑盒测试用例设计方法之等价类划分法

等价类划分法是一种典型的黑盒测试用例设计方法。采用等价类划分法时,完全不用考虑程序内部结构,设计测试用例的唯一依据是软件需求规格说明书。 等价类 所谓等价类,是输入条件的一个子集合,该输入集合中的数据对于揭示程序中的…

MySQL 排序,分组,Limit的优化策略

目录 1. MySQL 中的两种排序方式 2. 排序优化策略 2.1 对排序字段添加索引 2.2 可以和WHERT字段创建联合索引 2.3 优化 FilerSort 排序方式 3. 分组优化策略 3.1 能WHERE不HAVING 3.2 减少ORDER BY,GROUP BY,DISTINCT 3.3 遵照最左前缀法则 4.…

更新版PHP神算网八字算命星座解梦周易占卜程序源码/PC+H5移动端整站适配/PHP源码带手机版

源码简介: 这个是更新版PHP神算网八字算命星座解梦周易占卜程序源码,能够在PCH5移动端整站适配。作为H5付费算命PHP源码,八字算命网站源码,功能很多强大实用。 2023.3 更新记录: 1、更新了23年属相信息;…