前言
该论文是关于深度学习理论性的文章,要知道深度神经网络经常会对样本分布之外的数据和对抗样本会出现不可预测性。在该论文中作者提出了一个几何梯度分析(GGA)来提高识别模型不可信的预测,该分析方法不需要重新训练给定的模型。基于神经网络各自输入的
S
a
l
i
e
n
c
y
_
M
a
p
\mathrm{Saliency\_Map}
Saliency_Map来分析神经网络损失的几何特征。作者还提供了梯度的几何性质和损失函数的局部最小值之间的理论联系。
几何梯度分析
设
(
x
,
y
)
(x,y)
(x,y)表示在一个监督分类任务中输入样本
x
∈
R
d
x \in \mathbb{R}^{d}
x∈Rd及其对应的类标签
y
∈
{
1
,
⋯
,
C
}
y \in \{1,\cdots,C\}
y∈{1,⋯,C}。用
F
θ
F_{\theta}
Fθ表示由参数向量
θ
∈
Θ
\theta \in \Theta
θ∈Θ参数化的神经网络,用
k
^
\hat{k}
k^表示神经网络对给定样本
x
x
x预测的类别。定义
L
(
F
θ
(
x
)
,
y
)
\mathscr{L}(F_\theta(x),y)
L(Fθ(x),y)为神经网络的损失函数。将
s
i
(
x
)
∈
R
d
s_i(x)\in \mathbb{R}^d
si(x)∈Rd定义为给定样本
x
x
x的第
i
i
i类
S
a
l
i
e
n
c
y
_
M
a
p
\mathrm{Saliency\_Map}
Saliency_Map表示为:
s
i
(
x
)
=
s
i
g
n
(
∇
x
L
(
F
θ
(
x
)
,
i
)
)
s_i(x)=\mathrm{sign}(\nabla_x \mathscr{L}(F_{\theta}(x),i))
si(x)=sign(∇xL(Fθ(x),i))其中
s
i
g
n
\mathrm{sign}
sign表示符号函数。忽略对
x
x
x的依赖性,对于给定的样本
x
x
x,余弦相似矩阵
C
S
M
≡
C
M
S
(
x
)
\mathrm{CSM}\equiv \mathrm{CMS}(x)
CSM≡CMS(x)被定义为:
C
S
M
=
(
c
i
j
)
∈
R
C
×
C
,
c
i
j
=
s
i
⋅
s
j
∣
s
i
∣
∣
s
j
∣
\mathrm{CSM}=(c_{ij})\in \mathbb{R}^{C \times C},c_{ij}=\frac{s_i \cdot s_j}{|s_i||s_j|}
CSM=(cij)∈RC×C,cij=∣si∣∣sj∣si⋅sj其中
i
,
j
∈
{
1
,
⋅
,
C
}
i,j\in \{1,\cdot,C\}
i,j∈{1,⋅,C},并且
c
i
j
c_{ij}
cij表示
s
i
s_i
si和
s
j
s_j
sj这两个
S
a
l
i
e
n
c
y
_
M
a
p
\mathrm{Saliency\_Map}
Saliency_Map图之间的余弦相似度。与以前仅依赖于预测类别的显著性的方法相比,几何梯度分析考虑了所有可能的输出类别的
S
a
l
i
e
n
c
y
_
M
a
p
\mathrm{Saliency\_Map}
Saliency_Map之间的几何属性。同时考虑多个
S
a
l
i
e
n
c
y
_
M
a
p
\mathrm{Saliency\_Map}
Saliency_Map使得几何梯度攻击检测器更难被攻击。为了欺骗训练好的神经网络和几何梯度测器,攻击者必须在保留所有输出类别的
S
a
l
i
e
n
c
y
_
M
a
p
\mathrm{Saliency\_Map}
Saliency_Map之间的几何属性中同时造成错误分类。在神经网络训练成熟之后,正确分类的输入
x
x
x大部分被映射到预测类别
k
~
\tilde{k}
k~的局部最小值中,对于这些正确分类的样本,非预测类
s
i
s_i
si,
s
j
s_j
sj,
i
,
j
≠
k
~
i,j\ne\tilde{k}
i,j=k~的
S
a
l
i
e
n
c
y
_
M
a
p
\mathrm{Saliency\_Map}
Saliency_Map指向远离局部最小值的地方,并且呈现出高的平均余弦值。相反,错误分类的样本远离这些局部最优值的附近,并且对于不同的类别显示不同的
S
a
l
i
e
n
c
y
_
M
a
p
\mathrm{Saliency\_Map}
Saliency_Map,因此
S
a
l
i
e
n
c
y
_
M
a
p
\mathrm{Saliency\_Map}
Saliency_Map的平均余弦相似性较低并且方差较大。
损失函数局部极小的充要条件:为了进一步推动神经网络输入空间中梯度几何的分析,作者引入了一个性质,能够识别给定的数据点是否位于损失中的局部极小值上。
定理1
ζ
x
\zeta_{x}
ζx被定义为:
ζ
x
≡
ζ
x
:
=
⟨
−
∇
x
L
(
F
θ
(
x
~
)
,
i
)
,
x
−
x
~
⟩
∣
∇
x
L
(
F
θ
(
x
~
)
,
i
)
∣
∣
x
−
x
~
∣
,
x
~
≠
x
\zeta_{x}\equiv \zeta_{x}:=\frac{\langle-\nabla_x \mathscr{L}(F_{\theta}(\tilde{x}),i),x-\tilde{x}\rangle}{|\nabla_x \mathscr{L}(F_{\theta}(\tilde{x}),i)||x-\tilde{x}|},\tilde{x}\ne x
ζx≡ζx:=∣∇xL(Fθ(x~),i)∣∣x−x~∣⟨−∇xL(Fθ(x~),i),x−x~⟩,x~=x当且仅当
0
≤
lim
∣
x
−
x
~
∣
→
0
inf
ζ
x
(
x
~
)
≤
lim
∣
x
−
x
~
∣
→
0
sup
ζ
x
(
x
~
)
≤
1
0 \le \lim\limits_{|x-\tilde{x}|\rightarrow0}\inf \zeta_x(\tilde{x})\leq \lim\limits_{|x-\tilde{x}|\rightarrow 0}\sup \zeta_x(\tilde{x})\le 1
0≤∣x−x~∣→0liminfζx(x~)≤∣x−x~∣→0limsupζx(x~)≤1点
x
x
x在
L
(
F
θ
(
⋅
)
,
i
)
\mathscr{L}(F_{\theta}(\cdot),i)
L(Fθ(⋅),i)的局部最小值中。
引理1
令
f
:
R
d
→
R
f:\mathbb{R}^{d}\rightarrow \mathbb{R}
f:Rd→R是一个
C
1
−
f
u
n
c
t
i
o
n
\mathrm{C^1-function}
C1−function并且
x
x
x是函数
f
f
f的局部最小值点。则有
0
≤
lim
∣
x
−
x
~
∣
→
0
inf
⟨
−
∇
f
(
x
~
)
,
x
−
x
~
⟩
∣
∇
f
(
x
~
)
∣
∣
x
−
x
~
∣
≤
lim
∣
x
−
x
~
∣
→
0
sup
⟨
−
∇
f
(
x
~
)
,
x
−
x
~
⟩
∣
∇
f
(
x
~
)
∣
∣
x
−
x
~
∣
≤
1
0 \leq \lim\limits_{|x-\tilde{x}|\rightarrow 0}\inf \frac{\langle-\nabla f(\tilde{x}),x-\tilde{x}\rangle}{|\nabla f(\tilde{x})||x-\tilde{x}|}\leq \lim\limits_{|x-\tilde{x}|\rightarrow 0}\sup \frac{\langle-\nabla f(\tilde{x}),x-\tilde{x}\rangle}{|\nabla f(\tilde{x})||x-\tilde{x}|}\le 1
0≤∣x−x~∣→0liminf∣∇f(x~)∣∣x−x~∣⟨−∇f(x~),x−x~⟩≤∣x−x~∣→0limsup∣∇f(x~)∣∣x−x~∣⟨−∇f(x~),x−x~⟩≤1
证明:在
x
~
\tilde{x}
x~点进行泰勒展开,则有
f
(
x
)
=
f
(
x
~
)
+
⟨
∇
f
(
x
~
)
,
x
−
x
~
⟩
+
o
(
∣
x
−
x
~
∣
)
f(x)=f(\tilde{x})+\langle\nabla f(\tilde{x}), x-\tilde{x}\rangle+o(|x-\tilde{x}|)
f(x)=f(x~)+⟨∇f(x~),x−x~⟩+o(∣x−x~∣)进一步化简可得
f
(
x
~
)
−
f
(
x
)
x
−
x
~
=
⟨
−
∇
f
(
x
~
)
,
x
−
x
~
⟩
∣
x
−
x
~
∣
+
o
(
1
)
.
\frac{f(\tilde{x})-f(x)}{x-\tilde{x}}=\frac{\langle -\nabla f(\tilde{x}) ,x-\tilde{x}\rangle}{|x-\tilde{x}|}+o(1).
x−x~f(x~)−f(x)=∣x−x~∣⟨−∇f(x~),x−x~⟩+o(1).如果
x
x
x是局部最小值点,则有
0
≤
lim inf
∣
x
−
x
~
∣
→
0
⟨
−
∇
f
(
x
~
)
,
x
−
x
~
⟩
∣
x
−
x
~
∣
0 \leq \liminf _{|x-\tilde{x}| \rightarrow 0} \frac{\langle-\nabla f(\tilde{x}), x-\tilde{x}\rangle}{|x-\tilde{x}|}
0≤∣x−x~∣→0liminf∣x−x~∣⟨−∇f(x~),x−x~⟩
引理2
令
f
:
R
d
→
R
f:\mathbb{R}^{d}\rightarrow \mathbb{R}
f:Rd→R是一个
C
2
−
f
u
n
c
t
i
o
n
\mathrm{C^2-function}
C2−function。对于所有的向量
e
∈
R
d
e \in \mathrm{R}^d
e∈Rd有
∣
e
∣
=
1
|e|=1
∣e∣=1,则有
lim
r
→
0
⟨
∇
f
(
x
+
r
e
)
−
∇
f
(
x
)
r
,
e
⟩
=
⟨
H
f
(
x
)
,
e
⟩
\lim_{r \rightarrow 0}\left\langle \frac{\nabla f(x+re)-\nabla f(x)}{r},e\right\rangle=\left\langle Hf(x),e\right\rangle
r→0lim⟨r∇f(x+re)−∇f(x),e⟩=⟨Hf(x),e⟩
证明:计算
⟨
∇
f
(
x
+
r
e
)
−
∇
f
(
x
)
r
,
e
⟩
=
⟨
1
r
∫
0
r
d
d
t
∇
f
(
x
+
t
e
)
d
t
,
e
⟩
=
⟨
1
r
∫
0
r
H
f
(
x
+
t
y
)
e
d
t
,
e
⟩
\begin{aligned}&\left\langle \frac{\nabla f(x+re)-\nabla f(x)}{r},e \right\rangle \\ =&\left \langle \frac{1}{r}\int_{0}^r\frac{d}{dt}\nabla f(x+te)dt,e \right \rangle\\ =&\left \langle \frac{1}{r}\int_{0}^{r}H f(x+ty)edt,e \right \rangle \end{aligned}
==⟨r∇f(x+re)−∇f(x),e⟩⟨r1∫0rdtd∇f(x+te)dt,e⟩⟨r1∫0rHf(x+ty)edt,e⟩其中
H
f
=
(
∂
i
∂
j
f
)
i
,
j
Hf=(\partial_i \partial_j f)_{i,j}
Hf=(∂i∂jf)i,j表示是
f
f
f的海森矩阵。因为
f
f
f是一个
C
2
−
f
u
n
c
t
i
o
n
\mathrm{C^{2}-function}
C2−function,当
r
→
0
r\rightarrow 0
r→0时,
1
r
∫
0
r
H
f
(
x
+
t
y
)
d
t
\frac{1}{r}\int_{0}^{r}Hf(x+ty)dt
r1∫0rHf(x+ty)dt收敛到
H
f
(
x
)
Hf(x)
Hf(x)。
lim
r
→
0
⟨
1
r
∫
0
r
H
f
(
x
+
t
y
)
e
d
t
,
e
⟩
=
⟨
H
f
(
x
)
,
e
⟩
\lim_{r \rightarrow 0} \left \langle \frac{1}{r} \int_{0}^{r}Hf(x+ty)edt,e\right \rangle=\langle Hf(x),e \rangle
r→0lim⟨r1∫0rHf(x+ty)edt,e⟩=⟨Hf(x),e⟩
将引理1代入到 f ( x ) : = L ( F θ ( x ) , i ) f(x):=\mathscr{L}(F_{\theta}(x),i) f(x):=L(Fθ(x),i),存在点 x x x有 ∇ f ( x ) = 0 \nabla f(x)=0 ∇f(x)=0, x ~ = x − t ∇ f ( x ) \tilde{x}=x-t\nabla f(x) x~=x−t∇f(x),则 ⟨ − ∇ f ( x ~ ) , x − x ~ ⟩ ∣ ∇ f ( x ~ ) ∣ ∣ x − x ~ ∣ = ⟨ − ∇ f ( x ~ ) , ∇ f ( x ) ⟩ ∣ ∇ f ( x ~ ) ∣ ∣ ∇ f ( x ) ∣ → − 1 \frac{\langle-\nabla f(\tilde{x}), x-\tilde{x}\rangle}{|\nabla f(\tilde{x})||x-\tilde{x}|}=\frac{\langle-\nabla f(\tilde{x}), \nabla f(x)\rangle}{|\nabla f(\tilde{x})||\nabla f(x)|} \rightarrow-1 ∣∇f(x~)∣∣x−x~∣⟨−∇f(x~),x−x~⟩=∣∇f(x~)∣∣∇f(x)∣⟨−∇f(x~),∇f(x)⟩→−1其中 ∣ x − x ~ ∣ → 0 |x-\tilde{x}|\rightarrow0 ∣x−x~∣→0,因为 ∇ f \nabla f ∇f是连续的,则此时可知 ∇ f ( x ) = 0 \nabla f(x)=0 ∇f(x)=0。计算 ⟨ − ∇ f ( x ~ ) , x − x ~ ⟩ ∣ ∇ f ( x ~ ) ∣ ∣ x − x ~ ∣ = ⟨ ∇ f ( x ) − ∇ f ( x ~ ) , x − x ~ ⟩ ∣ ∇ f ( x ) − ∇ f ( x ~ ) ∣ ∣ x − x ~ ∣ = ⟨ ∇ f ( x ) − ∇ f ( x ~ ) ∣ x − x ~ ∣ , x − x ~ ∣ x − x ~ ∣ ⟩ ∣ x − x ~ ∣ ∣ ∇ f ( x ) − ∇ f ( x ~ ) ∣ \begin{aligned} & \frac{\langle-\nabla f(\tilde{x}), x-\tilde{x}\rangle}{|\nabla f(\tilde{x})||x-\tilde{x}|} \\ =& \frac{\langle\nabla f(x)-\nabla f(\tilde{x}), x-\tilde{x}\rangle}{|\nabla f(x)-\nabla f(\tilde{x})||x-\tilde{x}|} \\ =&\left\langle\frac{\nabla f(x)-\nabla f(\tilde{x})}{|x-\tilde{x}|}, \frac{x-\tilde{x}}{|x-\tilde{x}|}\right\rangle \frac{|x-\tilde{x}|}{|\nabla f(x)-\nabla f(\tilde{x})|} \end{aligned} ==∣∇f(x~)∣∣x−x~∣⟨−∇f(x~),x−x~⟩∣∇f(x)−∇f(x~)∣∣x−x~∣⟨∇f(x)−∇f(x~),x−x~⟩⟨∣x−x~∣∇f(x)−∇f(x~),∣x−x~∣x−x~⟩∣∇f(x)−∇f(x~)∣∣x−x~∣如果这个表达式对于收敛到 x ~ \tilde{x} x~的所有x都是渐近非负的,对于任意的 e e e,有 ∣ e ∣ = 1 |e|=1 ∣e∣=1,定义 x ~ = x + r e \tilde{x}=x+re x~=x+re 0 ≤ lim r → 0 ⟨ ∇ f ( x + r e ) − ∇ f ( x ) r , e ⟩ = ⟨ H f ( x ) e , e ⟩ 0 \leq \lim _{r \rightarrow 0}\left\langle\frac{\nabla f(x+r e)-\nabla f(x)}{r}, e\right\rangle=\langle H f(x) e, e\rangle 0≤r→0lim⟨r∇f(x+re)−∇f(x),e⟩=⟨Hf(x)e,e⟩因为 e e e是任意的,这意味着 x x x是损失函数 f f f的局部最小值。
实验设置
为了用GGA方法识别模型不可信的预测,首先为给定的样本
x
x
x生成相应的
C
S
M
\mathrm{CSM}
CSM。然后从
C
S
M
\mathrm{CSM}
CSM中计算简单的特征,并使用它们来训练样本分布之外的点。对于给定的样本
x
x
x,假设
k
^
\hat{k}
k^是与神经网络
F
θ
F_{\theta}
Fθ类的下标索引。通过利用余弦相似矩阵
C
S
M
\mathrm{CSM}
CSM的对称性,并可以观察到该矩阵主对角线的元素都等于
1
1
1。作者对两个不同的集合
S
1
=
S
∩
{
c
i
j
}
i
,
j
≠
k
S_1=S \cap \{c_{ij}\}_{i,j \ne k}
S1=S∩{cij}i,j=k和
S
2
=
S
∩
{
c
i
j
}
i
=
k
^
∨
j
=
k
S_2=S \cap \{c_{ij}\}_{i=\hat{k}\vee j =k}
S2=S∩{cij}i=k^∨j=k计算五个基本特征,分别是平均值、最大值、最小值、标准偏差和能量,其中
S
=
{
c
i
,
j
}
i
<
j
S=\{c_{i,j}\}_{i<j}
S={ci,j}i<j。
作者使用基于
P
G
D
\mathrm{PGD}
PGD的有目标攻击来最大化随机目标类的损失,这种攻击可能导致所有其他类别的相似显著图,因为攻击将优化输入,使目标类别的损失达到局部最小值。作者利用均方误差和分类交叉熵损失来攻击。对所有目标攻击使用了相同的步长
α
=
ϵ
4
\alpha = \frac{\epsilon}{4}
α=4ϵ和
100
100
100次攻击迭代。作者添加余弦相似度目标来优化对抗扰动,使得所有非预测类
S
a
l
i
e
n
c
y
_
M
a
p
\mathrm{Saliency\_Map}
Saliency_Map对齐。余弦相似度目标的损失由下式给出:
L
C
S
A
(
x
,
k
^
)
=
1
∣
S
1
∣
∑
c
i
j
∈
S
1
c
i
j
(
x
)
\mathscr{L}^{CSA}(x,\hat{k})=\frac{1}{|S_1|}\sum\limits_{c_{ij \in S_1}}c_{ij}(x)
LCSA(x,k^)=∣S1∣1cij∈S1∑cij(x)
实验结果
如下表所示,在
M
N
I
S
T
\mathrm{MNIST}
MNIST,
C
I
F
A
R
10
\mathrm{CIFAR10}
CIFAR10,
C
I
F
A
R
100
\mathrm{CIFAR100}
CIFAR100,
U
C
R
_
E
C
G
UCR\_ECG
UCR_ECG中对于不同OOD数据和对抗攻击中所有数值的真实阳性率为95%。可以发现,论文中所提出的GGA方法对所有攻击都表现出较高的识别性能。
如下表所示,所提出的
G
G
A
\mathrm{GGA}
GGA方法对所有自适应攻击都表现出很高的识别性能。有目标的PGD攻击比无目标的PGD攻击成功率高。使用
s
o
f
t
m
a
x
\mathrm{softmax}
softmax交叉熵损失进行目标攻击更有效。通过余弦相似性攻击
C
S
A
\mathrm{CSA}
CSA,可以成功地增加余弦相似性矩阵中非预测类之间的余弦相似性。余弦相似度目标的权重越高,错误分类越少,反之亦然。
C
S
A
\mathrm{CSA}
CSA攻击只能导致分别对
M
N
I
S
T
\mathrm{MNIST}
MNIST、
C
I
F
A
R
10
\mathrm{CIFAR10}
CIFAR10和
C
I
F
A
R
100
\mathrm{CIFAR100}
CIFAR100数据集的10000个样本中的561、1354和857个样本进行错误分类。相比之下,无目标和有目标
P
G
D
\mathrm{PGD}
PGD攻击的成功率为100%,导致所有数据集的10000幅图像全部被错误分类。
如下图所示,分类器的预测标签是彩色编码的,其中橙色的上半部分对应于真实类别,而蓝色的下半部分对应于对抗攻击后预测的类别。在决策边界附近,当不同类别的
S
a
l
i
e
n
c
y
_
M
a
p
\mathrm{Saliency\_Map}
Saliency_Map之间的梯度方向开始发散
C
S
M
\mathrm{CSM}
CSM会发生特征波动。由此可以看出,
C
S
M
\mathrm{CSM}
CSM的平均值是分类器决策的稳定指标。
如下表所示为使用的相同的对抗攻击和异常数据的检测性能,这些数据仅使用前
N
N
N个预测进行计算。可以发现即使只有
5
%
5\%
5%的原始
S
a
l
i
e
n
c
y
_
M
a
p
\mathrm{Saliency\_Map}
Saliency_Map用于计算
C
S
M
s
\mathrm{CSMs}
CSMs,所有检测任务的性能也仅略微下降。可以观察到预测类别和非预测类别的梯度之间的余弦相似性对于检测不可信的预测来说是足够的。