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.shapefor 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)*225error = old-newimage[:,y,x]=newif x+1<w:image[:, y, x+1] + =error*0.4375if (y+1<h) and (x+1<w):image[:, y+1,x+1] + =error*0.0625if y+1<h:image[:, y+1,x]+ = error*0.3125if (x-1>=0) and (y+1<h):image[;, y+1, x-1] + = error*0.1875return 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:效果近似。