对抗样本的创建和防御

先列出两个对抗样本创建的github链接:

cleverhans

百度的AdvBox

什么是对抗样本

对抗样本的创建和防御_第1张图片对抗样本的创建和防御_第2张图片

对抗样本产生原因

对抗样本的创建和防御_第3张图片对抗样本的创建和防御_第4张图片

对抗样本的创建和防御_第5张图片         对抗样本的创建和防御_第6张图片

对抗样本发生的原因:深度学习模型的高度线性性质,导致通过线性模型参数的点乘累积放大输入图像像素值的微小改变。

创建对抗样本

1. 白盒No-target攻击——FGSM, I-FGSM

对抗样本的创建和防御_第7张图片        对抗样本的创建和防御_第8张图片

固定模型参数W,b,梯度上升更新x,使推理(分类)结果远离正确值y

IFGSM生成的对抗样本比FGSM生成出的精度更高,但是迁移性不一定有FGSM好。 (Reason: drop into poor local maxima; “overfit” the model.)

MI-FGSM

I-FGSM的基础上加上Momentum技术,生成质量更高的对抗样本的同时,提高对抗样本的迁移性

对抗样本的创建和防御_第9张图片

2. 利用对抗样本的可迁移性进行黑盒攻击

对抗样本的创建和防御_第10张图片             对抗样本的创建和防御_第11张图片

黑盒生成对抗样本:基于对抗样本迁移的方法。

仿照被攻击模型的任务,训练一个同样功能的本地模型,通过白盒方式生成本地模型的对抗样本,通常这些样本也有攻击这些模型的能力。

通过分析gradient进行黑盒攻

代表方法:Zeroth Order Optimization'(ZOO)[9] attack, Substitute Attack[10]

ensemble models的对抗样本

对抗样本的创建和防御_第12张图片

使用Kmodel

三个层面的叠加:logits层面、prediction层面和loss层面

同时攻击多个model的对抗样本性能更强。

3. 白盒有target攻击

固定参数Wb,选定label y_target,梯度下降更新x,使推理结果逼近y_target。

x∗=x-ϵsign(∇_x L(x,y_target))

4. 利用GAN生产对抗样本——AdvGAN

GAN生成对抗样本的目标是生成视觉上真实同时能使目标模型分类错误的图像。

对抗样本的创建和防御_第13张图片

  普通GAN loss,判别器用于分辨原始样本和对抗样本,生成器用于生成创建对抗样本的噪声。

  对抗样本loss,f是被攻击模型,t是原始样本经过模型分类后的target

,用于限制GAN的训练扰动

,综合三种loss一起训练。

防御对抗样本的方法

1. 神经网络对抗样本去噪

对抗样本的创建和防御_第14张图片

结果:将噪声去除了,但是没有提升模型分辨对抗样本的性能

原因:随机噪声对准确率的影响会随着去噪网络的传递而减少,但是对抗噪声的影响会变大,所以基本的去噪无法解决这个问题

对抗样本的创建和防御_第15张图片

2. 神经网络高层特征去噪

对原始对抗样本图片的去噪方法(PGD)效果不佳,于是将损失函数加在网络高层的特征层上的方法(HGD

对抗样本的创建和防御_第16张图片

3. HGD去噪

Loss加在不同的网络层,分别对应三种方法:FGD, LGD, CGD

对抗样本的创建和防御_第17张图片

对抗样本的创建和防御_第18张图片

此外HGD方法具有可迁移性,在一个网络上训练的抗造器借给另一个完全不同的网络也会起到不错的抗噪效果。

对抗样本的创建和防御_第19张图片

同时以使用Ensemble的方法提升准确率

对抗样本的创建和防御_第20张图片

你可能感兴趣的:(深度学习,GAN,算法)