赞
踩
Towards Deep Learning Models Resistant to Adversarial Attacks (PGD),ICLR2018,涉及PGD
和对抗训练。
Abstract:本文从优化的角度研究了神经网络的对抗鲁棒性问题。本文提出的方法提供了一个广阔、统一的观点来看待对抗样本的问题。本文提出方法的自然性质使得我们可以可靠的选择训练和攻击神经网络的方法,并且某种程度上是全局的。特别的,本文提出的方法在某种程度上提出了一种可以防御住任意攻击思路。这类方法训练神经网络极大的提高了网络对攻击的抵抗能力。
对抗样本的存在一方面给神经网络的应用造成了安全隐患,另一方面也说明了目前神经网络/模型从鲁棒性角度来看,距离实际应用还远远不够。
之前也有很多方法用于攻击防御,例如防御蒸馏(defensive distillation)、特征压缩(feature squeezing)或其它对抗检测的方法。这些方法虽然在某种程度或应用上是有效的,但是它们也并没有明确地给出这些方法的适用性及适用范围。
本文思想是:
How can we train deep neural networks that are robust to adversarial inputs?
即如何训练模型,使其能对某一类攻击都鲁棒。本文从优化角度老研究神经网络的对抗鲁棒性问题。使用一个鞍点方程(min-max)来严格的描述对抗鲁棒性问题。这个方程使我们能精确的确定我们想要实现的安全保证问题(对哪些(哪类)攻击方法适用)。
Contributions:
Projeccted Gradient Descent(PGD)
方法,这是一种利用局部一阶信息求解的优化方法(局部线性是成立的);PGD
作为攻击方法生成对抗样本来训练鲁棒模型,训练得到的模型大大提高了模型鲁棒性。E ( x , y ) ∼ D [ L ( x , y , θ ) ] \mathbb E_{(x,y) \sim \mathcal D}[L(x,y,\theta)] E(x,y)∼D[L(x,y,θ)]
然而,正常的训练方法通常对抗鲁棒性能很差,为了提高模型的对抗鲁棒特性,需要适当的对范式进行扩展(to augment the Empirical Risk Minimization)。本文方法是思路不是聚焦于提高某个特定方法的鲁棒性,而是提出了一个具有通用性的范式。
min θ ρ ( θ ) , where ρ ( θ ) = E ( x , y ) ∼ D [ max δ ∈ S L ( θ , x + δ , y ) ] \min _{\theta} \rho(\theta), \quad \text { where } \quad \rho(\theta)=\mathbb{E}_{(x, y) \sim \mathcal{D}}\left[\max _{\delta \in \mathcal{S}} L(\theta, x+\delta, y)\right] θminρ(θ), where ρ(θ)=E(x,y)∼D[δ∈SmaxL(θ,x+δ,y)]
之前工作的重点:
对于攻击方法:
FGSM
:
x
+
ε
sgn
(
∇
x
L
(
θ
,
x
,
y
)
)
x+\varepsilon \operatorname{sgn}\left(\nabla_{x} L(\theta, x, y)\right)
x+εsgn(∇xL(θ,x,y))
本文提出了PGD
:
x
t
+
1
=
Π
x
+
S
(
x
t
+
α
sgn
(
∇
x
L
(
θ
,
x
,
y
)
)
)
x^{t+1}=\Pi_{x+\mathcal{S}}\left(x^{t}+\alpha \operatorname{sgn}\left(\nabla_{x} L(\theta, x, y)\right)\right)
xt+1=Πx+S(xt+αsgn(∇xL(θ,x,y)))
在防御领域,使用对抗样本对训练数据进行增广是一个常见的方法。在本文提出的范式(2)中,这个条件自动满足,因为内部生成的对抗样本就直接用于外层的优化。
对于范式(2),一个很重要的特征就是通过训练获得较小的对抗loss
保证了模型对对抗攻击的鲁棒性。
根据定义,因为这样训练得到的模型对所有的干扰loss
都很小,所以模型不存在“对抗扰动”是可能的。
An important feature of formulation (2) is that attaining small adversarial loss gives a guarantee that no allowed attack will fool the network. By definition, no adversarial perturbations are possible because the loss is small for all perturbations allowed by our attack model. Hence, we now focus our attention on obtaining a good solution to (2).
对于给出的范式(2),有个重要的特征:因为它本来就是基于对抗样本(或者说是扰动样本)训练得到的,因此它对该方法生成的对抗样本应该是鲁棒的。
但是,对于求解该范式存在一定的问题,因为不管是内层的最大化优化问题还是外层的最小化优化问题,都是一个nonconvex
问题。本文的一个很重要工作就是给出了如何求解该问题的方法。最后,实验也表明,只要训练的网络足够大,模型的鲁棒就能大大提高。
本节首先对MNIST
和CIFAR10
数据集,内部最大化问题的landscape
进行探索。(investigate the landscape of local maxima for multiple models on MNIST and CIFAR10
)
因为一般的,神经网络训练得到的模型具有很多的局部最小点,而理论上,要求解(2)式,需要得到内部优化问题的最大值。为了得到更多的关于训练模型的landscape
信息,本文选择从不同的起始点出发进行探索。
本文的一个结论是,实验表明内部最大化问题通过一阶方法是可以求解的。即使在使用PGD
求解问题时,因为最终要将
x
′
x'
x′约束在
x
i
+
S
x_i+\mathcal S
xi+S内。在
x
i
+
S
x_i+ \mathcal S
xi+S会分布有很多的初始点,因此也将导致很多的局部最大值点。但是最后这些极大值点都会收敛到一个较集中的loss values
(收敛接近)。这也验证了一个观点:虽然神经网络是个高度非凸的问题,具有很多的局部极小值点,但是这些极小值是很相似的,也即该方法仍然可解。
发现的现象:
PGD
作为攻击方法时,得到的损失值在不同初始条件下具有一致性:不同的颜色表示不同的其实条件,共有20组。初始条件为扰动内的均匀分布。
(1)不管初始条件怎样,最后都将收敛(到差不多的水准),CIFAR10
更集中;
(2)对抗训练的loss
明显比标准训练的loss
小。
10e5
)的随机初始化(random restarts
)训练后,模型的loss
都是很集中(well-concentrated distribution
)的。给出的是内部优化的CE-Loss
。
(1)蓝色的是对抗样本在原始模型上的CE-Loss
,红色的是对抗训练得到的CE-Loss
;
(2)可以看出,经过对抗训练后,对抗样本的loss
远远小于正常训练得到模型的loss
,同时更加(完全)集中。
(3)同时,对不同maxima
之间的区别进行研究。比较了他们之间的
ℓ
2
\ell_2
ℓ2距离和角度,表明,在
ℓ
∞
\ell_{\infty}
ℓ∞球上,$\ell_2 $距离很接近(distributed close to the expected distance
),且角度正交(接近90度)。另外,连接两个极值点,在两个极值点间是convex
的,即极值点在端点,中间不再存在其它的极值点。同时其它点得到的loss
值都要远大于随机初始点得到的loss
值。
所有这些实验结论都表明PGD
是一个通用的一阶攻击方法。
通过上面的实验发现:不管是正常训练的模型还是对抗训练的模型,最终的loss
都是很接近(集中)的,这个集中现象说明了一个问题:即对于所有的一阶攻击方法,只要对PGD
鲁棒,则对其它所有的方法也鲁棒。
本文的实验表明,PGD
攻击方法是目前最强的一阶攻击方法,虽然目前用于求解机器学习的优化方法有很多中,但是目前最有效的仍然是基于一阶的方法,PGD
及其变种是目前最有效的方法。因此,本文根据实验及以上分析,大胆提出,基于一阶信息训练/攻击的方法具有通用性。
如果我们训练的网络对
PGD
攻击鲁棒,则它会对目前所有方法都鲁棒。
同时,这个结论也具有一般性,即不仅适用于白盒问题, 也同样适用于黑盒攻击问题。
对攻击的迁移性也进行了分析。实验观察到:通过增加模型的容量且强化训练对手(使用FGSM
或PGD
训练,而不是对抗训练)能提高模型对迁移性攻击的抵抗能力。
对训练进行对抗训练进行分析。
首先,在神经网络训练过程中,最小化损失函数(用于训练)的方法是SGD
。对于(2)式给出的鞍点问题,通常直接求解是比较困难的,但是Danskin's theorem
指出:
对内层最大值求梯度,确实就是求解梯度的下降方向。
虽然不满足严格的要求,即神经网络因为ReLU
和最大池化操作的存在,并不能满足连续性可导,但是我们仍然可是使用这个理论进行鲁棒训练,即使用内层生成的对抗样本去训练网络,仍然是有效的(实验也证明了这一点)。
motivation:仅仅通过解决(2)式并不足以保证该分类问题的鲁棒性和精度。
对于训练神经网络而言,最终评价训练过程/网络性能的指标归根结底是loss value
,即最终模型对对抗样本的损失。一般地,认为一个小的loss
说明训练出来的模型是较好的模型,并且也能对对抗样本表现出鲁棒性。
所以,接下来还要对如何实现问题的完全求解进行分析。
训练神经网络需要匹配的三要素:
对于对抗鲁棒性问题,数据和问题都是确定的,那么问题的关键就取决于模型复杂度。
相应地,模型的架构容量也就成了影响最终性能的关键因素。某种意义上来说,因为对抗样本的存在,将原始问题的边界变得更加复杂,也需要容量更大的模型。
同时,还能说明一些问题,即对抗训练出来的模型在测试集上的分类精度会有所下降。根据上面的分析,对抗训练得到的模型边界更加复杂,则对于干净样本来说模型此时是过拟合状态,即模型在测试集上的精度有所下降。
以下对不同模型容量在不同对抗样本下的训练结果进行实验:
使用的都是卷积模型:
MNIST
数据集,原始模型是2个卷积核(通道数分别是2、4)“+”一个全连接层(64神经元),卷积核后接
2
×
2
2 \times2
2×2的最大池化,
ϵ
=
0.3
\epsilon = 0.3
ϵ=0.3。为了分析模型容量对结果的影响,每一个将卷积核的通道数和全连接层的神经元翻倍;CIFAR10
数据集,使用的是wideResNet-32
模型。模型说明:使用的Wide-ResNet-32
,如下所示:
| |
共有三种类型的block
,map size
分别为32、16、8,通道数分别为160、320、640(原始ResNet-32
是16、32、64).每种类型block
内是5个卷积单元。
这个网络在原始样本上的训练精度可达95.2%
,使用PGD
攻击时,
ϵ
=
8.
/
255
(
≈
0.03
)
\epsilon = 8./255 (\approx0.03)
ϵ=8./255(≈0.03)。
上图给出的PGD training
下wide
模型鲁棒结果45.8
应该是在7-PGD
训练好后模型,使用20-PGD
攻击得到的鲁棒结果。如第5张CIFAR10
结果图式。
结论就是模型的容量对模型的鲁棒性至关重要,具体:
FGSM
训练中,对FGSM
对抗样本分类准确率最高;对PGD
样本无效;正常样本会先下降;但是随着模型容量的增加又会趋于高精度;PGD
训练,三种样本的规律是一致的,即随着模型容量的增大,精度都变好了;loss
,其中正常训练的loss
变化不大,但是FGSM
和PGD
的loss
随着模型容量的增大会逐渐减小。同时,观察到了一下的现象:
FGSM
对抗样本的精度也增高了(在小扰动下更明显);FGSM
训练得到的模型不能提高模型的鲁棒性(对于扰动较大的情况)。**当使用FGSM
生成的对抗样本训练神经网络时,训练到的网络会对对抗样本表现出过拟合。这种情况叫做标签泄露(label leaking
),其缘由可能是训练出来的网络生成的是非常局限的对抗样本,使得模型过拟合。同时,网络在自然样本和PGD
生成的对抗样本上都表现的很差。在扰动较小是,生成的对抗样本和PGD
生成的很像,所以对PGD
也有效,但是对于大扰动就失效;PGD
对抗训练),可能会最终使得模型学不到任何有价值的东西。对于中间两幅图,特别是第三幅图,在模型容量较小时,模型对三类样本分类效果都很差。这种情况下可能会使得模型仅仅对一些固定的类别有效果(即使正常训练下该模型能有较好的性能),训练过程中,模型会牺牲对正常样本的分类效果来换取对对抗样本的分类精度,但因为模型容量较小,最终可能什么都没学到;实验部分要说明两点:
PGD
去训练)。下图所示,分别是使用PGD
在MNIST
和CIFAR10
上的训练loss
曲线。
Training Loss
都会持续下降,即暗示了训练过程确实有效;对对抗训练得到模型的性能进行评估:
| |
A
表示使用PGD
下的白盒攻击,使用不同的迭代步和restarts
;
A'
表示模型和A
一样,但是使用黑盒攻击方法进行攻击;
使用PGD
作为adversary
对抗训练时候的一些参数(CIFAR10
):
在测试阶段,仍然是PGD
进行攻击,最终的扰动大小仍是
ϵ
=
8
\epsilon=8
ϵ=8,但是迭代步分别为7、20。其中20迭代步认为是最强攻击方式。
一些结论:
MNIST
数据集,若直接使用干净样本训练,则在evaluation set
上的精度可达99.2%
,但是使用FGSM
攻击准确率就下降到了6.4%.在对抗训练下,干净样本的分类精度降了一点点(99.2%
-98.8%),但是对攻击方法鲁棒性大大提高。CIFAR10
数据集,对抗模型在自然样本上的分类精度是87.3%
,对抗训练后模型的精度虽没有像MNIST
那么明显,但是也大大提高了;7-PGD
对抗训练得到,使用不同K-PGD
进行攻击时,表现不同。其中7-PGD
攻击分类精度有50.0%
,使用20-PGD
攻击时下降到45.8%
;为了进一步对对抗训练模型的鲁棒性进行分析,本文又进行了两个实验,分别是在测试阶段,对 ℓ ∞ \ell_{\infty} ℓ∞下不同攻击扰动值 ϵ \epsilon ϵ大小对分类精度的影响和 ℓ 2 \ell_2 ℓ2范数下模型的鲁棒性进行评估。
PGD
攻击都使用100迭代步,同时设置步长为
2.5
⋅
ϵ
/
100
2.5 \cdot \epsilon /100
2.5⋅ϵ/100。这样仍然满足最终的大小是小于单步步长与迭代步数的乘积和(
100
⋅
(
2.5
⋅
ϵ
/
100
)
>
ϵ
100 \cdot (2.5 \cdot \epsilon/100)>\epsilon
100⋅(2.5⋅ϵ/100)>ϵ)。在原始对抗训练下,即
7-PGD
对抗训练得到模型,在不同扰动大小下的分类精度表型:
对于(a)、(b)图,主要比较其中的蓝色线和黑色线,即PGD
对抗训练和PGD
标准攻击。在MNIST
数据集下,模型的表现在扰动超过某个阈值后立刻(大幅度)下降(CIFAR10
是缓慢下降)。但是正常训练模型和对抗训练模型下降的阈值不同。这种阈值不同现象可能是因为对抗训练根据给定的扰动不同而学习到了不同的新阈值。
对于(c)、(d)图,两种格式范数约束下,随着扰动的增大(表示攻击强度变大),精度逐步下降((a)、(c)图中的红虚竖线分别表示扰动是0.3和8的情况);
此外,对于
ℓ
2
\ell_2
ℓ2约束下对MNIST
的攻击,发现PGD
方法,即使使用较大的
ϵ
\epsilon
ϵ也不能攻击成功。以下图为例,虽然最终分类错误了,但是已经不能较对抗样本,因为人眼已经能够识别出来。(也有文献指出,PGD
在
ℓ
2
\ell_2
ℓ2约束下表现出了overestimating
的性质)。这可能是因为学习到的网络将梯度信息隐藏了,这样PGD
方法不再那么有效。若使用decision-based
的方法进行攻击,则模型表现的较
ℓ
2
\ell_2
ℓ2约束下更脆弱。
MNIST
数据集上表现很好,但是在CIFAR10
上表现的不是太好,但已经能说明问题了。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。