PGD:Towards Deep Learning Models Resistant to Adversarial Attacks

一.摘要

1.出发点:(1)深度网络对对抗攻击(adversarial
attack)即对对抗样本的天生缺陷。

(2)当输入信息与自然样本差别并不大是却被网络错误的分类,如下图。
PGD:Towards Deep Learning Models Resistant to Adversarial Attacks_第1张图片

2.作者提出方法和论证如下:
(1)从鲁棒优化的角度研究了神经网络的抗差鲁棒性。这与很多最近的相关工作具有广泛的一致性 eg:防御蒸馏,特征压缩。
(2)根据方法的原理性使得该方法在普遍范围内是通用和有效的,即使用最强的一阶攻击,以防御几乎所有对手的攻击。
3.结果:
(1)这些方法训练我们的网络,极大地提高对几乎有所的对抗攻击的鲁棒性
(2)定义良好的对手类的是走向完全抵抗对抗攻击的深度学习模型的重要一步

二.Introduction

1.首先作者介绍了对抗攻击在很多领域聚有重要的意义,其中对抗攻击可以微调输入使得较好的分类模型产生不正确的输出。换句话说即使模型对良性的例子进行了正确的分类,这种微调变化对人类来说也是不可察觉的,但对深度模型来说是致命的。除了安全方面的影响外,这种现象还表明我们当前的模型没有以一种健壮的方式学习底层的概念。所有这些发现都提出了一个基本问题:

我们如何训练深度神经网络,使其对对抗输入具有鲁棒性?

2.接着作者提出了相关工作(1)防御蒸馏 (2)特征压缩。
(1)生成对抗样本
1)首先先给出DNN基本架构,下图表示了深度网络如何对输入信息进行分类的基本流程。

PGD:Towards Deep Learning Models Resistant to Adversarial Attacks_第2张图片
PGD:Towards Deep Learning Models Resistant to Adversarial Attacks_第3张图片

2)敏感梯度方向估计
这一步,攻击者会评估DNN模型 F 对 样本每一个输入分量所做的改变的敏感性,得到敏感性信息。Goodfellow等人提出了快速符号梯度法,这种方法是根据神经网络的输入计算代价函数的梯度来得到敏感性信息,如下面的公式所示。

PGD:Towards Deep Learning Models Resistant to Adversarial Attacks_第4张图片
3)添加扰动
这一步中,攻击者会根据第一步中计算所得的敏感性信息选择可以以最小的扰动达到攻击目的的维度添加扰动,来生成对抗样本。可接受的扰动是根据输入维度上的距离度量来定义的,可以是 L1 距离,也可以是 L2 距离,如下面公式所示。
在实验中,作者选取的添加扰动的维度是有限的,大量的添加扰动固然可以模型识别失败。因此必须选择最小的扰动既可以达到攻击目的又不影响人的识别。最小扰动必须满足以下条件:
在这里插入图片描述
(2)上述方法的缺点:无法确定某个特定的攻击是否在上下文中找到了“最具对抗性”的例子
(3)本文做出的贡献有以下三个方面:

1)尽管其组成部分具有非凸性和非凹性,但我们发现其基本优化问题是可处理的。本文提供了强有力的证据证明了一阶方法可以有效地解决这个问题。
2)模型容量在该问题中扮演着重要的角色。为了可靠地抵御强大的对抗性攻击,网络需要比仅正确地分类良性示例更大的容量。这表明鞍点问题的稳健决策边界比单纯分离良性数据点的决策边界要复杂得多。
3)本文在MNIST和CIFAR10上实现了健壮性分类,以应对如此广泛的攻击。

三.对抗鲁棒性的优化观点

在这个部分中,本文主要大部分讨论将围绕着对抗性健壮性的优化观点展开,找到对抗性实例,并进行优化,如下公式所示。
在这里插入图片描述
其中,本文进行最大化交叉熵lossL( θ , x , y \theta,x,y θ,x,y)来获得最优攻击性的样本,再通过获得攻击性样本来最小化网络损失。

四. 对攻击和防御的统一看法

在这里,主要解决两个问题:
(1)如何能找到只需要一点点的扰动就可以骗过模型的对抗攻击数据
(2)如何能够使模型可以非常鲁棒免受对抗性数据的攻击

1.在攻击端,之前的工作已经提出了快速梯度符号法(FGSM)[11]和它的多种变体等方法,如下式所示。
在这里插入图片描述
其中x代表输入信息, ϵ \epsilon ϵ代表着类似于学习率,sgn代表返回一个整型变量,指出参数的正负号。( 语法Sgn(number), number 参数是任何有效的数值表达式。返回值如果数字大于0,则Sgn 返回1,数字等于0,则返回0,数字小于0,则返回-1,数字参数的符号决定了Sgn 函数的返回值 )
2.一个更强大的对手是多步变体,它本质上是负损失函数上的投影梯度下降(PGD)
在这里插入图片描述
其中一般代表连乘的符号 ∏ x + S \prod_{x+S} x+S在这里代表循环x+S次,Q:那么为什么要这么做呢?

A:PGD的攻击效果比FGSM要好,那么原理是什么呢?首先,如果目标模型是一个线性模型,那么用FGSM就可以了,因为此时loss对输入的导数是固定的,换言之,使得loss下降的方向是明确的,即使你多次迭代,扰动的方向也不会改变。而对于一个非线性模型,仅仅做一次迭代,方向是不一定完全正确的,这也是为什么FGSM的效果一般的原因了

四.决策边界效果

PGD:Towards Deep Learning Models Resistant to Adversarial Attacks_第5张图片

1.模型容量以及训练样本的实验结果

PGD:Towards Deep Learning Models Resistant to Adversarial Attacks_第6张图片
由实验结果可以看出,模型容量以及训练样本对模型鲁棒性的影响很大

2.白黑盒攻击的实验结果

PGD:Towards Deep Learning Models Resistant to Adversarial Attacks_第7张图片
(1)使用PGD对不同次数的迭代和重新启动进行白盒攻击,由源A表示
(2)白盒攻击与PGD使用Carlini-Wagner (CW)损失函数[6]
(3)黑盒攻击来自网络的独立训练副本,用表示A’表示
(4)来自同一网络的一个版本的黑盒攻击,只训练自然的例子,表示Anat
(5)来自不同卷积结构的黑盒攻击,记为B

PGD:Towards Deep Learning Models Resistant to Adversarial Attacks_第8张图片

你可能感兴趣的:(PGD:Towards Deep Learning Models Resistant to Adversarial Attacks)