Globally-Robust Neural Networks
概
本文是一種可驗證的魯棒方法, 並且提出了一種globally-robust的概念, 但是實際看下來並不覺得有特別出彩的地方.
主要內容
對於網路\(f : \mathbb{R}^{n} \rightarrow \mathbb{R}^{m}\), 其中\(m\)表示共有m個不同的類別. 則prediction可以表示為
普通的local robustness採用如下方式定義:
\(F\)被稱為在點\(x\)滿足\(\epsilon\)-locally-robust, 當對於任意的樣本\(x'\)滿足
\[\|x'-x\| \Rightarrow F(x) = F(x'). \]這種定義方式並不恰當, 因為倘若這個性質對於所有的點都成立, 那麼所有的樣本都會被判定為同一個類別, 從而得到的是一個退化的\(F\).
作者給出的globally-robust的定義是可以對於所有\(x\)有效的.
首先假設一個新的類別\(\perp\)
當且僅當
\[c_1 = c_2 | c_1=\perp | c_2 = \perp . \]則globally-robust是這麼定義的:
\(F\)是\(\epsilon\)-globally-robust的, 如果對於任意的\(x_1, x_2\), 有下列推論成立
換言之, \(F\)關於所有點的預測, 要麼其是locally-robust, 要麼是屬於\(\perp\)
接下來作者給出了這樣模型的構造方法:
假設
即\(f_i\)的全域性Lipschitz常數為\(K_i\).
令
定義
\[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}^{\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)\),
根據上面的定理可知:
任取
\[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)\), 矛盾.
所以, 我們這麼構造的模型就符合作者的定義了, 但是還存在下面的問題:
- 全域性Lipschitz常數的估計問題: 作者採用簡單粗暴的逐層計算並相乘, 放得很寬;
- 如果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)). \]