CVPR 2023 | 北大提出T-SEA: 自集成策略实现更强的黑盒攻击迁移性

2023-05-16

关注公众号,发现CV技术之美

本文分享 CVPR 2023 论文『T-SEA: Transfer-based Self-Ensemble Attack on Object Detection』,北大提出T-SEA: 自集成策略实现更强的黑盒攻击迁移性。

具体信息如下:

f6534603c7205824fd36c587cbd6b0f3.png

  • 论文:https://arxiv.org/pdf/2211.09773.pdf

  • 代码:https://github.com/VDIGPKU/T-SEA

黑盒攻击(Black-box Attack)的两种主要方式为基于查询(Query-based)的黑盒攻击,以及基于迁移(Transfer-based)的黑盒攻击。其中,基于查询的黑盒攻击允许获取目标模型的输出信息,然而,真实场景的模型往往仅提供有限的查询次数且查询成本较高;而基于迁移的黑盒攻击方式由于不需要获取目标模型的任何信息,更有利于真实场景的攻击,但成功率也往往更低。 

许多基于迁移的黑盒攻击依靠多模型集成方式来提高攻击的迁移性,也即,在训练对抗样本阶段,通过集成多个不同的白盒模型,以期训练好的对抗样本能在新的黑盒模型上表现出更强的攻击能力。但这种方式往往需要消耗大量训练时间和资源,同时,要获取同一任务的多个模型,在现实应用中也可能具有一定的实现难度。 

那么是否能够仅通过已有的单个白盒模型来提高对抗样本在黑盒模型上的迁移性呢?北大王选所王勇涛团队对此进行了探究。 

解决思路及技术方案

具体地,作者利用对抗补丁来对目标检测模型进行攻击,将对抗补丁贴到检测目标上,使得检测框消失。为了实现在单个白盒模型上训练的对抗补丁的迁移性,本文工作1.发现改变两个简单的训练设置即可对baseline的性能实现一定的提高;2.提出使用自集成(Self-ensemble)策略来充分提高对抗补丁的迁移性。上述所涉及的整个攻击流程的训练及推理过程如图1所示。

2883b37250c8dc8c0ca1101e63900b9f.png

图1 

其中,由于自集成策略的加入,可以重新对该问题进行如下的形式化定义。对于数据集和检测器组成的联合分布 ,任务目标为从对抗补丁组成的假设空间 中寻找一个最优 的对抗补丁 ,使得

其中 是损失函数,, 和 表示自集成的数据、模型和对抗补丁。表示正则项,在本工作中使用TV Loss作为正则项。

      01      

增强基线的发现(Discovery of the Enhanced Baseline) 

如图2所示,本文发现,1.降低训练过程中对抗补丁占检测框的大小(图2中的Scale);以及2.采取更缓和的学习率调整策略,可以提升对抗补丁的迁移性。其中,降低训练过程中对抗补丁的占比大小,最终生成的对抗模式往往更大,使得对抗样本在缩放到较小的绝对大小时也能更好地保留对抗模式。

eeb0a2b4cf91743e4acacf7549e07004.png

图2 

同时,学习率调整策略对训练对抗补丁时的收敛位置也有重要影响。作者采用了一个更加温和的学习率更新策略来训练对抗补丁:

9c1d59b8eddf276b0e8f668c67420774.png

其中 表示第 个 epoch 的损失函数值。

这两个训练策略可以使得基线方法的迁移性能提升,其算法流程框图如Algorithm 1所示。

f577f8f9ade4fcc5822bf5ccab1bf2a8.png

      02      

自集成策略(Self-ensemble Strategies) 

尽管本文研究的是对抗补丁泛化性,但一个有益的思考是,模型泛化性研究中所体现的“模型复杂度-训练数据规模-泛化性”这样的统计规律仍然是可以借鉴的。对于模型泛化性,作者根据模型复杂度训练数据规模来定义模型的泛化上界。以有监督的分类模型学习为例,作者定义了一个最简单的泛化上界形式:

