Loading... ## NN robustness ![NN robustness Definition](/usr/uploads/2022/04/2697860995.png) ## Robustness verification *Robustness verification*: 证明NN模型抵御任何对抗性样例模型性能的下界($\mathcal{M}$). **Robustness Verifucation as Optimization**: 给定一个NN: $f_\theta: \mathcal{X} \to \mathbb{R}^C$, 输入样本: $x_0 \in \mathcal{X}$, 样本标签: $y^\ast$ 和目标标签 $y^\text{targ}, y^\text{targ} \neq y^\ast$, 噪声: $\epsilon$, 优化问题为: $$ \mathcal{M}(y^\ast, y^\text{targ}) = \min_x f_\theta(x)_{y^\ast} - f_\theta(x)_{y^\text{targ}}, \\ \mathrm{ s.t. } x \in B_{p,\epsilon}(x_0) $$ 目前验证有两种主要的方法: **确定性方法验证** 和 **概率方法验证**. 给定一个非鲁棒的输入进行攻击, 确定性方法能够保证模型能够识别出这种输入, 而概率验证方法则是保证在一定概率下该能够验证成功. ## 确定性方法(Deterministic Approaches) > 模型验证方法认为输入 $x$是非鲁棒的, 当且仅当 $x$ 为非鲁棒时, 该方法为**完全验证**, 否则为**不完全验证**. ### 完全验证 (Complete Verification) 完全验证通常基于激活函数, 对于一个基于ReLU的神经元, 如果输入 $x < 0$, 则称为 *inactive*; 否则称为 *active*. 如果能够保证输入 $x < 0 \text{ or } x > 0$, 则称该神经元 *stable*; 否则称为 *unstable*. 当神经元stable时, 就可以用常数线性映射ReLU函数: $y=x \text{ or } y=0$ - Branch and Bound 验证问题本质上是一个非线性优化问题, 且非线性主要来源于非线性激活函数. 该方法首先对ReLU函数进行松弛, 并且得到一个下界. 如果下界非负则可以直接进行验证; 如果不是则将unstable的神经元为两个stable的子问题(always active and inactive) 进行分别求解. 最坏情况下需要指数时间, 因此这种验证方法需要严格控制模型的尺寸. > Reluplex[^1], Reluval[^2] - MILP Based 把模型鲁棒性看作混合整数线性规划问题进行建模. MILP可以不用对模型进行松弛就可以进行验证. MILP 求解器可以寻找神经元输出最紧的(tightest)的上下界 $l, u$, 通过 $l,u$ 提高现有验证方法的严密性. 部分MILP求解器可以通过完全鲁棒性验证应用于大多数网络, 处理较大的数据集(CIFAR-10) > Sherlock[^3], Gurobi[^4] ### 不完全验证 (Incomplete Verification) 通常完整验证存在 *scalability barrier*, 对于较大的模型(10000-100000个神经元)和数据集例如CIFAR-10, 通常无法计算或者耗时较长, 而不完全验证比较快. #### Linear Relaxation (线性松弛) 所有基于Linear Relaxation需要对每个神经元计算上下界 $l_{i,j}$, $u_{i,j}$, 然后计算其over-approximation bound. 如果超对抗空间内的所有输入 $x$ 都能通过NN $f$ 得到正确输出, 则证明模型对原始输入空间是鲁棒的. ![Linear Relaxation](/usr/uploads/2022/04/983874478.png) - Linear Programming [^5] [^6] [^5]提出了通过LP-full的方法, 只通过每个神经元计算上下界 $l_{i,j}$, $u_{i,j}$, 就可以得到模型理论最紧的结果. 通过对每个神经元函数的松弛, 再对LP问题进行求解. 缺点是LP问题求解仍然存在耗时较长的问题, 同时其可证明鲁棒性边界比完全验证要小1.5-2倍. - Linear Inequality Propagation (线性不等式传播) [^7] [^8] 不同于LP方法, Linear Inequality Propagation将这个Lp的两个下界($y=0 \text{ or } y=x$) 变成了一个下界, 从而避免了求解LP问题, 因为只有单一下界可以有效地通过Layer进行传播 - Interval Bound Propagation (interval arithmetic, 区间传播) [^9] [^10] 直接且更加宽松的方法. 通过神经网络层直接传播 $l, u$。 IBP直接使用数值 $[l_i, u_i]$ 通过特定方法, 计算经过Layer后的上下界 $[l_{i+1}, u_{i+1}]$. 这种方法拥有较高的效率, 可以应用于ImageNet且有较高的效率 - Linear Dual [^11] [^12] 因为可以将鲁棒性验证看作是一种优化问题, 并且该优化问题是求一个最小问题, 因此通过转化为对偶问题得到的对偶解可以转换为原问题的解, 即下界. 因为对偶问题是凸问题, 而原问题是高度非凸的, 因此需要将原问题转化为匪徒问题. 首先对ReLU函数进行松弛, 将问题转化为LP问题, 此时, 对抗空间转化为了非凸问题, 此时, 通过将原问题转化为对偶问题进行计算即可得到解. - Hybrid Approaches [^13] 将IBP和线性不等式传播进行结合[^13], 或者将线性松弛和完全验证方法进行验证[^2]. 期望在效率和结果之间得到权衡. - Robust Training: 通过鲁棒训练的方法去训练神经网络, 使NN拥有更好的鲁棒性保证. - Certified adversarial training [^14]: 从对抗性训练扩展而来的, adversarial training 通过解决Min-Max问题 $\min_\theta \max l(f_\theta(x), y_0)$. - Combine adversarial training with regular training loss[^15]: 以提高clean accuracy为目标, 可以和对抗性损失函数相结合以提高鲁棒性 - Penalize over-approximation or unstable neurons - Transferability-based training[^16]: 从一个模型中提取训练一个新的模型, 也可以互相引用, 互相训练以提高模型的准确. #### Lipschitz & Curvature ![Lipschitz & Curvature](/usr/uploads/2022/04/3505290609.png) [^17] ## 概率方法 (Randomized-Smoothing Based Approaches) 通过添加随机噪声来平滑模型, 并推导出经验证的模型鲁棒性. 这种方法通过噪声平滑的为模型提供了概率鲁棒性保证. - Differential Privacy [^18] - Neyman-Pearson Based - Robust Training ### 模型 - ACAS -> 小型的ACAS通常用在完全验证方法 - MNIST - CIFAR-10 -> 较大 - ImageNet -> 较大 [^1]: Reluplex: An Efficient SMT Solver for Verifying Deep Neural Networks [^2]: Formal Security Analysis of Neural Networks using Symbolic Intervals [^3]: Output Range Analysis for Deep Neural Networks [^4]: Graph clustering with Boltzmann machines [^5]: A Convex Relaxation Barrier to Tight Robustness Verification of Neural Networks [^6]: The Convex Relaxation Barrier, Revisited: Tightened Single-Neuron Relaxations for Neural Network Verification [^7]: Efficient Neural Network Robustness Certification with General Activation Functions [^8]: An abstract domain for certifying neural networks [^9]: AI2: Safety and Robustness Certification of Neural Networks with Abstract Interpretation [^10]: Scalable Verified Training for Provably Robust Image Classification [^11]: Provable Defenses against Adversarial Examples via the Convex Outer Adversarial Polytope [^12]: Scaling provable adversarial defenses [^13]: Towards Stable and Efficient Training of Verifiably Robust Neural Networks [^14]: Provable Defenses against Adversarial Examples via the Convex Outer Adversarial Polytope [^15]: Scalable Verified Training for Provably Robust Image Classification [^16]: Robustra: Training Provable Robust Neural Networks over Reference Adversarial Space [^17]: Intriguing properties of neural networks [^18]: Certified Robustness to Adversarial Examples with Differential Privacy 最后修改:2022 年 04 月 24 日 © 允许规范转载 赞 0 如果觉得我的文章对你有用,请随意赞赏