Globally-Robust Neural Networks

文章目录

Leino K., Wang Z. and Fredrikson M. Globally-robust neural networks. In International Conference on Machine Learning (ICML), 2021.

本文是一种可验证的鲁棒方法, 并且提出了一种globally-robust的概念, 但是实际看下来并不觉得有特别出彩的地方.

主要内容

对于网络 f : R n → R m f : \mathbb{R}^{n} \rightarrow \mathbb{R}^{m} f:RnRm, 其中 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'). xxF(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=c2c1=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). x1x2ϵ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, x1x2fi(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, yiKiϵfi(x)yi+Kiϵ,yjKjϵ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=yyj.
所以 y ⊥ y_{\perp} y反映了最坏的情况, 如果 y ⊥ > y j y_{\perp} > y_j y>yj, 便有可能存在 x ′ , ∥ x ′ − x ∥ ≤ ϵ x', \|x'-x\| \le \epsilon x,xxϵ, 但是 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,x1x2ϵ, 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), x3B(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), 矛盾.

所以, 我们这么构造的模型就符合作者的定义了, 但是还存在下面的问题:

  1. 全局Lipschitz常数的估计问题: 作者采用简单粗暴的逐层计算并相乘, 放得很宽;
  2. 如果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)).

代码

原文代码

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值