形式化地, 假设数据集中的"数据-标签"样本对来源于联合数据分布 ,分类问 题的目标即从有限假设集 中找到一个数据到标签的假设映射 。其中联合数据分布 是末知的, 一般研究者只能用有限的数据集 来对模型进 行训练。该训练的优化过程为被称为经验风险最小化 (Empirical Risk Minimization, ERM) 过程,经验风险可以定义为:

其中 表示衡量预测目标与真实目标间距离的损失函数。经验风险衡量的是模型在有限数据 集 上的表现,然而研究者往往更关心模型在真实分布 上的表现,二者相差城小,则模型的泛化性越高。之前的研究证明,经验风险 和真实风险 间存在1-的概率满足下列不等式:

2e9afc4c848a9fed021052208e64deee.png

其中N表示训练数据的规模,c是衡量假设空间复杂度的指标,例如参数模型量、VC维等。因此,如果要缩小经验损失和真实损失之间的差距,即提高模型的泛化性,需要扩大训练数据的规模N,减小假设空间复杂度c。在实际经验上,数据增强以及Stochastic Depth、Dropout这样的策略,也的确提高了模型的泛化性。作为启发,作者将它们分别对应于虚拟地增大数据规模,以及降低模型(优化目标)的平均复杂度。

而当上述讨论目标转化为对抗补丁泛化性时,作者提炼出两了个简单但重要的转化关系:

1.优化目标从参数模型转变为了参数对抗补丁;

2.训练数据从普通数据集(图像/文本)转变为了普通数据集(图像)+检测模型(集)。

作者通过上述发现,采用自集成策略来提高对抗样本的迁移性:

1.虚拟地增大数据规模。作者对训练输入的 

a)普通图像通数据集进行数据增强;

b)对白盒检测模型进行增强(在本文中采用ShakeDrop来实现);

2.降低优化目标的平均复杂度。降低对抗补丁的平均维度(在本文中通过对补丁进行Cutout操作来实现)。

自集成策略只在对抗补丁的训练过程中使用。其中,模型ShakeDrop在前向及反向传播时对网络中的残差连接进行扰动,如图3所示。

fc22f753db2b4838c087fffe6e28723b.png

图3 

而补丁的Cutout则是通过每次随机mask掉对抗补丁的一块区域来实现。更多实现细节可以参考该论文正文。

      03      

实验 

本文以AdvPatch这篇文章为基线,对训练的对抗补丁进行迁移性的测试。如Table 1所示,作者采用了8个经典的检测器模型进行实验,每次使用1个检测器作为白盒,并在剩余的7个检测器上测试AP指标来评估其迁移性。从实验结果可以看出,通过增强基线,并加入自集成策略后,对抗样本在白盒及黑盒上都表现出了更强的攻击性,对黑盒的迁移性有明显的提高。T-SEA对于anchor-free的网络同样也有适用性,作者也在repo中新加入了对anchor-free检测器CenterNet的支持。

8a41106ae9984d3cd45ee2d3d39c8001.png

T-SEA与其他基线的性能对比如Table 3所示,相比于其他方法,T-SEA在白盒攻击性及黑盒迁移性上均有明显的提升。

6426aef539f86f3b2c27cc8303ab7c20.png

同时,为了验证本工作提出的方法的适用场景,本文作者采用了不同对抗补丁优化方法来进行消融实验。如表2所示,作者以YoloV5作为白盒检测器,采用不同的优化/基础攻击方法来进行对抗补丁训练,并测试该补丁在其余7个黑盒检测器上的评价性能。可以看出,在不同的优化方法下,本文所提出的策略仍然可以在白盒及黑盒上大幅提升表现。

f58afeca2c95126e4469b9e1c4667e45.png

