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中,为防止用户密码泄露ÿ…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...
【UE5 C++】通过文件对话框获取选择文件的路径
目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 ,这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器,右键点击 .uproject 文件,选择 "Generate Visual Studio project files",重…...
游戏开发中常见的战斗数值英文缩写对照表
游戏开发中常见的战斗数值英文缩写对照表 基础属性(Basic Attributes) 缩写英文全称中文释义常见使用场景HPHit Points / Health Points生命值角色生存状态MPMana Points / Magic Points魔法值技能释放资源SPStamina Points体力值动作消耗资源APAction…...
路由基础-路由表
本篇将会向读者介绍路由的基本概念。 前言 在一个典型的数据通信网络中,往往存在多个不同的IP网段,数据在不同的IP网段之间交互是需要借助三层设备的,这些设备具备路由能力,能够实现数据的跨网段转发。 路由是数据通信网络中最基…...
