美文网首页对抗攻击
Adversarial Attack

Adversarial Attack

作者: 没日没夜醉心科研的九天 | 来源:发表于2020-11-11 17:15 被阅读0次

一、背景

神经网络(分类器)不仅要对噪声鲁棒,还要能够应付来自人类的恶意。

二、对抗样本的生成

1.基本原理

        Adversarial examples就是对原始图像(x)添加轻微扰动(\Delta x),使其成为对抗性样本(x^{’} = x +\Delta x)。

对抗样本基本原理

2.算法

        在对DNNs训练时,输入的样本是固定的,我们通过gradient discent来修改参数以达到最好的效果。

        在训练对抗样本时,DNNs已经训练完毕,因此参数是无法变动的,此时只能对输入样本来进行训练。

对抗样本训练算法

(1)对抗攻击分为targeted和non-targeted。

         Non-targeted:目的是使预测结果与真实结果不一致即可(即最大化预测结果和真实结果之间的损失),L(x^{’}) = -C(y^{’}, y^{true})

          Targeted:不仅要使结果不一致,还得使预测结果尽可能为预期的错误结果(即在non-targeted基础上,还要最小化预测结果与某个错误预期结果之间的损失),L(x^{’})=-C(y^{’}, y^{true})+C(y^{’}, y^{false})

        同时,还要对添加的对抗扰动进行限制(d(x^{’}, x)\leq \varepsilon ),使其尽可能地不被人类察觉。

(2)Constraints--L_p范式

        L2范式

                                     d(x^0, d^{’}) = \vert\vert x^{’}-x^0\vert\vert_2=\sqrt{(\Delta x_1)^2+(\Delta x_2)^2+(\Delta x_3)^2+...}

即对抗样本和原始样本的欧氏距离。

        L\infty范式

                                            d(x^0, d^{’}) = \vert\vert x^{’}-x^0\vert\vert_\infty=\max{\{\Delta x_1, \Delta x_2, \Delta x_3,...}\}

即改变最大的维度的值。

3.Attack

        类似于训练DNNs,但是对抗样本训练的对象是输入样本(input)而不是DNNs的参数,即gradient discent的对象是input x'。

        一般来说,不考虑限制条件时,gradient discent与DNNs完全一致。但是考虑限制条件时,必须要对不符合要求的gradient discent进行修改。

修改的gradient discent

        对每一个不符合条件的x^t,我们都要在符合条件的x里面找一个最接近的,用以代替。具体到L_p范式而言,分别对应于:

Lp范式对应的gradient discent

三、对抗攻击实例

以下内容引自:《Adversarial Examples: Attacks and Defenses for Deep Learning》

1.对抗样本的分类

分类1 分类2 分类3

2.常见的对抗攻击方法

White-box targeted White-box untargeted Black-box

3.常见的对抗措施(1)

Reactive Proactive

4.对抗措施(2)

        Passive / Proactive

Passive(1)-Feature Squeeze Passive(1)-Randomization Proacyive-Data augmentation

        若数据集X是模型的训练集,用X生成对应的对抗样本组合成新的数据集(X',Y)训练,可以有效防止某一类对抗样本。但是对于未训练到的样本,抵抗效果依然不好。

相关文章

网友评论

    本文标题:Adversarial Attack

    本文链接:https://www.haomeiwen.com/subject/xbgdbktx.html