前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过人工大脑刺激来检测神经网络中的后门

通过人工大脑刺激来检测神经网络中的后门

作者头像
Mezereon
发布2021-04-27 16:29:44
6510
发布2021-04-27 16:29:44
举报
文章被收录于专栏:MyBlogMyBlog

介绍

这一次主要给大家介绍一篇CCS19的工作,“ABS: Scanning Neural Networks for Back-doors by Artificial Brain Stimulation”。

在深度学习之中,存在着一种后门攻击(backdoor attack),它包括两个部分:

  • 被植入后门的深度网络(trojaned model, model with backdoors)
  • 触发后门的触发器 (trigger)

一旦我们在输入上添加对应的触发器,就会触发网络的后门,使其决策错误;而当输入为正常输入时,模型的表现同正常的模型无异。

有关后门攻击的更多内容,你可以查看我的这篇文章

我们先前介绍过了一个著名的防御工作 Neural Cleanse(之后简称为NC),对后门进行检测、还原以及后续利用神经元裁剪的手段进行防御。

他们观察到,触发器加到输入上,会使得模型的某些神经元表现异常,利用简单的异常检测方法,就可以找出这些过度激活的神经元并且裁剪掉。

我这次介绍的工作,也是一种对模型内部的神经元进行分析的检测手段,那么他们是如何和NC区别开的呢?

  1. NC可能不能够对后门的触发器进行逆向
  2. NC需要大量的输入样本来实现高的性能
  3. NC对于较大的触发器可能会失效
  4. NC对于在特征空间上的攻击可能表现不佳(与像素空间不同)

我会对这几个动机做进一步的分析,对此不感兴趣的读者,可以直接跳到下一个部分阅读该工作的细节,但是对于科研工作者而言,还是有必要好好分析这些动机的。

这几个动机,我们需要好好看看,到底是不是核心!

关于第一个点,NC不能够对逆向出来后门触发器,这里文章举了一个例子

image-20210420162913708

如上图所示,图片(a)代表触发器,作者将这个触发器植入到飞机类别(Airplane)。(也就是输入上加入触发器,就是使得分类器分类为飞机)

我们观察到,在对标签为鹿进行触发器逆向的时候,我们还原出来的是类似鹿的特征,如图(b)所示。

而在对飞机类别进行触发器逆向的时候,则表现不稳定,有60%的概率生成(d)触发器,有40%的概率生成(c)特征。

的确,NC在逆向出触发器的时候的确不稳定,但是我们真的需要稳定逆行出触发器吗?NC的假设是,我们生成对应触发器的难度在后门对应的目标上会更小,只要满足这个假设就可以。

我们来看看第二个点,NC需要大量的输入样例来获得高的性能。

文章原文是

... , the detection success rate is around 67% for triggers whose size is 6% of an input image. When there is only one input sample per label (10 images in total), the detection accuracy degrades to 20%.

意思就是,一旦我们将可用的输入缩减到10张,正确率就会下降到20%。

乍一看很有道理,但我们翻翻他的实验部分。

image-20210420164239194

可以看到,我只需要将数据量提升到100张图片,正确率就已经到60%了,100张输入总不算多吧。

不得不说,这个点我觉得比较弱了,属于文章包装的部分

我们再来看看第三点,对于较大触发器失效这件事。

image-20210420164532577

如上图所示,当我们的触发器比较大的时候(超过6%),NC的检测正确率会下降的非常快,这可能是因为触发器的特征已经盖过去原本的特征了。

就相当于你的触发器基本上是一个完整的实体了,那么分类出错有时候也不能认为是网络的问题。

只不过这里到6%就下降很多,可惜的是,我在文中没能看到具体的示例。

于是呢,为了更为具体,我自己在CIFAR-10上构造了不同比例的触发器的样例,大家可以参考

Clean

6%

hourse

hourse-6

CIFAR-10输入是32x32,所以6%约是8x8的一个区域

这么一个区域其实已经非常明显了,所以检测精度下降应该是正常的事。

最后来看看第四点区别,NC对于特征空间上的攻击可能表现不佳。

先看看这里所说的特征空间的攻击究竟是啥

image-20210420172312115

如上图所示,看上去似乎是色彩风格上的变换,也就是将触发器设置成一种色彩风格。

image-20210420172532969

我们来看看这个表格,对于NC我们只需要看最右边的,满状态的NC方法在特征触发器上表现不佳,最多只有33%的检测精度,一个理解是这种风格上的触发器,会使得先前的神经元不会过度激活,攻击更为隐蔽。

我们分析了NC方法的一些“缺陷”之后,我们来看看新的方法吧。

新的方法

首先给出两个观测:

  • 成功的后门攻击会产生“被危害的”神经元
  • 这些有害神经元表征了一个子空间,该空间割裂了整个空间

第一个观测和NC的基本一致,即触发器会引起一些神经元表现异常。

割裂原本的空间这回事,作者只给出了朴素情况下的示例。

存在着这些假设,下一步就是如何找到这些“有害”的神经元。

这里给出大致的步骤(参考于其github实现),来找到候选的有害神经元:

  • 首先对于某一个固定的层,随机选取一个通道
  • 然后对于一堆可信的图片,计算出该通道下最大的激活值
  • 将该通道下所有的激活值替换为最大激活值
  • 将这个中间输出继续输入给下一个层
  • 如果,最后的结果导致分类错误,并且对于超过90%的图片,都导致同一错误分类结果
  • 则将该层的该通道记为“候选的有害神经元”

在代码的实现上,这里都用的整个通道来表示一个神经元

找到这些候选的有害的神经元之后,便需要确定是否的确是有害的神经元,于是,作者通过反向构造触发器,通过验证该构造的触发器的有效性,来判别是否是有害的神经元。

那么如何构造触发器呢?该工作使用的是梯度下降的策略

损失函数为

其中所有的权重 , 是该候选神经元的激活值, 是候选神经元激活值和其他神经元激活值的差异, 是触发器的区域, 刻画原图和加触发之后的相似程度。

故,优化目标为,最大化该候选神经元激活值, 但最小化和其他神经元的激活值差异,最小化触发器的面积,同时最大化和原图的相似程度。

REASR分数

在前面我们说到,本文使用候选的有害神经元生成的触发器,再根据该触发器的有效性来判别是否有后门。

这里便引入了一个REASR分数,REASR即 Attack Success Rate of Reverse Engineered trojan triggers.

也就是基于逆向工程的触发器的攻击成功率,这个逆向工程就是我们先前说到的,基于梯度下降的触发器生成方法。

image-20210424194307919

如上图所示,该分数对于后门模型有着较强的刻画能力。

实验评估

我们先来看看后门检测的成功率,和NC进行对比,如下图所示,在多个数据集上针对两种攻击形式表现出色。

图片上传中...(image-6816b2-1619265304679-3)

然后我们来看看计算的时间代价

image-20210424194552209

如上图所示,NC需要计算较多时间,ABS由于基于采样,缩减了许多计算耗时。

结论

ABS相比较于NC,从计算速度和准确性上都获得了较大的提升,不过可惜的是,文章并没有针对一些新的后门攻击做出实验。

整体上看,该工作的包装性是比较高的,比如用神经元来进行分析,但是实现上却是整个通道。

并且,该工作还是依赖于“触发器会引发异常的激活值”这一假设,那么,在进一步更为隐蔽的后门攻击下,该方法的有效性仍需要验证。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 新的方法
  • REASR分数
  • 实验评估
  • 结论
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档