概要
深度神经网络在语音、视觉识别任务中取得良好的性能表现。当神经网络的昂贵性是他们取得成功的原因,但这也导致了神经网络学习出难以解释的解决方案和反直觉的一些特性。在本文章中我们提出两个这样的反直觉特性。
首先,我们根据单元分析的多种方法发现了在单个高水平单元和高水平单元的任意线性结合中没有任何区别。这表明在高层神经网络中,是样本空间而非特定的单元包含语义信息。
其次,我们发现神经网络的输入-输出映射在很大程度上是相当不连续的。 我们可以通过施加某种难以察觉的扰动来使网络对图像进行错误分类,这种扰动是通过最大化网络的预测误差来发现的。此外,这些扰动的特定性质不是学习的随机伪影:相同的扰动可能导致在数据集的不同子集上训练的不同网络对相同的输入进行错误分类。
引言
神经网络能够表现出高性能的关键在于能够表达出含适量的大量并行且非线性步骤的计算。
对于第一个特性,总的来说,很有可能是整个激活空间而非某个单一单元包含着语义的主体信息。
对于第二个特性和神经网络对于输入上的小扰动的稳定性有关。这些扰动是通过优化输入来最大化预测误差发现的,我们把这些带有扰动的例子叫做为“对抗样本。”
但是我们发现对于不同层数、激活层甚至是在同一数据集上的不同子集训练出的神经网络、对抗样本都具有鲁棒性,能够误导模型。
框架
符号定义:输入图像x, x ∈ R m x∈R^m x∈Rm,某层的激活值φ(x)
φ(x)的单元
传统的计算机视觉系统依赖于特征提取:通常单个特征很容易解释,例如颜色的直方图或量化的局部导数。在先前的工作中,尝试分析用于计算机视觉中的神经网络问题用了类似的推理,将隐藏单元的激活解释为有意义的特征。
可将以上技术解释为对于输入图像x’的检查,x‘满足:
x
′
=
a
r
g
m
a
x
<
φ
(
x
)
,
e
i
>
(
x
∈
I
)
x' = argmax<φ(x),e_i> (x∈I)
x′=argmax<φ(x),ei>(x∈I)
I是未接受网络训练的数据分布的图像集,而
e
i
e_i
ei是与第i个隐藏单元关联的自然基向量。
实验表明,任意方向v,
v
∈
R
n
v∈R^n
v∈Rn,都能够给出相似的语义信息,并且我们发现x’在语义上相互关联,对于x’有:
x
′
=
a
r
g
m
a
x
<
φ
(
x
)
,
v
>
(
x
∈
I
)
x' = argmax<φ(x),v> (x∈I)
x′=argmax<φ(x),v>(x∈I)
这就表明了检查φ(x)的性质时自然基向量并不比随机基向量好,这就对神经网络在坐标上分解变异因子的概念提出了质疑。
神经网络的盲点
一般来说,一个神经单元的输出层是它输入的高度非线性函数。当使用交叉熵训练时,输出表示给定输入标签的条件分布。有人认为,在神经网络输入和输出间的非线性层的深层堆栈对于模型来说是一个在输入空间中解码非局部泛化先验的方法。也就是说,输出单元可以为输入空间的各个区域分配不重要的概率,而未训练的样本就在输入空间的这个邻域内。这样的邻域可以从不同的角度来表示相同的目标,例如,在像素空间上距相对离十分远但在原始输入的标签和结构上没有区别。
这样的论点隐含着局部泛化能够按照预期一样地工作。尤其地,在给定输入x的邻域内对于一个足够小的半径
ε
>
0
\varepsilon>0
ε>0,并且
x
+
r
x+r
x+r满足
∣
∣
r
∣
∣
<
ε
||r||<\varepsilon
∣∣r∣∣<ε,会得到模型输出的一个较高概率的正确分类。这样的平滑先验一般被用于计算机视觉问题中。总的来说,对给定图像添加微小的扰动通常不会改变基础类。
我们的主要结论在于,对于神经网络中的核方法后的许多平滑假设并不成立。特别地,通过使用一个简单的优化过程,我们能够找到对抗样本——在能够被模型正确分类的样本上添加微小的扰动,导致不再能够被正确分类。
从某种意义上说,我们以上描述的是一种有效的方式遍历网络的流形并在输入空间中找到对抗样本。对抗样本在神经网络的流形中代表了低概率的口袋,在一个给定样本的输入中很难通过随机取样来有效地发现这些口袋(对抗样本)。
形式化表述
定义
f
:
R
m
−
>
1...
k
f:R^m ->{1...k}
f:Rm−>1...k一个将图像像素的向量映射到离散的标签集的分类器。
l
o
s
s
f
:
R
m
∗
1...
k
−
>
R
+
loss_{f}:R^m * {1...k} -> R^+
lossf:Rm∗1...k−>R+f的相关连续损失函数
对于给定的输入图像x和目标标签l,我们旨在解决以下的盒约束优化问题
最小化
∣
∣
r
∣
∣
2
,
并遵循约束:
1.
f
(
x
+
r
)
=
l
2.
x
+
r
∈
[
0
,
1
]
m
最小化||r||_2,并遵循约束: 1.f(x+r) = l 2.x+r∈[0,1]^m
最小化∣∣r∣∣2,并遵循约束:1.f(x+r)=l2.x+r∈[0,1]m
D(X,l)的精确计算十分困难,我们使用盒约束L-BFGS来近似。具体来说,我们通过执行一个线性搜索找到一个最小值c>0,并且该最小值仍满足
f
(
x
+
r
)
=
l
f(x+r)=l
f(x+r)=l
M
i
n
i
s
i
z
e
c
∣
r
∣
+
l
o
s
s
f
(
x
+
r
,
l
)
s
u
b
j
e
c
t
t
o
x
+
r
∈
[
0
,
1
]
m
Minisize c|r|+loss_f(x+r,l) subject to x+r∈[0,1]^m
Minisizec∣r∣+lossf(x+r,l)subjecttox+r∈[0,1]m
实验结果
实验结果表明了对抗样本在某种程度上泛化,而不仅仅是对一个特定模型过拟合或者是对于训练集的特定选择的结果。
根据我们的初步观察,高层的对抗样本似乎比底层的对抗样本有用得多。
在交叉训练集的泛化实验中,我们发现对抗样本对于使用不相交训练集训练出的模型仍很难进行正确分类,尽管该对抗样本的有效性大大降低。
不稳定性的谱分析
对抗样本表明了在输入上的小扰动仍能对输出造成大扰动。
一系列的数学推导公式表明不稳定性在第一层神经网络中就可出现。
我们可以对参数进行一个简单的正则化,包括对每个Lipschitz上界进行惩罚,可能会帮助改进神经网络的泛化误差。
讨论
我们描述了神经网络在神经网络中单个单元的语义信息和输入-输出映射的非连续性都存在着反直觉的睡醒。对抗样本的负面性存在和神经网络能够达到高泛化表现的能力相矛盾。可行的解释在于对抗样本出现的概率十分低,以至于从来没有在测试集中观察到过,但对抗样本又很密集(像有理数一样平铺在实数空间),以至于可以在测试集中的每一个测试样本的邻域内都可以发现。