1. 程式人生 > 其它 >Globally-Robust Neural Networks

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 : \mathbb{R}^{n} \rightarrow \mathbb{R}^{m}\), 其中\(m\)表示共有m個不同的類別. 則prediction可以表示為

\[F(x) = \mathop{\arg \max} \limits_{i} f_i(x). \]

普通的local robustness採用如下方式定義:

\(F\)被稱為在點\(x\)滿足\(\epsilon\)-locally-robust, 當對於任意的樣本\(x'\)滿足

\[\|x'-x\| \Rightarrow F(x) = F(x'). \]

這種定義方式並不恰當, 因為倘若這個性質對於所有的點都成立, 那麼所有的樣本都會被判定為同一個類別, 從而得到的是一個退化的\(F\).

作者給出的globally-robust的定義是可以對於所有\(x\)有效的.
首先假設一個新的類別\(\perp\)

, 以及關係

\[c_1 \mathop{=}\limits^{\perp} c_2, \]

當且僅當

\[c_1 = c_2 | c_1=\perp | c_2 = \perp . \]

則globally-robust是這麼定義的:
\(F\)\(\epsilon\)-globally-robust的, 如果對於任意的\(x_1, x_2\), 有下列推論成立

\[\|x_1 - x_2\| \le \epsilon \Rightarrow F(x_1) \mathop{=}\limits^{\perp} F(x_2). \]

換言之, \(F\)關於所有點的預測, 要麼其是locally-robust, 要麼是屬於\(\perp\)

的, 故可以將\(\perp\)理解為所有不滿足locally-robust的點.

接下來作者給出了這樣模型的構造方法:
假設

\[\frac{|f_i(x_1) - f_i(x_2)|}{\|x_1 - x_2\|} \le K_i, i=1,2,\cdots, m, \]

\(f_i\)的全域性Lipschitz常數為\(K_i\).

\[y_i = f_i(x), j=F(x), \]

定義

\[y_{\perp} = \max_{i\not= j} \{y_i + (K_i + K_j) \epsilon \}. \]

背後的直覺是, 根據Lipschitz常數的性質, 有

\[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, \]

所以

\[f_i(x') - f_j(x') \le y_i + (K_i + K_j) \epsilon -y_j = y_{\perp} - y_j. \]

所以\(y_{\perp}\)反映了最壞的情況, 如果\(y_{\perp} > y_j\), 便有可能存在\(x', \|x'-x\| \le \epsilon\), 但是\(F(x') \not= F(x)\).
當然了, 這個是一個非常寬泛的情況.
進一步定義:

\[\bar{f}_i^{\epsilon} (x) = f_i(x), i =1,2,\cdots, m, \\ \bar{f}_{\perp}^{\epsilon}(x) = y_{\perp}, \]

所以最後的模型是:

\[\bar{F}^{\epsilon}(x) = \mathop{\arg \max} \limits_{i, \perp} \bar{f}_{*}^{\epsilon}(x). \]

並由如下的性質:

定理1: 如果\(\bar{F}^{\epsilon}(x) \not = \perp\), 則 \(\bar{F}^{\epsilon}(x) = F(x)\), 且\(\bar{F}^{\epsilon}\)\(x\)處是\(\epsilon\)-locally-robust的.

這是顯然的, 因為這說明在\(\epsilon\)的ball內, 找出比上面情況更壞的點.

定理2: \(\bar{F}^{\epsilon / 2}(x)\)\(\epsilon\)-globally-robust的.

只需證明不可能存在\(x_1, x_2, \|x_1 - x_2\| \le \epsilon\), \(\bar{F}^{\epsilon/2}(x_1)=c_1\not= c_2 =\bar{F}^{\epsilon/2}(x_1)\),
根據上面的定理可知:

\[F(x_1) = c_1 \not = c_2 = F(x_2). \]

任取

\[x_3 \in B(x_1, \epsilon /2) \cap B(x_2, \epsilon /2), \]

注: 這裡\(B\)是閉球.
則根據定理1有\(F(x_1) = F(x_3) = F(x_2)\), 矛盾.

所以, 我們這麼構造的模型就符合作者的定義了, 但是還存在下面的問題:

  1. 全域性Lipschitz常數的估計問題: 作者採用簡單粗暴的逐層計算並相乘, 放得很寬;
  2. 如果Lipschitz常數過大, 這個模型並不會有效, 顯然所有的樣本都會被判斷為\(\perp\), 作者最後採用的損失函式是TRADES的一個變種:\[\mathcal{L}_T(x,y) = \mathcal{L}_{CE}(f(x), y) + \lambda \cdot \mathrm{D}_{KL}(\bar{f}^{\epsilon}(x)\| f(x)). \]

程式碼

原文程式碼