除了对数字图片进行验证,本工作也对物理场景攻击进行了验证,图4展示了一个物理攻击的Demo。本文作者利用iPad作为对抗补丁的显示载体,并使用笔记本摄像头进行拍摄。可以看到,在对抗样本加入后,人类目标可以在Yolo v5和SSD检测下隐藏,而其他物体仍然可以被正常检测到。

85d3f67f83c09b8d9e2fbd24efb14990.png

图4

      04      

结语 

尽管自集成策略目前的实现方式仍然具有一定的局限性(本文采用残差块扰动的方式来对白盒模型进行自集成,而该方法可能无法应用在非CNN的架构当中),但T-SEA的提出充分证明了在仅获得一个已知目标检测器信息的条件下,攻击者即可实现高迁移性的黑盒攻击。这揭示了对抗攻击对目标检测的新风险,也为目标检测的安全性探索提供了研究基础。

f9fbd6675b674d9bb35d883ccf28ae5a.jpeg

END

欢迎加入「对抗学习交流群👇备注:adv

8e5083a625a164878a9d5bf244f86fb0.png

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CVPR 2023 | 北大提出T-SEA: 自集成策略实现更强的黑盒攻击迁移性 的相关文章

  • openmv学习十三:特征点匹配

    适用于匹配多角度的物体 xff0c 需要现场提取之后才能使用 http docs openmv io library omv image html http docs openmv io library omv image html cla
  • arduino/Mixly使用TCS230颜色识别传感器

    一 器材 TCS230 arduino uno 二 接线 TCS230arduino unoGNDGNDVCC5VS0D2S1D3S2D4S3D5OE LEDD6OUTD7 三 程序 mixly程序 arduino程序 define tcs
  • arduino/Mixly心知天气

    一 准备 首先百度一下心知天气 xff0c 获取一下密钥 xff0c 具体的可以看这一篇Blynk中WebHook组件的使用方法 moshanghuaw的博客 CSDN博客 然后再准备一个esp8266或者esp32都可以 二 程序 mix
  • C For Linux之内存访问-内存简介

    1 内存 1 1 计算机为什么需要内存 存储器是计算机系统中非常重要的组成部分 计算机中的存储器分为两类 xff1a 内存储器的外存储器 xff08 也叫辅助存储器 xff09 所谓外存储器在PC机中一般指硬盘 U盘 光盘等 xff0c 而
  • 每天一分钟玩转golang:基础类型之字符串(四)

    大家好 xff0c 我是加摩斯 xff0c 觉得文章有帮助的小伙伴 xff0c 记得一键三连哟 xff5e 申明 xff1a 本系列两天更新一篇 xff0c 纯原创 xff0c 转载前请与我沟通 字符串类型也是一种基本类型 xff0c 底层
  • 项目二:电子骰子

    项目二 xff1a 电子骰子 文章目录 项目二 xff1a 电子骰子一 导入 5分钟 xff09 学习目的 二 新授 65分钟 1 预展示结果 5分钟 2 本节课所用的软硬件 5分钟 3 硬件介绍 1分钟 4 图形化块介绍 1分钟 5 单个
  • 项目三:双人骰子

    项目三 xff1a 双人骰子 文章目录 项目三 xff1a 双人骰子一 导入 5分钟 xff09 学习目的 二 新授 65分钟 1 预展示结果 5分钟 2 本节课所用的软硬件 5分钟 3 硬件介绍 1分钟 4 图形化块介绍 1分钟 5 单个
  • 项目四:无极调光台灯

    项目四 xff1a 无极调光台灯 文章目录 项目四 xff1a 无极调光台灯一 导入 5分钟 xff09 学习目的 二 新授 65分钟 1 预展示结果 5分钟 2 本节课所用的软硬件 5分钟 3 硬件介绍 5分钟 4 图形化块介绍 10分钟
  • Windows10安装anaconda之后pip3不能使用

    1 在命令行中切换到你自己的anaconda环境中 xff0c 2 在命令行中 xff0c 切换到你的anaconda环境中的Scripts目录中像我是在 xff1a D software anaconda3 az envs py3 pyt
  • UE4蓝图通信-蓝图接口

    蓝图接口 除了最常用的cast to蓝图节点可以实现通信以外 xff0c 进阶的通信方式就是蓝图接口 目的 xff1a 与多个对象中的特定几个对象进行通信方式 xff1a 对检测到的对象发送消息消息 xff1a 发出的消息是接口消息 xff
  • UE4蓝图通信-事件分发器(Event Dispatcher)

    事件分发器在蓝图编辑器的我的蓝图选项卡中创建 在我的蓝图 xff08 My Blueprint xff09 面板中的 进行创建输入事件分发器的名称 xff0c 该字段显示在 我的蓝图 xff08 My Blueprint xff09 选项卡
  • UE4项目优化(帧数优化)相关知识

    控制台命令 r screenpercentage 0 100 0是百分之百 如果改了这个 游戏运行超级流畅说明瓶颈在GPU上stat fps 显示帧率 Frame Per Second 或者快捷键Crlt 43 Shift 43 H 显示帧
  • 计算机图形学【GAMES-101】2、光栅化(反走样、傅里叶变换、卷积)

    快速跳转 xff1a 1 矩阵变换原理Transform 旋转 位移 缩放 正交投影 透视投影 2 光栅化 反走样 傅里叶变换 卷积 3 着色计算 深度缓存 着色模型 着色频率 4 纹理映射 重心坐标插值 透视投影矫正 双线性插值MipMa
  • 计算机图形学【GAMES-101】10、材质(BRDF)(折射、菲涅尔项、微表面模型、各向异性材质)

    快速跳转 xff1a 1 矩阵变换原理Transform 旋转 位移 缩放 正交投影 透视投影 2 光栅化 反走样 傅里叶变换 卷积 3 着色计算 深度缓存 着色模型 着色频率 4 纹理映射 重心坐标插值 透视投影矫正 双线性插值MipMa
  • 【重心坐标插值、透视矫正插值】原理以及用法见解(GAMES101深度测试部分讨论)

    文章目录 1 Barycentric Coordinates xff08 重心坐标 xff09 1 1 重心坐标概念1 2 重心坐标计算方式1 3 重心坐标插值 2 重心坐标计算公式推导3 透视投影插值矫正3 1 透视矫正后的 96 深度插
  • gcc之inline函数探究

    1 引子 xff1a 内联函数 xff08 以下称为inline函数 xff09 的行为类似于宏 xff0c 但是会像函数一样进行参数的静态类型检查 因此gcc中很多地方倾向于使用inline函数来替代宏 但是inline函数在gcc中应该
  • Visual Studio中多个源文件、多个main()函数如何分开运行

    对于跟网课的小伙伴 xff0c 有些初学者可能像我以前一样 xff0c 想记录每一课的代码 xff0c 会一节课一个 sln解决方案 xff0c 这样非常不方便 如果一个 cpp放一个main函数 xff0c 再F5运行肯定报错咯 xff0
  • C++中的变参宏 #define MyMacro(...)(__VA_ARGS__)

    span class token macro property span class token directive hash span span class token directive keyword define span span
  • 使用premake帮助生成Visual Studio解决方案

    Premake xff1a https github com premake premake core Premake 是一个基于 Lua 脚本语言的构建系统工具 xff0c 用于生成项目文件和构建脚本 xff0c 能够帮助开发者快速创建和
  • Vulkan中renderpass、subpass、dependency的见解

    在Vulkan中 xff0c 渲染通道 Render Pass 是一个描述渲染过程中使用的附件的对象 xff0c 可以包含多个 subpass 和附件依赖关系 假设我们需要创建一个render pass xff0c 它包含2个附件 1个子通

随机推荐