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'\)满足
这种定义方式并不恰当, 因为倘若这个性质对于所有的点都成立, 那么所有的样本都会被判定为同一个类别, 从而得到的是一个退化的\(F\).
作者给出的globally-robust的定义是可以对于所有\(x\)有效的.
首先假设一个新的类别\(\perp\), 以及关系
当且仅当
则globally-robust是这么定义的:
\(F\)是\(\epsilon\)-globally-robust的, 如果对于任意的\(x_1, x_2\), 有下列推论成立
换言之, \(F\)关于所有点的预测, 要么其是locally-robust, 要么是属于\(\perp\)的, 故可以将\(\perp\)理解为所有不满足locally-robust的点.
接下来作者给出了这样模型的构造方法:
假设
即\(f_i\)的全局Lipschitz常数为\(K_i\).
令
定义
背后的直觉是, 根据Lipschitz常数的性质, 有
所以
所以\(y_{\perp}\)反映了最坏的情况, 如果\(y_{\perp} > y_j\), 便有可能存在\(x', \|x'-x\| \le \epsilon\), 但是\(F(x') \not= F(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)\),
根据上面的定理可知:
任取
注: 这里\(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)). \]