论文解读:EXPLANING AND HARNESSING ADVERSARIAL EXAMPLES
摘要
许多机器学习模型包括神经网络,总是会将对抗样本错误分类,对抗样本是指对数据集中的样本施加微小的但是有目的的最坏情况下(最大化预测误差)的扰动,这样的扰动最终会导致模型以较高自信度来输出一个错误的结果。早期对于对抗样本现象的解释集中于非线性和过拟合。我们反而认为 神经网络对于对抗样本脆弱性表现的主要原因在于神经网络模型的线性性质。 在我们给出对抗网络在不同架构和训练集上泛化的解释时的大量结果证明了我们这个观点。而且,这个观点产生了一个简单并且快速生成对抗样本的方法。使用这个方法我们能够提供对抗样本来进行对抗训练,对于一个在MINIST数据集上的一个maxout神经网络,我们使用对抗训练减少了测试误差。
引言
高维空间的线性行为对于产生对抗样本十分有效。这个观点让我们设计出一个快速生成对抗样本的方法,从而使得对抗训练可行。并且我们发现了对抗训练可以提供除dropout方法外的另一种正则化方法。
我们的解释提出了在设计由于线性性质易于训练的模型和设计使用非线性性质来抗衡对抗扰动的模型间有一个根本的矛盾。
相关工作
Szegedy等人描述的关于神经网络的一些有趣的属性,以下是与本文有关的:
- 盒约束L-BFGS可以有效地发现对抗样本。
- 在一些数据集上,对抗样本和原始样本如此接近以至于人们肉眼无法观察。
- 即使是不同的架构或在不同训练集上的子集训练出的模型对于相同的对抗样本仍经常错误分类。
- 浅层的softmax回归模型对于对抗样本脆弱。
- 使用对抗样本来进行对抗训练可以正则化模型——但在Szegedy发表论文的时候由于在内层循环使得昂贵优化而不可行
对抗样本的线性解释
在许多问题中一个单独的输入特征的精度是被限制的。也正因为此,一个分类器对于输入x和对抗输入
x
~
=
x
+
η
\widetilde{x}=x+\eta
x
=x+η能够正确区分是不合常理的,其中扰动
η
\eta
η的每个元素都小于特征的精确度。也就是说,即使是很好的分类器,如果
ε
\varepsilon
ε足够小以至于在向量或者数据中可被舍弃,那么只要扰动满足最大范数约束
∣
∣
η
∣
∣
∞
<
ε
||\eta||_{∞}<\varepsilon
∣∣η∣∣∞<ε(?),分类器也会认为x和
x
~
\widetilde{x}
x
属于同一个类。
考虑权重向量
ω
\omega
ω和对抗样本
x
~
\widetilde{x}
x
的点积
ω
T
x
~
=
ω
T
x
+
ω
T
η
\omega ^{T}\widetilde{x} = \omega ^{T}x + \omega ^{T}\eta
ωTx
=ωTx+ωTη
可以发现,对抗样本的扰动使得激活值增加了 ω T η \omega ^{T}\eta ωTη,我们可以让 η = s i g n ( ω ) \eta = sign(\omega) η=sign(ω)来使得激活值最大。我们考虑权重向量 ω \omega ω有n个维度,每个维度元素的平均度量是m,那么激活值的增量 ω T η \omega ^{T}\eta ωTη可以写成 ε m n \varepsilon mn εmn( ω T η \omega ^{T}\eta ωTη<nm ε \varepsilon ε)。由于 ∣ ∣ y ∣ ∣ ∞ < ε ||y||_{∞}<\varepsilon ∣∣y∣∣∞<ε,不会随着维度n的增加而变化,但扰动 η \eta η导致的激活值增量 ε m n \varepsilon mn εmn随着维度的增加而线性增加,因此对于一个高维度的模型,我们可以通过给输入增加一些微小的变化来使得输出有着巨大的改变。
非线性模型的线性扰动
作者提出了快速产生对抗样本的方法FGSM方法,如下:
η
=
ε
s
i
g
n
(
▽
x
J
(
θ
,
x
,
y
)
\eta = \varepsilon sign(\bigtriangledown_{x} J( \theta,x,y)
η=εsign(▽xJ(θ,x,y)
其中
θ
\theta
θ是模型的参数,x是模型的输入,y是x对应的目标输出,
J
(
θ
,
x
,
y
)
J( \theta,x,y)
J(θ,x,y)是用来训练神经网络的损失函数,FGSM方法在参数
θ
\theta
θ附近值中将损失函数线性化,保证了无穷范数约束下的扰动(
∣
∣
η
∣
∣
∞
<
ε
||\eta||_{∞}<\varepsilon
∣∣η∣∣∞<ε)是最优的扰动。
线性模型的对抗训练VS权重衰减
对抗训练是在训练过程中激活值减去L1惩罚项而不是将其加到训练损失中。这就意味着当模型在对抗训练后开始学会做出足够自信的预测时,L1惩罚项会开始消失。但在欠拟合过程中不会保证一定会发生,对抗训练通常会加重欠拟合。L1权重衰减是比对抗训练更差的情况,因为他在良好的保证下不能够停用(L1惩罚项不会消失)。
深度网络的对抗训练
不同于浅层的线性神经网络,深度网络至少能够表达出函数来抵制对抗扰动。通用逼近器原理就保证了对于至少含有一层隐藏层且该隐藏层具有足够多的神经单元的一个神经网络且能够表达出(逼近)任何一个函数。
本论文发明出一种 基于FGSM方法(产生对抗样本)来进行对抗训练的方法,且该方法是一种有效的正则化项:
J
~
(
θ
,
x
,
y
)
=
α
J
(
θ
,
x
,
y
)
+
(
1
−
α
)
J
(
θ
,
x
+
ε
s
i
g
n
(
▽
x
J
(
θ
,
x
,
y
)
)
)
\widetilde{J}(\theta,x,y) = \alpha J(\theta,x,y) + (1-\alpha) J(\theta,x+\varepsilon sign(\bigtriangledown_x J(\theta,x,y)))
J
(θ,x,y)=αJ(θ,x,y)+(1−α)J(θ,x+εsign(▽xJ(θ,x,y)))
本论文的实验直接令
α
=
0.5
\alpha = 0.5
α=0.5,没有尝试其他值。以上的方法可以不断更新对抗样本来抵抗当前版本的模型。
对于对抗训练的看法:
- 对抗训练可以看作为在有对抗扰动的情况下最小化误差的过程
- 对抗训练可以看作为能够在新的点上要求标签的主动学习的方式。
- 对抗训练还可以看作为在具有噪声的输入集中进行困难样本挖掘(hard example mining),通过找到那些对分类器进行分类具有强迷惑性的噪声点来使得模型被更高效地训练。
对于对抗扰动,一个很自然的问题就在于在输入层增加扰动或输出层增加扰动还是在两者都增加扰动?Szegedy在论文中提出在隐藏层添加对抗扰动能够产生最好的正则化效果,但我们认为在FGSM方法中仅需在输入层添加对抗扰动即可。
不同模型的能力
一些低能力的模型不能够做出不同可信度的预测。例如浅层RBF神经网络只能在 μ \mu μ附近预测正样本。并且RBF网络天生的就对对抗样本免疫,因为对于对抗样本他们输出低可信度。
为什么对抗样本具有泛化性?
对于不同神经网络层数、激活单元数、甚至是同一数据集上的不同子集训练出的模型,同一对抗样本都能够迷惑这些模型的原因在于对抗样本就像是实数空间中的有理数,随处可见但又只出现在特定位置。
不同的分类器模型将同一对抗样本分到同一类的原因在于:底层分类权重的稳定性导致了对对抗样本分类的稳定性。
同时在线性的观点下对抗样本出现在广阔的一位子空间中,扰动
η
\eta
η的方向需要和损失函数梯度的方向呈现正点积,并且
ε
\varepsilon
ε需要足够大。
可能的假设
- 假设1:生成训练可以在对抗训练中提供更多的约束,比如学会区别real和fake数据,并且只对于real数据表现出高自信度。(实验表明生成训练并不能抵抗神经网络但仍有可能存在其它形式的生成训练可以抵抗对抗训练)
- 假设2:对抗样本存在的原因是对于一个单一的模型具有很强的迷惑性,可以通过融合并平均许多模型来抵抗对抗样本。(实验表明,集成的模型只能对对抗扰动表现出有限的抵抗)
总结和讨论
本文提出了以下观点:
- 对抗样本可以说是高维点积的一个属性,是模型过于线性的结果而不是非线性的结果。
- 对抗样本在不同模型泛化的原因可以被解释为对抗扰动和模型权重向量高度一致的结果。
- 扰动的方向而非空间中的特定位置最重要。
- 提出了FGSM方法产生对抗样本
- 发现了对抗训练可以正则化模型。
- 易于优化的模型易受扰动。
- 线性模型缺少抵抗对抗样本的能力,只有那些至少含有一个隐藏层的模型(通用逼近器原理)才能够被训练用来抵抗对抗扰动。
- RBF网络抵抗对抗样本。
- 模拟输入训练出的模型不能够抵抗对抗样本。
- 集成模型不能够抵抗对抗样本。