Towards Certifying Robustness using Neural Networks with -dist Neurons

1.Introduction

我们设计出了一种-dist网络。不像标准的神经网络在线性变换后接一个非线性单元,-dist神经元是单纯基于计算输入与参数间的距离的,这样的neuron直接具备norm下的1-Lipschitz条件。

而由这样的neuron构建的network也具备同样属性。基于这种属性,我们可以通过预测结果的边界有效地得到网络可证明的鲁棒性。

理论方面,我们证明了一个Lipschitz-universal近似理论,说明-dist网络可以很好地近似任意1-Lipschitz函数。

但是这个网络的参数的梯度的-norm距离是稀疏的,优化起来很难。而且由于架构不同,cnn的训练tricks很难用到这上来,我们提出了一个整体的训练策略。特别是,我们展示了如何初始化参数,合理地泛化,设计合适的权重衰减机制,并通过平滑的近似梯度解决了梯度稀疏问题。

进一步,网络有着宽泛的适用性,可以作为一个鲁棒特征提取器,结合cnn网络用于实践应用。在一个网络的后端加一个简单的2层感知机,我们就可以获得很快的训练和预测速度,在可证明的鲁棒性分类任务上取得了SOTA的成果。

Robust Training Approaches

对抗训练是对于对抗攻击最成功的应对方法,但是基于预定义的攻击算法进行评估的,无法保证模型对其他攻击也鲁棒

Certified Robustness for CNN

通过一些凸松弛方法,一层一层地约束可证明的扰动半径,从而提供任何攻击下可证明的鲁棒性。然而这些方法一般复杂、计算昂贵且难以应用于深而大的模型。为了克服这些缺陷, Mirman et al. (2018); Gowal et al. (2018) 提出了 interval bound propagation (IBP),一种更简单且易于计算的特殊形式的凸松弛,但也放松了结果的边界,导致了不稳定的训练。Zhang et al. (2020b); Xu et al. (2020a)将IBP与线性松弛结合,使得边界变紧,达到了现在的SOTA表现。与这些为了确定CNN的方法不同,我们提出了一种通过其本质属性就可提供鲁棒性保证的网络。

Certified Robustness for Smoothed Classifiers

Randomized smoothing为常规网络提供了一种基于概率的可证明鲁棒保证。如果给输入加上一个高斯噪声,可以为高斯光滑分类器计算出一个可验证的小的鲁棒保证。但是也有人证明了这种方法不能为扰动提供大于 半径的防御,因此它无法为较大的扰动提供有意义的结果。

Lipschitz Networks

另一条路线尝试约束神经网络的全局Lipschitz常数。Lipschitz网络对于证明鲁棒性,提供泛化边界或者估计Wasserstein距离是非常有用的。先前的工作通过直接约束每一个权重矩阵的spectral norm小于1,或者是优化损失函数,构建被spectral norm约束的全局Lipschitz常数上界,来训练Lipschitz ReLU网络。但Huster et al. (2018) and Anil et al. (2019)指出这样的网络对于一些简单的Lipschitz函数欠缺表达能力,而且其Lipschitz约束也不紧。最近, Anil et al. (2019)提出了一个新的Lipschitz网络: Lipschitz-universal approximator,(Li et al., 2019)将其拓展到了CNN上。然而其鲁棒性仍不及其他可证明的方法,并且它们都不能提供下好的可证明结果。我们提出的网络也是一种 Lipschitz-universal approximator,它大幅提升了可证明的准确性。

-dist Neurons

我们注意到有人提出了一种叫做AdderNet的新网络,利用-norm操作去建立有效推理的网络。Wang et al. (2019)也考虑了用-dist神经元去代替点乘神经元,来加强模型的非线性和表达能力。尽管-dist网络看起来和这种差不多,但它是为了完全不同的问题设计的,事实上-dist神经元不能为范数约束的扰动提供任何鲁棒保证,更多讨论见附录C。

3.-dist Network and its Robustness Guarantee

3.1 Preliminaries

Consider a standard classification task. Suppose we have an underlying data distribution over pairs of examples and corresponding labels where M is the number of classes. Usually D is unknown and we can only access a training set in which is i.i.d. drawn from . Let be the classifier of interest that maps any to .

为中心,不改变预测的球的最大半径称为其robust radius

image-20211129155343917

但是计算一个标准DNN的 robust radius 是很难的,已经证明了计算ReLU的DNN的这种半径是NP-hard问题。于是研究者开始寻求对于常规的紧致 lower bound ,称之为 certified radius ,记作,对于任意f, x, y, 都有

3.2 Networks with -dist Neurons

image-20211129160437779

-dist neuron:

, (2)

where is the parameter set (see Figure 1 for an illustration).

因为它计算了间的距离再加,因此是非线性的,因此不需要再加非线性的激活函数

Remark 3.1.

传统网络用点乘来表示 之间的相似性,距离也是一种相似的测量。注意是非负的,更小的距离代表着更强的相似性
对于分类任务,我们使用最后一层layer的负数$g(x)=(-x^{(L)}1, -x^{(L)}_2,…, -x^{(L)}_M)f(x) = argmax{i\in[M]}g_i(x)$。然后和传统网络一样接上标准损失函数,例如cross-entropy loss或hinge loss

3.3 Lipschitz and Robustness Facts about -dist Nets

通过简单直接的证明,说明了这样的-norm下1-Lipschitz的。因此也直接约束了certified radius

