概
本文是一种可验证的鲁棒方法, 并且提出了一种globally-robust的概念, 但是实际看下来并不觉得有特别出彩的地方.
主要内容
对于网络
f
:
R
n
→
R
m
f : \mathbb{R}^{n} \rightarrow \mathbb{R}^{m}
f:Rn→Rm, 其中
m
m
m表示共有m个不同的类别. 则prediction可以表示为
F
(
x
)
=
arg
max
i
f
i
(
x
)
.
F(x) = \mathop{\arg \max} \limits_{i} f_i(x).
F(x)=iargmaxfi(x).
普通的local robustness采用如下方式定义:
F
F
F被称为在点
x
x
x满足
ϵ
\epsilon
ϵ-locally-robust, 当对于任意的样本
x
′
x'
x′满足
∥
x
′
−
x
∥
⇒
F
(
x
)
=
F
(
x
′
)
.
\|x'-x\| \Rightarrow F(x) = F(x').
∥x′−x∥⇒F(x)=F(x′).
这种定义方式并不恰当, 因为倘若这个性质对于所有的点都成立, 那么所有的样本都会被判定为同一个类别, 从而得到的是一个退化的 F F F.
作者给出的globally-robust的定义是可以对于所有
x
x
x有效的.
首先假设一个新的类别
⊥
\perp
⊥, 以及关系
c
1
=
⊥
c
2
,
c_1 \mathop{=}\limits^{\perp} c_2,
c1=⊥c2,
当且仅当
c
1
=
c
2
∣
c
1
=
⊥
∣
c
2
=
⊥
.
c_1 = c_2 | c_1=\perp | c_2 = \perp .
c1=c2∣c1=⊥∣c2=⊥.
则globally-robust是这么定义的:
F
F
F是
ϵ
\epsilon
ϵ-globally-robust的, 如果对于任意的
x
1
,
x
2
x_1, x_2
x1,x2, 有下列推论成立
∥
x
1
−
x
2
∥
≤
ϵ
⇒
F
(
x
1
)
=
⊥
F
(
x
2
)
.
\|x_1 - x_2\| \le \epsilon \Rightarrow F(x_1) \mathop{=}\limits^{\perp} F(x_2).
∥x1−x2∥≤ϵ⇒F(x1)=⊥F(x2).
换言之, F F F关于所有点的预测, 要么其是locally-robust, 要么是属于 ⊥ \perp ⊥的, 故可以将 ⊥ \perp ⊥理解为所有不满足locally-robust的点.
接下来作者给出了这样模型的构造方法:
假设
∣
f
i
(
x
1
)
−
f
i
(
x
2
)
∣
∥
x
1
−
x
2
∥
≤
K
i
,
i
=
1
,
2
,
⋯
,
m
,
\frac{|f_i(x_1) - f_i(x_2)|}{\|x_1 - x_2\|} \le K_i, i=1,2,\cdots, m,
∥x1−x2∥∣fi(x1)−fi(x2)∣≤Ki,i=1,2,⋯,m,
即
f
i
f_i
fi的全局Lipschitz常数为
K
i
K_i
Ki.
令
y
i
=
f
i
(
x
)
,
j
=
F
(
x
)
,
y_i = f_i(x), j=F(x),
yi=fi(x),j=F(x),
定义
y
⊥
=
max
i
≠
j
{
y
i
+
(
K
i
+
K
j
)
ϵ
}
.
y_{\perp} = \max_{i\not= j} \{y_i + (K_i + K_j) \epsilon \}.
y⊥=i=jmax{yi+(Ki+Kj)ϵ}.
背后的直觉是, 根据Lipschitz常数的性质, 有
y
i
−
K
i
ϵ
≤
f
i
(
x
′
)
≤
y
i
+
K
i
ϵ
,
y
j
−
K
j
ϵ
≤
f
j
(
x
′
)
≤
y
j
+
K
j
ϵ
,
y_i -K_i \epsilon \le f_i (x') \le y_i + K_i \epsilon, \\ y_j -K_j \epsilon \le f_j (x') \le y_j + K_j \epsilon,
yi−Kiϵ≤fi(x′)≤yi+Kiϵ,yj−Kjϵ≤fj(x′)≤yj+Kjϵ,
所以
f
i
(
x
′
)
−
f
j
(
x
′
)
≤
y
i
+
(
K
i
+
K
j
)
ϵ
−
y
j
=
y
⊥
−
y
j
.
f_i(x') - f_j(x') \le y_i + (K_i + K_j) \epsilon -y_j = y_{\perp} - y_j.
fi(x′)−fj(x′)≤yi+(Ki+Kj)ϵ−yj=y⊥−yj.
所以
y
⊥
y_{\perp}
y⊥反映了最坏的情况, 如果
y
⊥
>
y
j
y_{\perp} > y_j
y⊥>yj, 便有可能存在
x
′
,
∥
x
′
−
x
∥
≤
ϵ
x', \|x'-x\| \le \epsilon
x′,∥x′−x∥≤ϵ, 但是
F
(
x
′
)
≠
F
(
x
)
F(x') \not= F(x)
F(x′)=F(x).
当然了, 这个是一个非常宽泛的情况.
进一步定义:
f
ˉ
i
ϵ
(
x
)
=
f
i
(
x
)
,
i
=
1
,
2
,
⋯
,
m
,
f
ˉ
⊥
ϵ
(
x
)
=
y
⊥
,
\bar{f}_i^{\epsilon} (x) = f_i(x), i =1,2,\cdots, m, \\ \bar{f}_{\perp}^{\epsilon}(x) = y_{\perp},
fˉiϵ(x)=fi(x),i=1,2,⋯,m,fˉ⊥ϵ(x)=y⊥,
所以最后的模型是:
F
ˉ
ϵ
(
x
)
=
arg
max
i
,
⊥
f
ˉ
∗
ϵ
(
x
)
.
\bar{F}^{\epsilon}(x) = \mathop{\arg \max} \limits_{i, \perp} \bar{f}_{*}^{\epsilon}(x).
Fˉϵ(x)=i,⊥argmaxfˉ∗ϵ(x).
并由如下的性质:
定理1: 如果 F ˉ ϵ ( x ) ≠ ⊥ \bar{F}^{\epsilon}(x) \not = \perp Fˉϵ(x)=⊥, 则 F ˉ ϵ ( x ) = F ( x ) \bar{F}^{\epsilon}(x) = F(x) Fˉϵ(x)=F(x), 且 F ˉ ϵ \bar{F}^{\epsilon} Fˉϵ在 x x x处是 ϵ \epsilon ϵ-locally-robust的.
这是显然的, 因为这说明在 ϵ \epsilon ϵ的ball内, 找出比上面情况更坏的点.
定理2: F ˉ ϵ / 2 ( x ) \bar{F}^{\epsilon / 2}(x) Fˉϵ/2(x)是 ϵ \epsilon ϵ-globally-robust的.
只需证明不可能存在
x
1
,
x
2
,
∥
x
1
−
x
2
∥
≤
ϵ
x_1, x_2, \|x_1 - x_2\| \le \epsilon
x1,x2,∥x1−x2∥≤ϵ,
F
ˉ
ϵ
/
2
(
x
1
)
=
c
1
≠
c
2
=
F
ˉ
ϵ
/
2
(
x
1
)
\bar{F}^{\epsilon/2}(x_1)=c_1\not= c_2 =\bar{F}^{\epsilon/2}(x_1)
Fˉϵ/2(x1)=c1=c2=Fˉϵ/2(x1),
根据上面的定理可知:
F
(
x
1
)
=
c
1
≠
c
2
=
F
(
x
2
)
.
F(x_1) = c_1 \not = c_2 = F(x_2).
F(x1)=c1=c2=F(x2).
任取
x
3
∈
B
(
x
1
,
ϵ
/
2
)
∩
B
(
x
2
,
ϵ
/
2
)
,
x_3 \in B(x_1, \epsilon /2) \cap B(x_2, \epsilon /2),
x3∈B(x1,ϵ/2)∩B(x2,ϵ/2),
注: 这里
B
B
B是闭球.
则根据定理1有
F
(
x
1
)
=
F
(
x
3
)
=
F
(
x
2
)
F(x_1) = F(x_3) = F(x_2)
F(x1)=F(x3)=F(x2), 矛盾.
所以, 我们这么构造的模型就符合作者的定义了, 但是还存在下面的问题:
- 全局Lipschitz常数的估计问题: 作者采用简单粗暴的逐层计算并相乘, 放得很宽;
- 如果Lipschitz常数过大, 这个模型并不会有效, 显然所有的样本都会被判断为
⊥
\perp
⊥, 作者最后采用的损失函数是TRADES的一个变种:
L T ( x , y ) = L C E ( f ( x ) , y ) + λ ⋅ D K L ( f ˉ ϵ ( x ) ∥ f ( x ) ) . \mathcal{L}_T(x,y) = \mathcal{L}_{CE}(f(x), y) + \lambda \cdot \mathrm{D}_{KL}(\bar{f}^{\epsilon}(x)\| f(x)). LT(x,y)=LCE(f(x),y)+λ⋅DKL(fˉϵ(x)∥f(x)).