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实现了这一改进,面对干净输入的准确性几乎没有下降
因此,与对抗性训练相比,PubDef提供了更好的稳健性,对未受扰动的数据的性能影响要小得多。
局限性和未来工作
PubDef特别关注来自公共模型的迁移攻击,解决不了白盒攻击等其他威胁。另外一些限制如下:
- 依赖模型保密。
- 可以通过训练一个私人代理模型来加以规避。
- 需要防御基于查询的攻击的其他方法。
鉴于预期范围,PubDef提供了与实际攻击者能力相一致的实用防御。但还需要做进一步的工作,才能处理其他威胁,并减轻对保密的依赖。
总的来说,这项工作在可部署防御方面取得了重大进展。通过针对一个合理的威胁模型,稳健性的提高几乎是免费的,精确度损耗最小。这些想法有望推动进一步的研究,从而产生更有效和实用的防御措施。
结论
对抗性攻击为部署可靠的机器学习系统提出了一个紧迫的挑战。虽然已提议了许多防御措施,但很少有防御措施在面对干净输入不降低性能的情况下在稳健性方面取得实质性进展。
PubDef代表着朝开发可以实际部署在实际系统中的防御迈出了大有希望的一步。在处理其他类型的攻击和对模型保密减轻依赖的程度方面仍有工作要做。然而,这里介绍的技术(即通过博弈论为模型建立交互、针对各种威胁进行训练,以及关注于可行的攻击)为进一步的进展提供了蓝图。
对抗性攻击可能仍然是机器学习安全的一个问题。随着模型不断渗入到医疗保健、金融和交通等关键领域,对有效防御的需求变得更加迫切。PubDef表明,如果力求防御与实际威胁相一致,可以在无需兼顾取舍的情况下大幅提升稳健性。开发实用的防御措施,将额外成本降到最低,这是安全可靠地部署机器学习安全的最切实可行的途径。
原文标题:PubDef: Defending Against Transfer Attacks Using Public Models,作者:Mike Young
相关文章:

PubDef:使用公共模型防御迁移攻击
对抗性攻击对机器学习系统的可靠性和安全性构成了严重威胁。通过对输入进行微小的变动,攻击者就可以导致模型生成完全错误的输出。防御这种攻击是一个很活跃的研究领域,但大多数提议的防御措施都存在重大的缺点。 这篇来自加州大学伯克利分校研究人员的…...

【QT5之QFtp模块】编译及使用
下载 传送门:https://github.com/qt/qtftp 或者 git clone https://github.com/qt/qtftp.git 下载ZIP,解压待用。 编辑 使用QtCreator打开qtftp.pro; 修改如下: qtftp.pro中,将第21行注释; src/qftp.pro中,将第4行…...
数据结构 编程1年新手视角的平衡二叉树AVL从C与C++实现②
接下来,是数据的插入 我们需要对数据插入的结点先进行判断,有如下三个情况 当插入的数据value<结点的value,应该递归地插入该结点的左子树(的左子树...的左子树) 当插入的数据value>结点的value,应…...