Fact 3.6.

定义中最大与第二大元素的差值,那么对于任何满足, 都有

因此,我们仅需一次前传即可确定任意大小网络的
鲁棒性,而不像现有的其他确定方法会受到poor scalability(基于线性松弛的方法)或者维数curse(randomized smoothing)的影响

4. Theoretical Properties of -dist Nets

一个模型的表达能力和泛化性是ml中最重要的。我们将证明网络可以近似任意1-Lipschitz函数(-norm)并且保证robust test error的泛化性。以二分类情况为例,省略的证明见附录A。

4.1 Lipschitz-Universal Approximation of -dist Nets

对于任意的1-Lipschitz目标函数网络可以近似出, where

而这样的函数可由其他可直接由网络产生的函数组合而成。

4.2 Bounding Robust Test Error of -dist Nets

分类器-robust test error 定义为

image-20211201150136397

那么可被网络的size和 training data 上的边缘误差约束住上界,我们有

image-20211201150538912

理论4.2说明了当在训练集中得到一个大边界(large margin)的分类器,并且网络size不是太大时,我们模型有很大概率可以在对抗鲁棒性上得到好的泛化,而且我们这一泛化边界不会像普通的Lipschitz模型一样受到输入维度的影响。

5. Training -dist Nets

基于先前的理论,我们想做到的是在训练集中达成一个大边界的解,于是我们使用了标准的多分类的hinge loss,因为该 loss 几乎处处可微,所以可以使用任何基于梯度的优化方法。

但是我们发现实际上优化很难做,像batch-normalization这样的传统方法会伤害网络的鲁棒性,接下来分析优化困难处,并提出一系列优化策略。

5.1 Normalization

-dist nets与传统网络最大不同在于,随机参数初始化下的线性layer的输出是无偏的(期望上均值为0),而-dist neuron的输出是有偏的(假设没有bias项,总是非负的)。事实上,对一个用标准高斯分布初始化的权重向量来说,0输入喂给网络后,在第一层期望输出可近似为,这样会使得后续layer的输出线性增加

normalization是将layer输出范围控制住的有效方法,batch-normalization使用shift和scale操作特征值,是训练DNN的重要组件,但是batch-normalization在网络中会改变Lipschitz常数,伤害鲁棒性。

不过我们发现只使用shift操作就能帮助优化,因此我们在所有的中间层计算完距离后进行shift操作,移除了bias项,因为它们现在冗余了,而最后一层不做normalization。像batch-normalization一样,我们在推断时使用 running mean ,其可作为额外的bias项生效并且不会改变Lipschitz常数。

5.2 Smoothed Approximated Gradients

的梯度 (i.e., and )是非常稀疏的,一般只有一个非零元素。如果我们随机初始化然后用SGM/Adam的话,一次epoch只有少于1%的参数会被更新。

于是我们在整个网络上使用-dist neuron取得近似且非稀疏的参数梯度。最开始把 p 设为一个很小的值,在每一次iteration中增加它直到逼近无穷。在最后几次epoch,我们将 p 设为无穷并train到最后。实验中这一方法很好地提升了模型表现。

5.3 Parameter Initialization

我们发现深层模型的 training accuracy 表现劣于浅层模型,Kaiming提出ResNet,用 identity mapping 解决了这一问题。根据附录A的命题A.2,有着初始化恰当的weights和biases的-dist layer也能表现出 identity mapping 的能力,那么更深的网络就能表现的和浅层一样了。

具体来说,对于一个有着相同输入-输出维度的 layer,我们首先用标准高斯分布初始化,再将对角元素(i.e. in Definition 3.2) 修改为一个很大的负数,在实验中我们设为。在应用了shift normalization后我们不需要bias,running mean 自动地产生了 identity mapping。

5.4 Weight Decay

权重衰减会劣化网络表现,可能是因为正则化与网络不兼容。

传统网络使用点乘,权重上加以范数约束能直接控制输出大小的scale,但是距离操作使得权重向量的范数不会与输出scale相对应,应该使用范数正则化。In fact, we have , analogous to .

-dist神经元的训练中,我们也对应地使用范数正则化。对应的权重衰减公式如下:

image-20211201201321076

当p趋于无穷,权重衰减倾向于只对绝对值最大的生效

6. Certified Robustness by Using -dist Nets as Robust Feature Extractors

当我们只在特定的流形(例如真实图像流形)需要Lipschitz性时,网络的约束过强了(有没有考虑过是你网络表达和泛化能力太差的原因呢❤)所以我们在网络 后面加个浅层MLP 上去,网络负责提取鲁棒特征,让后面的哥们干事。

因为网络是纯纯的鲁棒,所以确定鲁棒性取决于后面的MLP,这里用之前的IBP这样的凸松弛方法就行,实验里用的就是IBP,也可以考虑用CROWN-IBP。

After obtaining the bound, we can set it as the training objective function to train the neural network parameters, similar to Gowal et al. (2018); Zhang et al. (2020b).这段没看懂

7. Experiments & Results

对比

用同样超参跑8次的平均值

image-20211203185431777

模型细节

image-20211201204613397

As for the loss function, we use multi-class hinge loss for ∞-dist Net and the IBP loss (Gowal et al., 2018) for ∞-dist Net+MLP

比较有意思的是把 neuron做成CNN以后表现基本不变

image-20211203185352604