Bit-Flip Attack: Crushing Neural Network withProgressive Bit Search 学习心得
Overview:
这篇文章首次提出了Bit-Flip Attack(BFA), 作为一种DNN权重攻击方法,来攻击神经网络,是一种untargeted-attack 方式
Summary一下流程:
1、利用本文提出的一种算法——渐进位搜索(PBS)来识别DNN权重参数中最脆弱的位(个人理解是攻击是Expensive的,所以需要针对脆弱,实现少,快的目标)
2、通过Row-Hammer attack(众所周知的行锤攻击)实现二进制位翻转
3、查看攻击结果,9300万位中的仅仅13位翻转而攻击成功率从69.8%降低到0.1%。当然,为了全方位证明攻击的非偶然,作者随机翻转100位,证明了只会降低不到1%的准确率。
Part 1 Introduction
常规扯神经网络的安全问题凑字数,最后说明部署的DNN容易受到流行的故障注入技术的影响
Part 2 Related Work
1、解释了row-hammer攻击:通过频繁的数据访问导致内存位翻转的方法,row-hammer可以有效地翻转软件堆栈中任何地址的单个位。
2、神经网络参数攻击:不同级别的硬件特洛伊木马攻击神经网络参数需要特定的触发器,也就是说要对输入的图像进行修改,添加Trigger,在许多实际应用中可能不可行。故障注入攻击(fault injection attacks)的优越性得以体现。
3、前人工作的局限性:作者说以前的攻击算法是基于全精度模型开发的,随机浮点数权重的最高有效指数位的位翻转可能导致网络完全故障,即随机翻转浮点权重的指数部分很容易压倒DNN的功能。(意思是之前他们提出的攻击全精度网络模型的方法是无效的,作者证明只需要翻转用IEEE浮点数标准表示的小数中的最重要指数位就能实现攻击,也就是说只要随机翻转网络中的指数位就可以了,而且实验表明翻转那么一位后攻击效果就显著。再加上最近的大多数深度神经网络应用都是在量化平台上进行的,权重以量化的形式进行存储,所以这种攻击方式无效,即攻击权重受限的DNN是本项工作的主要重点。)
Part 3 Approach
1、首先,要寻找权重,执行位翻转,寻找的权重要足够“脆弱”,即该权重进行翻转后,对DNN的Lost function有最大的影响(式子中L代表DNN的全连接层数目,B代表以指定格式存储的量化权重W,x和t是输入和目标输出)
2、接下来是权重的量化和编码,这部分没有详细看,在其他文章中也有相似描述,我认为大概是获得权重B的二进制表示
3、在通过梯度排序找到最“脆弱”的权重后,即可执行位翻转攻击,这里就提出了算法 BFA(Bit-Flip Attack),其核心机制类似对抗样本中的FGSM算法,就是沿着梯度上升的方向完成一锤子买卖式的攻击(One-Step)。
以式子4中的二元向量b为例子,依旧是损失函数对b求偏导,然后使用得到梯度方向,直接执行位翻转,并获得扰动位。
但这存在数据溢出的情况,因为位值被限制在0和1之间,为了防止溢出,做处理如下:()(⊕是异或运算符(相同出0),sign就是对括号内的数字取符号,如果>0则返回1,<0则返回-1,=0返回0)
比如下面的一种结果示范,直接从沿着梯度改变的角度+防溢出还是很好理解的:
接下来文章重点介绍了新创的渐进位搜索算法(PBS):
该算法主要分为层内搜索和层间搜索,首先来看层内搜索,还是同上述步骤,在当前层迭代搜索最“脆弱”的权重,执行BFA,翻转位,并且计算并且存储此时网络的Loss,接下来各位恢复到执行BFA之前(取消攻击,恢复原状,因为我们已经计算了那时的DNN Loss),就这样遍历完所有的全连接或卷积层(我们记作Ln层),这时候max(L1-loss,L2-loss,....Ln-loss),找出最大的损失是在哪层发生的,最后,我们就在这层Perform BFA。
Part 4 Experiments
包括在ImageNet、CIFAR-10数据集上的测试,和控制变量的Ablation study,以及和其他方法的对比.....................
......................................
最后附上论文链接:https://arxiv.org/abs/1903.12269
因为读的文章比较少,理解难免会趋于浅显和存在各种纰漏,只是简单记录和分享,望理解。
Bit-Flip Attack: Crushing Neural Network withProgressive Bit Search 学习心得相关推荐
- 2018 CVPR Partially Shared Multi-Task Convolutional Neural Network with Local Constraint 学习
具有局部约束的部分共享多任务卷积神经网络用于人脸属性学习 摘要 在本文中,我们通过同时考虑身份信息和属性关系来研究面部属性学习问题.尤其是, 我们首先介绍一个部分共享的多任务卷积神经网络(PS-MCN ...
- Alleviating the Inconsistency Problem of Applying Graph Neural Network to Fraud Detection阅读笔记
Alleviating the Inconsistency Problem of Applying Graph Neural Network to Fraud Detection阅读笔记 文章标题:A ...
- [Paper]Application of deep convolutional neural network for automated detection of myocardial...
*侵删 *限于博主英语水平,若翻译不当之处恳请批评指正~3Q Application of deep convolutional neural network for automated detect ...
- 活体检测论文研读二:Learn Convolutional Neural Network for Face Anti-Spoofing
Learn Convolutional Neural Network for Face Anti-Spoofing 论文简介 ➢指出手工制作的特征例如LBP.LBP-TOP无法捕捉到真假脸之间最具区别 ...
- 斯坦福应智韬:Graph Neural Network Applications
不到现场,照样看最干货的学术报告! 嗨,大家好.这里是学术报告专栏,读芯术小编不定期挑选并亲自跑会,为大家奉献科技领域最优秀的学术报告,为同学们记录报告干货,并想方设法搞到一手的PPT和现场视频--足 ...
- Distilling the Knowledge in a Neural Network 论文笔记蒸馏
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/bryant_meng/article/ ...
- 图神经网络方法总结(Graph Neural Network)
图神经网络方法(Graph Neural Network) 概要 近年来图神经网络受到大家越来越多的关注,在文本分类(Text classification),序列标注(Sequence labeli ...
- 卷积神经网络(Convolutional Neural Network, CNN)
卷积神经网络(Convolutional Neural Network, CNN) 目录 卷积神经网络(Convolutional Neural Network, CNN) 概述: 结构: 卷积层:
- keras构建前馈神经网络(feedforward neural network)进行分类模型构建基于早停法(Early stopping)
keras构建前馈神经网络(feedforward neural network)进行分类模型构建基于早停法(Early stopping) 当我们训练深度学习神经网络的时候通常希望能获得最好的泛化性 ...
最新文章
- linux vim python配置文件,Linux VIM8 Python 编辑器配置文件
- 使用tensorflow出现 ImportError: DLL load failed: 找不到指定的程序
- 为什么Math.abs(Integr.MIN_VALUE)==Integer.MIN_VALUE
- 使用 Minidumps 和 Visual Studio .NET 进行崩溃后调试
- 2017-12-04HTML table布局
- [Leedcode][JAVA][第300题][最长上上子序列][动态规划][压缩空间]
- react native多语言_前端福音:为什么使用 React 和 SVG 开发图形 UI 是天作之合?
- 波士顿动力新视频:上岗工作机器狗,巡查工地一丝不苟
- python真的是吹过了-被吹的神乎其神的Python到底都能干什么
- 自激多谐振荡电路实验总结,小白电路测试
- 提高素质,讲文明树新风
- python-用IDLE运行程序
- erlang 编译安装
- Unity 鼠标悬停
- 服务器品牌有哪些?如何选择服务器?主要有哪些参数?
- lr_convert_string_encoding: 对中文进行UTF-8转码
- 三零卫士网工面试准备
- Mimikatz 命令
- Android 屏幕重力感应
- JS 定时器的2种写法及介绍
热门文章
- 软件主管离职后非法获取海量客户信息牟利
- Photoshop初学者必读十课
- x2go - nxagent的CPU占用为什么这么高?
- “已计划将多个默认网关用于提供单一网络”的问题解决
- Python随笔:设置Windows的pip镜像配置文件 pip.ini
- 上升沿判断语句_A股:如何判断股票是否被高度控盘,原来主力是这样收集筹码,跟庄买卖最好的操盘方法...
- 【软件工程师学硬件】之 振荡器(2)
- ITSS服务项目经理和服务工程师考试大纲
- 如何理解二进制计算原理
- 2022年10大最受欢迎的顶级机器学习库(免费、开源)