基于动量的对抗攻击增强方法 举例说明动量定理在冲击动作中的应用
suiw9 2024-11-13 14:42 20 浏览 0 评论
引用
Dong Y, Liao F, Pang T, et al. Boosting adversarial attacks with momentum[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 9185-9193.
摘要
对抗攻击是深度学习模型部署前评估其鲁棒性的一项重要手段,然而大多数现有的攻击方法对黑盒模型进行的攻击仅能达到较低的成功率。为了解决这个问题,本文提出了一个广义的基于动量的迭代算法来增强对抗攻击。通过在攻击的迭代过程中加入动量项,该方法能够在迭代过程中稳定更新方向并逃离局部最优解。为进一步优化黑盒攻击成功率,本文还将该算法施加于一系列模型,结果表明,即使是对抗训练生成的有较强防御能力的模型也很容易受到本文方法的攻击。因此,本文提出的方法应该被作为一种模型鲁棒性的评估方法。
介绍
目前,正有越来越多的研究开始关注对抗样本,因为它能够帮助在模型部署前评估模型是否容易遭受攻击。另外,对抗样本也通过提供更多不同的训练数据对深度神经网络训练起到帮助。
现已有很多攻击方法在白盒攻击的场景下取得了成功,而更严重的是,由于不同的机器学习模型会学习到相似的决策边界,对抗样本在一定程度上具有可迁移性,即一个模型的对抗样本极有可能对其他模型同样有效。
然而,现有攻击方法在黑盒攻击的场景下的表现却仍然不尽人意,尤其是当被攻击模型具有某种防御机制时,而这种情况主要是由攻击能力和攻击的可迁移性间的权衡所导致的。具体来说,由基于优化的方法及迭代方法生成的对抗样本常常具有较低的可迁移性,而由一步方法生成的对抗样本即使具有较高的可迁移性,却缺乏攻击能力。尽管已有部分研究基于上述情况提出了解决方案,其方案在实际运用中却是不现实的。因此,本文考虑如何生成高效的针对黑盒模型的对抗样本。
本文提出了一种基于动量的对抗攻击增强方法,实验结果表明该方法在白盒及黑盒攻击的场景下都提升了攻击的成功率,它一定程度上缓和了可迁移性和攻击能力的不相容性,并比一步方法和普通的迭代方法表现得更好。
为了进一步提高对抗样本的可迁移性,本文还研究了多种同时攻击多个模型的方案,因为当某个对抗样本适用于多个模型时,其攻击其他黑盒模型的成功率将大大提升。实验结果证明,通过该方法生成的对抗样本可以成功欺骗各类高鲁棒性模型包括通过对抗训练获得的模型。这一发现意味着该方法可以作为评估模型鲁棒性的一项指标,且更多关于深度学习模型鲁棒性的研究需要被推进。
本文的主要贡献如下:
?
介绍了一种基于动量的迭代梯度算法,它通过在每次迭代中积累历史梯度以稳定优化并避免局部最优。
?
研究了多种同时攻击多个模型的方法,且这些方法都大大提高了攻击的成功率,即生成了更具可迁移性的对抗样本。
?
首次发现通过整体对抗训练获得的模型同样会受到黑盒攻击的影响。
背景
攻击方法
基于梯度的一步方法。以 FGSM 算法为代表,通过最大化损失函数来实现目标,FGM 则是 FGSM 满足 L2 范式的一种泛化形式,两者核心公式如图 1 所示。
图 1 FGSM 和 FGM 的具体公式
迭代方法。以一个更小的步长迭代地应用快速梯度法,如 I-FGSM,具体公式如图 2 所示。
图 2 I-FGSM 的具体公式
基于优化的方法。该类方法直接优化真实样本和对抗样本之间的距离,典型方法如 L-BFGS,具体公式如图 3 所示。
图 3 L-BFGS 的具体公式
防御方法
在众多的防御方法中,对抗训练是被最广泛研究的提高 DNN 鲁棒性的方法。通过将对抗样本注入训练过程,经过对抗训练的模型学会了抵抗损失函数梯度方向中的扰动。然而,这并不能提高模型抵抗黑盒攻击的鲁棒性,因为对抗样本和被训练的参数间存在耦合。整体对抗训练中的数据增广使用了不止一种模型的对抗样本,因此,经过整体对抗训练的模型应该对一步攻击和黑盒攻击都具有较高的鲁棒性。
原理
本节首先说明如何将动量加入到快速梯度下降法形成 MI-FGSM 并生成在非目标攻击下满足 L∞ 范式限制的对抗样本。然后,本节提出多种同时攻击一系列模型的方法。最后,本节将 MI-FGSM 推广至 L2 范式下的目标攻击,得到了一类广义上的攻击方法。
MI-FGSM
动量是一个如今常被运用的技术,对历史梯度的记忆帮助训练过程跨过低谷、高峰或局部最大及最小。另外,动量技术在随机梯度下降中也表现出了稳定更新的有效性。于是,本文将动量的概念引入了对抗样本的生成。
FGSM 算法中的线性假设在实际运用过程中往往并不成立,这就导致了 FGSM 可能会造成过拟合的情况;而迭代的 FGSM 算法又因为步长过小迭代次数过多而常常会遇到陷入局部最优或过拟合的情况。动量于是被引入用于解决这种困境。
MI-FGSM 的具体算法如图 4 所示,算法使用一个衰减因子 μ 来对历史梯度进行累积,而当 μ 为 0 时,MI-FGSM 就退化成了迭代 FGSM 算法。每次迭代中,当前梯度被它到自己的 L1 距离标准化,因为在不同的迭代中的梯度规模在量级上是不同的。
图 4 MI-FGSM 算法示意图
攻击模型集合
本文提出攻击多个逻辑回归激活被融合在一起的模型,并称该方法为 ensemble in logits。逻辑回归捕捉了不同可能性的预测间的对数关系,因此,通过逻辑回归融合的模型集合集合了所有模型的精细细节输出,而这样它们是否容易受到攻击就会非常容易判断。具体公式如图 5 所示,损失函数使用 softmax 交叉熵损失函数,具体公式如图 6 所示,整个算法如图 7 所示。
图 5 逻辑回归融合公式
图 6 损失函数具体公式
图 7 攻击模型集合的 MI-FGSM 算法示意图
作为比较,实验还尝试了另外两种模型融合方案:对各个模型的预测取平均和对各个模型的损失函数取平均。在这三个方案中,唯一的区别仅在于何时将多个模型的输出整合在一起,但却表现出了不同的攻击效果。其中,经实践表明,逻辑回归融合的方式取得了最好的效果。
扩展
该动量迭代方法可以很轻易地泛化至其他的攻击环境。通过用所有历史步骤的累积梯度代替当前梯度,任何迭代方法都能被扩展至其动量形式。下面便展示在 L2 范式限制下进行目标攻击生成对抗样本的方法。
L2 范式下的 MI-FGM 可以被表示为图 8 中的具体公式,而对于目标攻击而言,其累积梯度可被表述为图 9 中的公式形式,于是即可得到满足 L2 范式的目标攻击 MI-FGM 公式如图 10 所示。
图 8 L2 范式下的 MI-FGM
图 9 目标攻击累积梯度
图 10 L2 范式下的目标攻击 MI-FGM
基于此,一系列适用于不同环境下的对抗攻击的广义动量迭代方法即可被提出。
实验
本节将基于 ImageNet 数据集对上述方法的有效性进行验证。
配置
实验中共使用了七种模型,其中,有四个模型是一般训练方法训练的模型(Inception v3、Inception v4、Inception Resnet v2、Resnet v2-152)而另外三个模型是基于整体对抗训练的方法训练的(Inception v3ens3、Inception v3ens4、IncRes-v2ens)。
攻击单一模型
攻击单一模型的效果如表 1 所示,实验中的最大扰动指数为 16,像素值则在 0~255 之间,衰减因子 μ 取 1.0.从表中可以得出,MI-FGSM 在进行白盒攻击时保持了 I-FGSM 的攻击能力,其白盒攻击成功率几乎接近 100%。另一边,MI-FGSM 在黑盒攻击中同样表现得比 FGSM 和 I-FGSM 都更出色,其成功率更是达到了 I-FGSM 得两倍以上,这再一次印证了上文的说法。
然而值得注意的是,即使 MI-FGSM 大幅提高了黑盒攻击的成功率,其在进行过对抗训练的模型上的表现仍然不尽人意(如:在 IncRes-v2ens 上的攻击成功率甚至低于 16%)。
表 1 MI-FGSM、I-FGSM、FGSM 攻击单一模型的效果对比
衰退因子 μ。衰退因子 μ 在上述算法中扮演了一个非常重要的角色,因此实验中在扰动因子为 16、迭代次数 10 次的环境下使用 MI-FGSM 攻击不同模型,并将衰退因子从 0.0 向 2.0 递增以研究其影响。实验结果如图 11 所示,可以发现当衰退因子 μ 取 1.0 时,攻击效果最好,而这则意味着简单地将所有历史梯度求和而不进行衰减。
图 11 衰退因子 μ 的不同取值对攻击效果的影响
迭代次数。后续实验研究了使用 I-FGSM 和 MI-FGSM 进行攻击时迭代次数对攻击效果的影响,实验参数不变,迭代次数从 1 至 10 变化,结果如图 12 所示。可以观察到,随着迭代次数的增加,I-FGSM 进行黑盒攻击的成功率迅速变低了,而 MI-FGSM 的成功率则得以保持。这个结果证明了通过迭代方法生成的对抗样本极易过拟合于某个具体的白盒模型,而基于动量的迭代方法则有助于缓解可迁移性和攻击能力之间的不相容性。
图 12 迭代次数对 I-FGSM 和 MI-FGSM 攻击效果的影响
更新方向。为了解释 MI-FGSM 展现出更好的可迁移性的原因,后续实验进一步研究了 I-FGSM 和 MI-FGSM 的更新方向随迭代的变化。两个方法的两次连续扰动之间的余弦相似度如图 13 所示,可以看出 MI-FGSM 的更新方向更稳定因为其余弦相似度值更高。
图 13 I-FGSM 和 MI-FGSM 迭代过程中连续扰动的余弦相似度
可迁移性是由模型学习了数据点周围相似的决策边界而产生的,但尽管有些相似,这些决策边界却因为深度神经网络高度非线性的结构而无法完全相同。因此,对于某个模型来说,其数据点附近必然存在一些特别的决策区域,而这些区域则往往难以迁移且与迭代过程中的局部最优解有关。而动量却可以帮助逃离这类特殊决策区域,也就使得生成的对抗样本更具可迁移性。另外一个可能的解释是稳定的更新方向使得扰动的 L2 范式更大,而这可能助长了其可迁移性。
扰动大小。实验最后研究了扰动大小对攻击成功率的影响。实验中,使用 FGSM、I-FGSM 和 MI-FGSM 以 1~40 的扰动大小对白盒模型 Inc-v3 和黑盒模型 Res-152 分别进行了攻击,实验结果如图 14 所示。
图 14 不同扰动大小下 FGSM、I-FGSM 和 MI-FGSM 的攻击成功率
对于白盒攻击,迭代方法的成功率很快达到了 100%,但一步方法的成功率却随这扰动的增大而降低了,这是因为过大的扰动水平破坏了一步方法的线性决策边界假设。对于白盒攻击,虽然三种方法的成功率都随着扰动程度的增加而提高,MI-FGSM 的成功率明显成长得更快,而这也意味着 MI-FGSM 可以取一个较小的扰动水平而使得攻击更不易被人类感知与察觉。
攻击模型集合
集合方法对比。本实验使用 Inc-v3,Inc-v4,IncRes-v2 和 Res-152 这四个模型。实验过程中,将一个模型作为黑盒模型并在其他三个模型上生成对抗样本,实验参数与前述实验一致,实验结果如表 2 所示。可以观察到,使用逻辑回归的集合方法显然在每一种攻击方法中都优于其他两种方法。另外,表 2 还表明通过 MI-FGSM 生成的对抗样本有着非常高的可转移率,也就使得强大的黑盒攻击能力成为可能。
表 2 三种集合方法的非目标攻击成功率对比
攻击对抗训练过的模型。为了攻击进行过对抗训练的模型,实验将七个模型全部包括在内,且仍然采用将一个模型作为黑盒模型,在其他六个模型上生成对抗样本的方法,实验参数与前述实验一致,实验结果如表 3 所示。实验结果表明,即使是进行过对抗训练的模型也无法有效地防御本文所提出的攻击方法,例如:有 40%的对抗样本都在对 Inc-v3ens4 模型的攻击中取得了成功。
表 3 FGSM、I-FGSM、MI-FGSM 攻击对抗训练过的模型的效果对比
讨论
换一个角度考虑,可以把寻找一个对抗样本视为训练一个模型,并把对抗样本的可迁移性视为模型的泛化能力。从这个角度出发,本文实际上是在把模型当作给定的数据集训练对抗样本,那么,引入动量和攻击模型集合的方法能够奏效就很好解释——因为一个模型的泛化能力常常会因为动量优化器的使用或训练数据的增加而得到提升。于是,本文提出进一步的思考,猜想其他一些能够提高模型泛化能力的小技巧如随机梯度下降等或许也可以被引入对抗样本的生成中以增加其可迁移性。
总结
本文提出了一系列广义的基于动量的迭代方法来增强对抗攻击的效果,并通过实验证明并解释了这些方案的有效性及原因。为了进一步提高攻击效果,本文还提出了攻击模型集合以提高对抗样本的可迁移性的方法,并通过后续实验证明了即使是经过了对抗训练的模型也会遭受到该类攻击的影响,而这也为发展更具鲁棒性的深度学习模型提出了新的安全议题。
致谢
本文由南京大学软件学院 2021 级硕士研究生顾明政翻译转述。
相关推荐
- 看完这一篇数据仓库干货,终于搞懂什么是hive了
-
一、Hive定义Hive最早来源于FaceBook,因为FaceBook网站每天产生海量的结构化日志数据,为了对这些数据进行管理,并且因为机器学习的需求,产生了Hive这们技术,并继续发展成为一个成...
- 真正让你明白Hive参数调优系列1:控制map个数与性能调优参数
-
本系列几章系统地介绍了开发中Hive常见的用户配置属性(有时称为参数,变量或选项),并说明了哪些版本引入了哪些属性,常见有哪些属性的使用,哪些属性可以进行Hive调优,以及如何使用的问题。以及日常Hi...
- HIVE SQL基础语法(hive sql是什么)
-
引言与关系型数据库的SQL略有不同,但支持了绝大多数的语句如DDL、DML以及常见的聚合函数、连接查询、条件查询。HIVE不适合用于联机事务处理,也不提供实时查询功能。它最适合应用在基于大量不可变数据...
- [干货]Hive与Spark sql整合并测试效率
-
在目前的大数据架构中hive是用来做离线数据分析的,而在Spark1.4版本中spark加入了sparksql,我们知道spark的优势是速度快,那么到底sparksql会比hive...
- Hive 常用的函数(hive 数学函数)
-
一、Hive函数概述及分类标准概述Hive内建了不少函数,用于满足用户不同使用需求,提高SQL编写效率:...
- 数仓/数开面试题真题总结(二)(数仓面试时应该讲些什么)
-
二.Hive...
- Tomcat处理HTTP请求流程解析(tomcat 处理请求过程)
-
1、一个简单的HTTP服务器在Web应用中,浏览器请求一个URL,服务器就把生成的HTML网页发送给浏览器,而浏览器和服务器之间的传输协议是HTTP,那么接下来我们看下如何用Java来实现一个简单...
- Python 高级编程之网络编程 Socket(六)
-
一、概述Python网络编程是指使用Python语言编写的网络应用程序。这种编程涉及到网络通信、套接字编程、协议解析等多种方面的知识。...
- [904]ScalersTalk成长会Python小组第20周学习笔记
-
Scalers点评:在2015年,ScalersTalk成长会Python小组完成了《Python核心编程》第1轮的学习。到2016年,我们开始第二轮的学习,并且将重点放在章节的习题上。Python小...
- 「web开发」几款http请求测试工具
-
curl命令CURL(CommandLineUniformResourceLocator),是一个利用URL语法,在命令行终端下使用的网络请求工具,支持HTTP、HTTPS、FTP等协议...
- Mac 基于HTTP方式访问下载共享文件,配置共享服务器
-
方法一:使用Python的SimpleHTTPServer进行局域网文件共享Mac自带Python,所以不需要安装其他软件,一条命令即可...
- 使用curl进行http高并发访问(php curl 大量并发获得结果)
-
本文主要介绍curl异步接口的使用方式,以及获取高性能的一些思路和实践。同时假设读者已经熟悉并且使用过同步接口。1.curl接口基本介绍curl一共有三种接口:EasyInterface...
- Django 中的 HttpResponse理解和用法-基础篇1
-
思路是方向,代码是时间,知识需积累,经验需摸索。希望对大家有用,有错误还望指出。...
你 发表评论:
欢迎- 一周热门
-
-
Linux:Ubuntu22.04上安装python3.11,简单易上手
-
宝马阿布达比分公司推出独特M4升级套件,整套升级约在20万
-
MATLAB中图片保存的五种方法(一)(matlab中保存图片命令)
-
别再傻傻搞不清楚Workstation Player和Workstation Pro的区别了
-
Linux上使用tinyproxy快速搭建HTTP/HTTPS代理器
-
如何提取、修改、强刷A卡bios a卡刷bios工具
-
Element Plus 的 Dialog 组件实现点击遮罩层不关闭对话框
-
日本组合“岚”将于2020年12月31日停止团体活动
-
SpringCloud OpenFeign 使用 okhttp 发送 HTTP 请求与 HTTP/2 探索
-
MacOS + AList + 访达,让各种云盘挂载到本地(建议收藏)
-
- 最近发表
- 标签列表
-
- dialog.js (57)
- importnew (44)
- windows93网页版 (44)
- yii2框架的优缺点 (45)
- tinyeditor (45)
- qt5.5 (60)
- windowsserver2016镜像下载 (52)
- okhttputils (51)
- android-gif-drawable (53)
- 时间轴插件 (56)
- docker systemd (65)
- slider.js (47)
- android webview缓存 (46)
- pagination.js (59)
- loadjs (62)
- openssl1.0.2 (48)
- velocity模板引擎 (48)
- pcre library (47)
- zabbix微信报警脚本 (63)
- jnetpcap (49)
- pdfrenderer (43)
- fastutil (48)
- uinavigationcontroller (53)
- bitbucket.org (44)
- python websocket-client (47)