| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> Bit-Flip Attack: Crushing Neural Network withProgressive Bit Search 学习心得 -> 正文阅读 |
|
[人工智能]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的功能。攻击权重受限的DNN是本项工作的主要重点。(意思是换了攻击目标?不太理解full-precision DNN model 和the weight constrained 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),m是指示是否执行位翻转的工具人)(这地方也不是很懂+0.5是怎么异或处理的,看起来应该是比较巧妙的设计) ????????比如下面的一种结果示范,直接从沿着梯度改变的角度+防溢出还是很好理解的: ? ? ? ? 接下来文章重点介绍了新创的渐进位搜索算法(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 因为读的文章比较少,理解难免会趋于浅显和存在各种纰漏,只是简单记录和分享,望理解。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 21:36:33- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |