BppAttack:通过图像量化和对比对抗学习来攻击深度神经网络

BppAttack:通过图像量化和对比对抗学习来攻击深度神经网络

论文地址:BppAttack

一.
当前主流trigger:
  • image patches:BadNet

  • watermark:

  • image filter:ABS

  • learned image transformation: SSBA(依赖于输入,需要自动编码器资源要求高); Lira辅助图像转换模型

不同Trojan attack的sample比较

在这里插入图片描述

现有Trojan attack工作的问题:

问题一:trigger人眼可以识别,然后基于reverse engineering重构触发器,识别模型是否有Trojan。

问题二:不同的样本共用触发模式.对应defence:Spectre;Abs;Strip;NC

现有主流defence:

基于训练时的分析:训练前光谱特征和activation cluster;训练时poison suppression基于差分隐私

基于逆向工程:NC,ABS,针对patches trigger,对不同trigger types无效(input-aware trigg)

基于清除木马:fine-tune ;pruning;

基于GradCAM:Februss;SentiNet检测模型预测是否本地化,当trigger不是本地化的时候(filter trigger),方法失效

二.
假设:

attacker能够完全控制数据集、训练过程和模型的实现,通过毒害数据集来注入木马。

思路:

人眼感知对颜色微小改变不敏感 →减少bit-per-pixel (BPP) →利用颜色量化和抖动产生trigger →这种small-size作为触发器,导致注入trigger困难 →提出利用对比学习和对抗性训练的方法inject

不可感知的实现:以前定义距离函数测量两个样本视觉上的相似性(LP距离和SSIM分数—)。

generate

1.颜色量化:通过减少颜色深度,将图像的原始palette(每个通道上的每个像素的m位)压缩成一个更小的palette(d位)。对于每个像素,我们使用压缩d位空间中最接近的像素值来替换原始值

在这里插入图片描述

2.抖动:当palette有限时,dithering产生颜色深度错觉。使用Floyd–Steinberg dithering 。它将一个像素的残差量化的误差添加到其相邻像素上,从而扩散误差。

在这里插入图片描述

inject

3.交叉熵损失函数对BPP收敛效果不好,利用对比监督学习和对抗性训练。PGD(基于优化)生成对抗样本,训练时作为negative sample。

三.

代码架构

├── classifier_models # 存放分类模型
├── networks          # 
├── utils             # 模型加载和工具调用
├── bppattacks.py     # 主函数
├── config.py         # 参数设置
├── requirements      #需要的package 
数据集和设置

在这里插入图片描述

classifier_models(不同架构)

在这里插入图片描述

bppattack.py

抖动的实现:每个channel的每个pixel的m位压缩成d位。m=8;2^d=squeeze_num; α1;α2;α3;α4

def floyDitherspeed(image,squeeze_num):
    channel,h,w=image.shape
    for y in range(h):
        for x in range(w):
            old =image[:,y,x]
            temp=npp.empty_like(old).astype(np.float64)
            new=rnd1(old/255.0*(squeeze_num-1), 0, temp)/ (squeeze_num- 1)*225
            error = old-new
            image[:,y,x]=new
            if x+1<w:
                image[:, y, x+1] + =error*0.4375
            if (y+1<h) and (x+1<w):
                image[:, y+1,x+1] + =error*0.0625
            if y+1<h:
                image[:, y+1,x]+ = error*0.3125
            if (x-1>=0) and (y+1<h):
                image[;, y+1, x-1] + = error*0.1875
     return image

MNIST Classifier的设置

在这里插入图片描述

其他defence的效果:

  • Spectral Signature:收集latent feature,计算outline scores,排除有毒样本。
  • Universal Litmus Patterns:假设trigger是patches。本文trigger不是patchs。
  • Neural Knowledge Distillation:ASR显著下降

在这里插入图片描述

  • Fine-tune:借助Latent backdoor attacks on deep neural networks的方法来对抗fine-tune
attack 比较:
  • ISSBA:利用自动编码的辅助模型,对计算资源要求更高,耗时更多。
  • WaNet:效果近似。

backdoor attacks on deep neural networks*的方法来对抗fine-tune

attack 比较:
  • ISSBA:利用自动编码的辅助模型,对计算资源要求更高,耗时更多。
  • WaNet:效果近似。

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值