代码随想录二刷Day 59
647. 回文子串 这个题的dp定义想不到,递推公式也想不到但是看题解都很容易理解,遍历顺序不太好理解。 class Solution { public:int countSubstrings(string s) {vector<vector<bool>> dp(s.size(), vector<bool>(s.size(), false)…...
由一个自动化脚本运维展开的思考
今天分享一个思路,如何通过脚本集中管理程序的启停。减少人工的介入。 例子 好的,这里有一个基本的shell脚本示例,你可以根据你的具体需求进行修改。 启动脚本(start.sh): #!/bin/bash ./test_server_1…...

STM32F103C8T6第二天:按键点灯轮询法和中断法、RCC、电动车报警器(振动传感器、继电器、喇叭、433M无线接收发射模块)
1. 点亮LED灯详解(307.11) 标号一样的导线在物理上是连接在一起的。 将 PB8 或 PB9 拉低,就可以实现将对应的 LED 灯点亮。常用的GPIO HAL库函数: void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init);//I/…...

路由器基础(九):防火墙基础
防火墙 (Fire Wall) 是网络关联的重要设备,用于控制网络之间的通信。外部网络用户的访问必须先经过安全策略过滤,而内部网络用户对外部网络的访问则无须过滤。现在的防火墙还具有隔离网络、提供代理服务、流量控制等功能。 一、三种防火墙技术 常见的…...

免费(daoban)gpt,同时去除广告
一. 内容简介 免费(daoban)gpt,同时去除广告,https://chat18.aichatos.xyz/,也可当gpt用,就是有点广告,大家也可以支持一下 二. 软件环境 2.1 Tampermonkey 三.主要流程 3.1 创建javascript脚本 点击添加新脚本 …...

如何使用Plex在Windows系统上搭建一个全能私人媒体影音站点
文章目录 1.前言2. Plex网站搭建2.1 Plex下载和安装2.2 Plex网页测试2.3 cpolar的安装和注册 3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1.前言 用手机或者平板电脑看视频,已经算是生活中稀松平常的场景了,特别是各…...
vue如何实现视频全屏切换
最近项目开发中遇到一个视频窗口全屏切换功能,为此在这里做个记录。 具体的实现思路: <template><div class"content-box"><div class"container"><div id"screen" class"screen"><…...

Shopee买家通系统一款全自动操作虾皮买家号的软件
Shopee买家通系统可以全自动批量注册虾皮买家号,注册时可以自动调用手机号、自动接收短信验证、自动绑地址及支付卡,注册成功后还能自动绑定邮箱进行验证。 软件支持5个国家使用,越南、泰国、菲律宾、印度尼西亚、马来西亚。 内置防指纹技术 …...

希亦内衣洗衣机和小米哪个品牌好?内衣洗衣机横评对比
内衣洗衣机作为一种小型家电,受到越来越多人的欢迎。内衣洗衣机虽然体积小,但功能并不简单。我们可以选择具备多种洗涤模式、容量适中、节能环保的洗衣机,以满足我们的不同需求。那么面对希亦以及小米这两个热门的洗衣机品牌,我们…...

下载安装各种版本的Vscode以及解决VScode官网下载慢的问题
下载指定版本 在Vscode官网 Vscode官网更新子页 这里的左侧栏点击其中一个会跳转到某个版本,或者在官网子页 https://code.visualstudio.com/updates的后面跟上需要的版本号即可完成目标版本下载页面的跳转 选择Linux里的ARM包不会自动下载而是跳转到另一个页面 …...

双十一电视盒子哪个牌子好?测评工作室整理口碑电视盒子排名
在挑选电视盒子的时候,新手朋友们不知道从何下手,最近很多粉丝评论想要我们分享双11电视盒子推荐,于是我们根据用户的评价整理了目前口碑最好的电视盒子排名,给不懂电视盒子哪个牌子好的朋友们做个参考。 TOP 1、泰捷WEBOX WE40S电…...
11.1总结
11.1总结 文章目录 11.1总结A. 集合题目大意考场思路 B. 差后队列题目大意考场思路正解 C. 蛋糕题目大意考场思路正解 D. 字符替换题目大意考场思路正解 总结 A. 集合 题目大意 给定一个长度为 n n n 的整数序列 a a a ,问该序列有多少个子区间满足这个区间内数…...

Proteus仿真--1602LCD显示电话拨号键盘按键实验(仿真文件+程序)
本文主要介绍基于51单片机的LCD1602显示电话拨号键盘按键实验(完整仿真源文件及代码见文末链接) 仿真图如下 其中右下方12个按键模拟仿真手机键盘,使用方法同手机键一样,拨打手机号码则在液晶显示屏上显示对应的号码 仿真运行…...

如何防范AI诈骗
如何防范AI诈骗 😇博主简介:我是一名正在攻读研究生学位的人工智能专业学生,我可以为计算机、人工智能相关本科生和研究生提供排忧解惑的服务。如果您有任何问题或困惑,欢迎随时来交流哦!😄 ✨座右铭&#…...

ICCV2023 Tracking paper汇总(一)(多目标跟随、单目标跟随等)
一、PVT: A Simple End-to-End Latency-Aware Visual Tracking Framework paper: https://openaccess.thecvf.com/content/ICCV2023/papers/Li_PVT_A_Simple_End-to-End_Latency-Aware_Visual_Tracking_Framework_ICCV_2023_paper.pdf github: https://…...
【PG】PostgreSQL查看与修改参数
文章目录 一 查看参数1. 使用 SHOW 命令:2. 查询 pg_settings 视图:3. 查看 postgresql.conf 文件:4. 使用 pg_settings 函数: 二 修改参数通过修改 postgresql.conf 文件:使用 ALTER SYSTEM 命令修改参数(…...

openGauss学习笔记-115 openGauss 数据库管理-设置安全策略-设置密码安全策略
文章目录 openGauss学习笔记-115 openGauss 数据库管理-设置安全策略-设置密码安全策略115.1 操作步骤 openGauss学习笔记-115 openGauss 数据库管理-设置安全策略-设置密码安全策略 115.1 操作步骤 用户密码存储在系统表pg_authid中,为防止用户密码泄露ÿ…...

wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...

Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...

LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
LOOI机器人的技术实现解析:从手势识别到边缘检测
LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...
TCP/IP 网络编程 | 服务端 客户端的封装
设计模式 文章目录 设计模式一、socket.h 接口(interface)二、socket.cpp 实现(implementation)三、server.cpp 使用封装(main 函数)四、client.cpp 使用封装(main 函数)五、退出方法…...

Java后端检查空条件查询
通过抛出运行异常:throw new RuntimeException("请输入查询条件!");BranchWarehouseServiceImpl.java // 查询试剂交易(入库/出库)记录Overridepublic List<BranchWarehouseTransactions> queryForReagent(Branch…...