读论文:STRIP: a defence against trojan attacks on deep neural networks

个人原创,转载请标记出处。

本文是阅读论文《STRIP: a defence against trojan attacks on deep neural networks》后的笔记,本文的撰写将不以翻译为基准,而以内容简述为基准来进行。(实际上这篇论文是很久前读的了,但是一直没有写博客/写笔记的习惯,希望这可以作为一个起点)

文章可见于:点我到 ArXiv 下载
文章概述:本文提出了一种针对backdoor attack的 online sample detection method,可以说是较早的一篇 backdoor sample detection 的文章了,并且发表在ACSAC 2019 (CCF-B)上。

本文提出的 detect 方法如下图所示:
图 1
说明:(不理解的看后面的原理解释,部分背景也会提及)图 1 中 input x 是待检测的样本,这里示例的是一张加入了 trigger(右下角的小方块) 的样本,作者将验证集中的干净图片依次作为水印添加到 x 上,得到多张添加了水印的 perturbed inputs(比如作者用了 100 张干净图片做水印,那么依次添加后就得到 100 perturbed inputs),随后这多个 perturbed inputs 都输入到模型并得到预测 label(比如这里是 100 个 label),最后计算这多个 label 的熵,如果计算得到的熵值小于设定的阈值,则判定 x 带有trigger,即 x 是受污染的,且说明当前使用的模型是backdoor-attack-compromised。

原理解释

  1. backdoor attack 属于 poisoning attack 的一种,但是不同于以往的 poisoning attack 的是,backdoor attack 攻击后的模型在干净的验证集上依然能得到较高的准确率,而在带有 trigger 的样本上则会产生特定的误分类。这里个人理解其实就是一种对 trigger 这一特征过拟合的表现,因此 trigger 也只能对 backdoor 攻击过的模型有用。(这是背景)
  2. 图 1 中由于 x 是带有 trigger 的,并且可以看到添加的水印并没有覆盖/破坏 trigger,因此得到的多个 perturbed inputs 中都有清晰的 trigger,因此这些 inputs 的分类结果都是特定的由攻击者指定的 target label,相同的(或者只有几个不同)label 计算得到的熵必然很小。
  3. 这里我们假设 x 不带有 trigger,那么多个 perturbed inputs 其实内容就十分混乱了,对于模型而言是在训练时没有出现过的样本,那么模型就会随机分类,因此多个分类结果比较不一致,这是计算得到的熵就会较大。
  4. 从 2 & 3 的分析中,就可以知道干净的样本和不干净的样本的熵差别会很大,因此可以利用这一点进行检测。
  5. 剩下一个待解决的问题:阈值怎么设定?作者假定自己手上是有一个验证集的(这样的假定可以说是较合理的),验证集都是干净的图片,可以用验证集的图片来进行测试,看得到的熵的值大概都多大,然后设定一个阈值,这个阈值可以牺牲掉部分的干净图片,看检测的时候会有多少毒样本没有检测到(FRR-FAR,false reject rate - false accept rate)。

论文实验结果
图 2
(事实上为什么 CIFAR10 上的表现比在 MNIST 上的还好令我费解。我复现的结果在 MNIST 上的表现是最好的,在 GTSRB(交通标志数据集,彩色图)上的表现并不理想。)

个人分析

  1. 这个方法还是比较 novel,较好地利用了 trigger is powerful 这一特点。
  2. 这个方法难以 generalize,因为大部分的数据集,当使用干净样本作为水印添加到 under-detecttion 的 x 上的时候,trigger 很容易被破坏(比如设计一个在图片中间的 trigger,或者采用的数据集是整张图都有东西的彩色图),也就是说,这个方法对 trigger 的位置、颜色会比较敏感。

最后
online backdoor sample detection 的文章还有几篇,但是其他的思路较接近的几篇没记错的话都还没有发表(只发在 ArXiv 上,截至 2019.06.01)。这里简单列举如下,后续可能会补上:

  1. 结合了 Grad-CAM,找出输入中对分类结果贡献最大的区域,裁剪出来放到干净图片上,看是否会导致干净图片的分类结果改变:SentiNet Detecting Physical Attacks Against Deep Learning Systems
  2. 通过随机 block 输入的区域,看是否有一个区域被 blocked 时,分类结果改变。如果改变,则使用该 blocker 进行遮挡,实现正确分类:Model Agnostic Defence against Backdoor Attacks in Machine Learning
  3. 同样结合了 Grad-CAM,找出了输入中对分类结果贡献最大的区域,并移除该区域,随后再用 image-inpainting 的技术补充内容,由此实现正确的分类。(这篇应该说是 input pre-processing):DeepCleanse: A Black-box Input Sanitization Framework Against Backdoor Attacks on Deep Neural Networks
  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值