一、背景
神经网络(分类器)不仅要对噪声鲁棒,还要能够应付来自人类的恶意。
二、对抗样本的生成
1.基本原理
Adversarial examples就是对原始图像()添加轻微扰动(),使其成为对抗性样本()。
2.算法
在对DNNs训练时,输入的样本是固定的,我们通过gradient discent来修改参数以达到最好的效果。
在训练对抗样本时,DNNs已经训练完毕,因此参数是无法变动的,此时只能对输入样本来进行训练。
(1)对抗攻击分为targeted和non-targeted。
Non-targeted:目的是使预测结果与真实结果不一致即可(即最大化预测结果和真实结果之间的损失),。
Targeted:不仅要使结果不一致,还得使预测结果尽可能为预期的错误结果(即在non-targeted基础上,还要最小化预测结果与某个错误预期结果之间的损失),。
同时,还要对添加的对抗扰动进行限制(),使其尽可能地不被人类察觉。
(2)Constraints--范式
L2范式
即对抗样本和原始样本的欧氏距离。
范式
即改变最大的维度的值。
3.Attack
类似于训练DNNs,但是对抗样本训练的对象是输入样本(input)而不是DNNs的参数,即gradient discent的对象是input x'。
一般来说,不考虑限制条件时,gradient discent与DNNs完全一致。但是考虑限制条件时,必须要对不符合要求的gradient discent进行修改。
对每一个不符合条件的,我们都要在符合条件的里面找一个最接近的,用以代替。具体到范式而言,分别对应于:
三、对抗攻击实例
以下内容引自:《Adversarial Examples: Attacks and Defenses for Deep Learning》
1.对抗样本的分类
2.常见的对抗攻击方法
3.常见的对抗措施(1)
4.对抗措施(2)
Passive / Proactive
若数据集X是模型的训练集,用X生成对应的对抗样本组合成新的数据集(X',Y)训练,可以有效防止某一类对抗样本。但是对于未训练到的样本,抵抗效果依然不好。