摘要
在大数据时代下,深度学习理论和技术取得的突破性进展,为人工智能提供了数据和算法层面的强有力 支撑,同时促进了深度学习的规模化和产业化发展.然而,尽管深度学习模型在现实应用中有着出色的表现,但 其本身仍然面临着诸多的安全威胁.为了构建安全可靠的深度学习系统,消除深度学习模型在实际部署应用中的潜在安全风险,深度学习模型鲁棒性分析问题吸引了学术界和工业界的广泛关注,一大批学者分别从精确和近似的角度对深度学习模型鲁棒性(Robustness,亦称稳健性、可靠性)问题进行了深入的研究,并且提出了一系列的模型鲁棒性量化分析方法。
在本综述中,我们回顾了深度学习模型鲁棒性分析当前所面临的挑战,并对现有的研究工作进行了系统的总结和科学的归纳,同时明确了当前研究的优势和不足,最后探讨了深度学习模型鲁棒性研究以及未来潜在的研究方向.
1 引言
受益于计算力和智能设备的飞速发展,全世界正在经历第三次人工智能浪潮。人工智能以计算机 视觉、序列处理、智能决策等技术为核心在各个应 用领域展开,并延伸到人类生活的方方面面,包括 自适应控制[1]、模式识别[2]、游戏[3]以及自动驾驶[4] 等安全攸关型应用。例如,无人驾驶飞机防撞系统 (Aircraft Collision Avoidance System, ACAS)使用 深度神经网络根据附近入侵者飞机的位置和速度 来预测最佳行动。然而,尽管深度神经网络已经显 示出解决复杂问题的有效性和强大能力,但它们仅 限于仅满足最低安全完整性级别的系统,因此它们 在安全关键型环境中的采用仍受到限制,主要原因 在于在大多数情况下神经网络模型被视为无法对 其预测行为进行合理解释的黑匣子,并且在理论上难以证明其性质。
随着深度学习的对抗攻击领域日益广泛,对抗样本的危险性日益凸显[7,12,13],即通过向正常样例中添加精细设计的、人类无法感知的扰动达到不干 扰人类认知却能使机器学习模型做出错误判断。以图像分类任务为例,如图 1 所示,原始样本以 57.7% 的置信度被模型分类为“熊猫”,而添加对抗扰动之 后得到的样本则以 99.3%的置信度被错误地分类为 “长臂猿”,然而对于人而言,对抗样本依然会被 视为熊猫。由于这种细微的扰动通常是人眼难以分辨的,因而使得攻击隐蔽性极强、危害性极大,给 ACAS 等安全攸关型应用中部署的深度学习模型带 来了巨大的安全威胁。
为了防御对抗样本攻击,研究者进行了一系列的防御方法探索[5-11]。然而,即使是被广泛认可并且迄今为止最成功的ℓ∞防御[5],它的ℓ0鲁棒性比未防御的网络还低,并且仍然极易受到ℓ2的扰动影响[14]。这些结果表明,仅对对抗攻击进行经验性的防御无法保证模型的鲁棒性得到实质性的提升,模型的鲁棒性需要一个定量的、有理论保证的指标进行评估。因此,如果要将深度学习模型部署到诸如自 动驾驶汽车等安全攸关型应用中,我们需要为模型 的鲁棒性提供理论上的安全保证,即计算模型的鲁 棒性边界。模型鲁棒性边界是针对某个具体样本而 言的,是保证模型预测正确的条件下样本的最大可 扰动范围,即模型对这个样本的分类决策不会在这 个边界内变化。具体地,令输入样本𝑥的维度为𝑑, 输出类别的个数为𝐾,神经网络模型为𝑓: ℝ𝑑 → ℝ𝐾, 输入样本的类别为 𝑐 = 𝑎𝑟𝑔𝑚𝑎𝑥 𝑓𝑗 𝑥 ,𝑗 = 1,2, … ,𝐾,在ℓ𝑝空间假设下,模型对𝑥提供ϵ-鲁棒性 保证表明模型对𝑥的分类决策不会在这个样本ℓ𝑝空 间周围ϵ大小内变化。
在本文中,我们首先阐述了深度学习模型鲁棒性分析现存的问题与挑战,然后从精确与近似两个角度对现有的鲁棒性分析方法进行系统的总结和科学的归纳,并讨论了相关研究的局限性。最后,我们讨论了深度学习模型鲁棒性分析问题未来的研究方向。
2 问题与挑战
目前,深度神经网络的鲁棒性分析问题的挑战主要集中在以下几个方面:
(1)神经网络的非线性特点。由于非线性激 活函数和复杂结构的存在,深度神经网络具有非线 性、非凸性的特点,因此很难估计其输出范围,并 且验证分段线性神经网络的简单特性也已被证明 是 NP 完全问题[15]。这一问题的难点在于深度神经 网络中非线性激活函数的存在。具体地,深度神经 网络的每一层由一组神经元构成,每个神经元的值 是通过计算来自上一层神经元的值的线性组合,然 后将激活函数应用于这一线性组合。由于这些激活 函数是非线性的,因此这一过程是非凸的。以应用 最为广泛的激活函数 ReLU 为例,当 ReLU 函数应 用于具有正值的节点时,它将返回不变的值,但是 当该值为负时,ReLU 函数将返回 0。然而,使用 ReLU 验证 DNN 属性的方法不得不做出显著简化 的假设,例如仅考虑所有 ReLU 都固定为正值或 0 的区域[16]。直到最近,研究人员才能够基于可满足 性模理论等形式方法,对最简单的 ReLU 分段线性 神经网络进行了初步验证[15,21]。由于可满足性模理 论求解器难以处理非线性运算,因此基于可满足性 模理论的方法通常只适用于激活函数为分段线性的神经网络,无法扩展到具有其它类型激活函数的神经网络。
(2)神经网络的大规模特点。在实际应用中, 性能表现优秀的神经网络通常具有大规模的特点。因此,尽管每个 ReLU 节点的线性区域可以划分为 两个线性约束并有效地进行验证,但是由于线性片 段的总数与网络中节点的数量成指数增长[17,18],对 整个网络进行精确验证是非常困难的。这是因为对 于任何大型网络,其所有组合的详尽枚举极其昂 贵,很难准确估计输出范围。此外,基于可满足性 模理论的方法严重受到求解器效率的限制,仅能处 理非常小的网络(例如,只有 10 到 20 个隐藏节点 的单个隐藏层[20]),无法扩展到大多数现实世界中 的大型网络,而基于采样的推理技术(例如黑盒蒙 特卡洛采样)也需要大量数据才能在决策边界上生 成严格的准确边界[19]。
总之,由于不同学者所处的研究领域不同,解 决问题的角度不同,所提出的鲁棒性分析方法也各 有侧重,因此亟需对现有的研究工作进行系统的整 理和科学的归纳、总结、分析。典型的模型鲁棒性 分析方法总结如表 1 所示。目前的模型鲁棒性分析 方法主要分为两大类:
(1)精确方法:可以证明精 确的鲁棒性边界,但计算复杂度高,在最坏情况下 计算复杂度相对于网络规模是成指数增长的,因此 通常只适用于极小规模的神经网络;
(2)近似方法:效率高、能够扩展到复杂神经网络,但只能证明近似的鲁棒性边界。
3 精确方法
精确方法主要是基于离散优化 (DiscreteOptimization)理论来形式化验证神经网 络中某些属性对于任何可能的输入的可行性,即利 用可满足性模理论(Satisfiability Modulo Theories, SMT)或混合整数线性规划(Mixed Integer Linear Programming, MILP)来解决此类形式验证问题。这 类方法通常是通过利用 ReLU 的分段线性特性并在 搜索可行解时尝试逐渐满足它们施加的约束来实 现的。图 2 梳理了典型模型鲁棒性精确分析方法的 相关研究工作。
3.1 基于可满足性模理论的方法
Katz等人提出具有实数算术原理的SMT求解器Reluplex[15],通过扩展单纯形(simplex)算法(用于解决LP实例的标准算法)以支持ReLU约束,并验证了激活函数为ReLU的前馈神经网络的鲁棒性。虽然他们使用了线性规划作为与SMT的比较,但没有提到对线性规划的任何优化方法。此外,这种方法效率非常低,对于一个约含100个神经元的小规模网络来说,计算一个样本至少需要若干个小时。因此,虽然Reluplex可以形式上地验证神经网络的一些特性,但由于计算成本太高,无法扩展到实际模型中。此外,Reluplex通过将ReLU网络描述为一个分段线性函数来进行分析,它使用一个矩阵乘法都为线性的理论模型。但实际上,由于浮点算法的存在,计算机上的矩阵乘法并非线性的。
Huang等人[22]研究了图像分类器的安全性,例如划痕、相机角度或照明条件的变化对分类结果造成的影响,以及在原始图像的较小邻域内的分类不变性。他们为前馈多层神经网络开发了一种新的自动验证框架,利用SMT将输入样本周围的无限区域离散到一组点,然后在这个区域内进行有限穷举搜索并逐层传播分析,以验证神经网络的局部鲁棒性。Ehlers等人[21]考虑了整个神经网络的全局线性逼近,并使用整数算法来提升SMT线性逼近范围的精确性,减少了SMT求解器的调用次数。
Narodytska等人[49]研究了二值神经网络(Binarized Neural Networks)[50]的鲁棒性验证问题,将二值神经网络编码为布尔公式,然后利用布尔可满足性(Boolean Satisfiability,SAT)问题的典型求解方法进行求解,或是基于反例引导(counterexample-guided)搜索的思想,更有效地利用这些编码的结构来求解最终的SAT公式[51]。这种编码是深度神经网络的第一个精确布尔表示,不依赖于网络结构的任何近似值,这意味着这种编码使我们能够通过研究SAT域中的相似属性来研究BNN的属性,并且将这些属性从SAT映射回神经网络域是精确的。但是这种方法只适用于二值神经网络,难以扩展到其他类型的神经网络。
然而,这些基于SMT的方法具有很高的计算复杂度,仅对非常小的网络才有意义。此外,由于SMT难以处理非线性运算,因此基于SMT的方法通常只适用于激活函数为分段线性的神经网络。
3.2 基于混合整数线性规划的方法
Cheng等人[52]将计算模型鲁棒性边界的问题形式化为混合整数规划(MixedIntegerProgramming,MIP)问题,并且设计了一系列启发式算法进行网络函数的编码,以大大减少MIP求解器的运行时间。具体地,他们利用基于分支定界算法的MIP求解器处理含有整数变量的非线性函数的编码,利用著名的big-M编码策略[53]的变体将许多非线性表达式线性化。此外,他们还定义了一个数据流分析[54],该数据流分析用于生成相对较小的big-M作为加速MIP解决的基础。
Lomuscio等人[55]研究了ReLU前馈神经网络的可达性问题,并将其形式化为线性规划问题求解。具体地,他们提出的方法能够检查一个特定的输出,比如一个漏洞,是否能够由一个给定的神经网络产生,而对抗样本则可以被视为一种特殊的可达性情况,在这种情况下输入集相对于特定输入是受限的,因此他们提出的公式具有一定的通用性。特别地,他们对线性规划中的浮点运算处理方式进行优化,并采用了一种较为高效的线性规划求解方法,相比于Reluplex[15]中作为对比的线性规划方法效率大大提升。例如,Reluplex只能分析最多300个ReLU约束条件,而他们的方法能够轻松处理500多个ReLU约束条件。Xiang等人[56]研究了多层感知机(Multi-LayerPerception,MLP)的可达性问题和鲁棒验证问题,基于仿真验证思想[57],利用大量仿真结果中的信息估计MLP的输出可达集并进行鲁棒性验证。具体地,他们引入了称为最大灵敏度的概念,对于激活函数为单调函数的一类多层感知机,将最大灵敏度的计算公式形式化为一组凸优化问题,然后通过解决凸优化问题来计算最大灵敏度。然后,利用结果获得最大灵敏度,通过检查有限数量的MLP采样输入的最大灵敏度属性来执行MLP的可达集合估计。最后,基于输出可达集的估计结果开发了一个自动验证MLP的方法,并介绍了安全验证在具有两个关节的机器人手臂模型中的应用。
Bunel等人[58]利用分支定界理论[59]将现有方法纳入到一个统一框架中,收集并公开了一个基准数据集(benchmark),其中包含现有方法所用到的测试用例以及新的benchmark,并使用这一基准数据集对现有算法进行首次大规模实验比较。在此框架的基础上,他们发现了验证算法的可改进之处,特别是在计算边界的方式、考虑的分支类型以及指导分支的策略上。与先前的技术相比,这些改进实现了将近两个数量级的加速。
Tjeng等人[23]将分段线性神经网络的鲁棒性验证问题形式化为混合整数线性规划问题,通过精心设计的预求解方法和有效的剪枝算法显著地减少了搜索空间,相比于基于SMT的方法计算速度提升了若干个数量级,因此可以用于计算含有超100,000个神经元的神经网络的鲁棒边界。特别地,他们首次证明了MNIST分类器在有界ℓ∞范数=0。1扰动下的精确对抗精度:4。38%的测试样本在这个扰动范围内至少存在一个对抗样本,而其余测试样本在这个扰动范围内是鲁棒的,即不存在对抗样本。
虽然这类方法在小规模网络上取得了不错的结果,但是将它们扩展到更大规模的网络仍然是一个极具挑战性的问题。此外,这种方法也只适用于分段线性神经网络,即神经网络中只包含最大池化层和ReLU激活函数这两种非线性形式。
4 近似方法
由于在ℓ𝑝 − 𝑏𝑎𝑙𝑙假设空间内,对于激活函数为 ReLU 的神经网络,计算其精确的鲁棒性边界是一 个 NP 完备(NP-Complete,NPC)问题[15],因此大 多数研究者通常利用近似方法计算模型鲁棒性边 界的下界,下文提到模型鲁棒性边界时通常也指的 是这个下界。此外,对抗攻击[12]可以得到模型鲁棒 性边界的上界[24]。因此,精确的模型鲁棒性边界可 以由上界和下界共同逼近。这类方法通常基于鲁棒 优化思想,通过解决公式(1)的内层最大化问题 来估计模型鲁棒性边界:
其中,𝑥代表正常样本,𝑥 代表对抗样本,𝐷𝑘 (𝑥)代 表对抗样本可能存在的范围,𝑦代表样本真实标签, 𝑓𝜃代表以θ为参数的模型,𝐿代表损失函数。图 3 梳 理了典型模型鲁棒性近似分析方法的相关研究工 作。
4.1 基于凸松弛的方法
Wong等人[26]采用凸多面体松弛方法来计算在范数有界扰动下的模型鲁棒边界,并将其形式化为一个线性规划问题求解。如图4所示,左图中黑色的点代表原始样本,正方形表示可扰动范围,即对抗样本可能存在的区域。经过神经网络的层层计算之后,正方形变成了非凸的多边形,因此他们的主要思想是求多边形边框的凸近似,将非凸优化转换成凸优化问题。此外,他们证明了该线性规划的对偶问题可以用与反向传播网络相似的深层网络表示,从而提出了一种非常有效的优化方法,给出了有理论保证的鲁棒边界。但是,这种方法只讨论了 ReLU这一种分段线性激活函数和最简单的前馈神经网络,未考虑其他类型尤其是非线性激活函数,也并未考虑带有卷积层或残差结构的复杂神经网络。并且,这种方法计算复杂度较高,在最坏情况下计算复杂度与神经元的个数成平方,因此也不适用于在ImageNet等大规模数据集上训练的大型神经网络。
为了克服上述挑战,Wong等人[60]改进了上述方法,将其扩展到了带有卷积层或残差结构的复杂神经网络,并且神经网络的激活函数不再局限于ReLU。具体地,他们采用了非线性随机投影(RandomProjection)理论[61],提出了一种基于共轭函数的、从对偶结构中派生对偶网络的方法,使得算法的计算复杂度降低至与网络的神经元个数成线性关系。与[26]提出的共轭形式不同的是,[60]不再假设网络由线性操作和激活函数组成,而是选择使用任意k函数序列,这简化了对典型神经网络架构中常见的最大池化(maxpooling)等非线性激活函数的分析。其次,[60]中神经网络的隐藏层不仅依赖于前一层,还依赖于前一层的所有层,因此这种方法适用于具有任意跳跃连接(skipconnection)的网络,例如残差(residual)网络和稠密(dense)网络。但是,这种方法仍然不适用于在ImageNet等大规模数据集上训练的大型神经网络。
4.2 基于抽象解释的方法
这一类方法使用抽象解释(AbstractInterpretation)[54]来验证具有分段线性激活的神经网络的鲁棒性,典型方法包括AI2[34]、DeepZ[35]、DiffAI[36]等。它们使用抽象域(AbstractDomain),即某些几何形状(例如box,zonotope,polytope等)的一组逻辑约束,来近似神经网络的输入层、隐藏层以及输出层,从而验证模型的鲁棒性。因此,广义上这种方法可以理解为在神经网络的前向传播中维持激活函数组合的松弛。
Pulina等人[68]最早将抽象解释理论应用于模型鲁棒性分析,但是他们的方法只在仅有6个神经元的网络上试验成功。为了将抽象解释应用于分析规模更大、更复杂的神经网络,Gehr等人提出了AI2[34],首先定义了zonotope抽象域以捕获所有潜在的对抗输入,然后为CNN的每个非线性操作创建了抽象转换器(AbstractTransformer),利用抽象转换器在目标CNN中传播抽象域,最后利用输出抽象域的范围来验证模型的鲁棒性。然而,AI2只适用于激活函数为ReLU的分段线性网络,并且它对ReLU函数的近似精度和效率都较低。为了扩展到其他类型的神经网络,Singh提出了DeepZ[35],其适用于激活函数为ReLU、Tanh、Sigmoid等类型的神经网络,并且能够处理ResNet等带有残差结构的模型。
为了进一步平衡精度和可扩展性,Mirman等人提出了如图5所示的包含一系列新型抽象转换器的DiffAI[36]并将其用于训练可验证鲁棒的模型,然后在后续的工作中[69]引入用于微调抽象精度和可扩展性的抽象层,以及用于描述将抽象损失与具体损失相结合的目标函数的领域专用语言(DomainSpecificLanguage,DSL),然后将其用于ResNet-34和DenseNet-100等大规模网络的鲁棒训练。这些方法都是采用zonotope作为抽象域,因此在精度方面存在天然缺陷。
为了克服这种缺陷,Singh 等人提 出 了 DeepPoly[37],将抽象域从之前的zonotope换成了新型的polyhedra,进一步提升了这类方法的精度与可扩展性。此外,Singh等人提出的 RefineAI[38],将抽象解释和混合整数线性规划结合起来,进一步提升了这类方法的精度。最近,Singh 等人提出k-ReLU[39],利用抽象解释近似神经网络时统一考虑多个 ReLU激活函数的输出而不是分开单独计算,并利用它们之间的相关性进一步提升相关方法的精度。
4.3 基于 Lipschitz常数的方法
这一类方法使用抽象解释(AbstractInterpretation)[54]来验证具有分段线性激
Szegedy等人[12]计算了每一层的全局Lipschitz常数,并使用其乘积来解释神经网络中的鲁棒性问题。具体地,令x 表示输入,Wk 为模型第 k层的参数,ϕ(x)为模型的输出,ϕk 为模型第k层的运算,即ϕ(x)=ϕK (ϕK-1(…ϕ1(x;W1);W2)… ;WK),那么ϕ(x)的不稳定性可以用每一层的 Lipschitz常数来表示,即 ∀x,r,
,其中Lk>0,k=1,2,… ,K。那么,神经网络的最终输出就满足||ϕ(x)-ϕ(x+r)||≤L||r||,其中L=
。然而,全局 Lipschitz常数给出的边界通常十分宽松。
为了得到更精确的边界,Hein & Andriushchenko[24]使用局部 Lipschitz连续条件给出了型鲁棒空间的边界:= maxR>0min{minj≠cfc(x)-fj(x)maxy∈Bp(x,R)||▽fc(y)- ▽fj(y)||q,R}, 其中p1+q1=1,Bp(x,R)= {y∈ ℝd |x-yp ≤R}。基于此,他们推导了只有一个隐藏层和softplus激活函 数 的 多 层 感 知 机 (Multi-Layer Perception,MLP)的闭合形式边界。然而,对于具有多个隐藏层的神经网络,这种方法很难得出闭合形式的边界。基于类似的思想,Croce等人[70]将[71]中针对ℓ2 范数和ℓ∞ 范数的方法扩展到了ℓp 范数,其中p ∈ [1,∞],证明了对决策边界的ℓ1 和ℓ∞ 范数的保证足以在所有ℓp 范数的鲁棒性上得出有意义的证明,并且这种保证与输入空间的大小无关。
Ruan等人提出了DeepGO[72],将神经网络的鲁棒空间分析转化为可达性问题,并利用自适应优化(AdaptiveOptimization)方法来解决这个可达性问题。由于网络和函数是Lipschitz连续的,即上下限之间的所有值都是可达的,因此对于给定的输入数据集,神经网络的鲁棒空间分析就可以转化为计算其输出值的Lipschitz连续函数的下限和上限。具体地,他们的方法不是直接将模型的参数以及激活函数转化为一系列线性约束条件,而是需要计算这个模型的Lipschitz常数。他们证明了不能直接转化为线性约束条件的隐藏层是Lipschitz连续的,并且通过分析激活函数和相应参数能够计算一个精确的Lipschitz常数。但是,他们只研究了最简单的前馈神经网络模型。
为了得到多层复杂神经网络模型的鲁棒边界,Weng等人[28]提出了Fast-Lin和Fast-Lip,其中Fast-Lip是基于一系列特有的边界自变量计算神经网络模型局部Lipschitz常数得到模型的鲁棒边界,并且可以在数十秒内完成对一个具有10,000以上神经元的7层神经网络的鲁棒边界计算。在小型网络上,这种方法比Reluplex快了10,000倍以上;在大型网络上,这种方法比基于线性规划的方法快了33~14,000倍。然而,这种方法只适用于具有ReLU激活函数的神经网络。为了适用于不同结构的神经网络模型,Weng等人[31]基于极值理论(ExtremeValueTheory,EVT),提出一种新型模型鲁棒性度量标准CLEVER(CrossLipschitz Extreme Valueforn EtworkRobustness),提供了将鲁棒边界分析转换为局部Lipschitz常数估计问题的理论依据。随后,Weng等人[73]又提出了对CLEVER的两个扩展:(1)将极值理论应用于新的形式鲁棒性保证,为可二次区分的分类函数提供了新的形式上的鲁棒性保证,估计的鲁棒性称为二阶CLEVER得分;(2)讨论了如何使用带有后向通过可微分逼近(Backward Pass Differentiable Approximation,BPDA)的CLEVER处理常见的梯度掩模(gradientmasking)防御技术。借助BPDA,CLEVER可以评估更广泛类别的神经网络的内在鲁棒性,例如具有不可微分输入转换的网络。
Latorre等人[74]提出了一种基于多项式优化问题(Polynomial Optimization Problem,POP)[75]松弛的计算神经网络Lipschitz常数上限的一种通用方法LiPopt,这种方法利用多项式不等式描述单位球(unitball),因此同时涵盖了ℓ2范数和ℓ∞范数。基于Weisser等人提出的定理[76],作者利用神经网络架构的稀疏连通性来推导一系列线性规划问题,并根据神经元的数量、网络的深度和稀疏性对此类LP问题进行渐进分析。
4.4 基于随机平滑的方法
虽然研究者提出了许多模型鲁棒边界分析方法,但是这些方法很少能够扩展到在ImageNet等极具挑战性的数据集上训练的大型神经网络,并且适用的模型种类也非常有限。为了解决这一问题,Lecuyer等人[32]提出了PixelDP,利用差分隐私和模型鲁棒性之间的联系首次提出了“随机平滑(RandomizedSmoothing)”这一概念,提供了对top-1预测进行随机平滑处理的鲁棒性保证。具体地,以测试阶段为例,对于给定的样本x,传统的神经网络分类模型将单次预测得到的argmax类别作为最终预测结果给出,即f(x)=argmaxfj(x),j=1,2,…,K,而随机平滑方法则是利用蒙特卡洛(MonteCarlo)估计方法,通过在样本x周围采样n个样本x1,x2,…,xn(相当于给x添加随机噪声)得到它们argmax类别的期望值并将其作为最终预测结果,即f^(x)=n1∑nf(xn)。Li等人[77]在高斯随机噪声的假设下,得出了模型鲁棒边界的表达形式:L=supα>1-2σ2αlog1-p(1)-p(2)+212(p1-α(1)+p1-α(2))11-α1/2,其中高斯噪声服从分布N(0,σ2),p(1)和p(2)分别是期望值第一和第二大的两个类别的概率值。但是,上述两种方法计算得到的鲁棒性边界十分宽松,并且没有实验证明它们适用于在ImageNet上训练的神经网络模型。
为了得到更精确的鲁棒性边界,Cohen等人[33]利用Neyman-Pearson引理获得了高斯随机噪声假设下的随机平滑的可验证ℓp-ball半径范围,即R=σ2(Φ-1p1-Φ-1p2),其中Φ-1是标准高斯函数累计分布函数(Cumulative Distribution Function,CDF)的逆函数,P(f(x+)=c1)≥p1≥p2≥maxc≠c1P(f(x+)=c)。这种方法得到的鲁棒性边界的精确度大幅度优于先前的方法[29,60,78],并且当ℓ2<127/255时,该方法在ImageNet数据集上实现了49%的可验证准确率。Pinot等人[79]进一步从理论上证明了随机平滑方法的有效性,并且给出了当噪声服从指数分布时经随机平滑处理的模型鲁棒性边界。Lee等人[80]对扰动的分布类型进行了扩展,从将[33]中的ℓ2范数连续空间假设扩展到ℓ0范数离散空间假设。此外,研究者还对噪声服从均匀分布[81]、多项式分布[82]假设的模型鲁棒性边界做了初步的探讨。
Salman等人[83]为随机平滑分类器设计了一种自适应攻击,并在对抗训练环境中使用这种攻击来增强平滑分类器的可证明的鲁棒性。Dvijotham等人[84]将这种思想扩展到了任意平滑方法,利用f散度证明了平滑分类器的鲁棒性。Salman等人[85]针对预训练模型提出了一种黑盒随机平滑的方法,通过在现有的图像分类模型之前添加降噪器并使用随机平滑得到新分类模型,在不修改预训练分类模型的情况下保证了对对抗样本具有ℓp鲁棒性,可用于保护Azure、Google、AWS和ClarifAI等图像分类API。Jia等人[86]考虑了在实际中应用更为广泛的top-k预测鲁棒性。Wang等人[87]和Maurice等人[88]基于随机平滑的思想研究了模型对后门攻击(backdoorattack)的鲁棒性。Mohapatra等人[89]首次指出了当前随机平滑方法的副作用:1)决策边界随着随机平滑预测规则的采用而缩小;2)增强噪音并不一定能解决边界收缩的问题,甚至会产生其他问题。
4.5 基于区间边界传播的方法
Gowal等人[40]首次提出了基于区间边界传播(IntervalBoundPropagation,IBP)思想[90]的可验证鲁棒神经网络训练方法,当输入数据在“∞范数限制的球内”被扰动时,IBP定义的损失函数以最小化任何一对对数之间的最大差的上界。与更复杂的方法[26,36,64]相比,IBP的速度非常快,其计算成本可与网络的两次前向传递相媲美,这使得这种方法具有很高的可扩展性。例如,Huang等人[43]证明IBP的思想还可用于分析自然语言处理模型的鲁棒性,Chiang等人[91]将IBP用于分析针对补丁(patch)型对抗攻击的模型鲁棒性。虽然这种方法在某些任务上明显优于基于线性松弛的方法,但是由于边界要宽松得多,因此存在稳定性问题。为了克服这一缺陷,Zhang等人通过组合前向传播的IBP边界[40]和后向传播基于紧线性松弛的边界CROWN[29],提出了一种新的具有鲁棒性保证的对抗训练方法CROWN-IBP[92],计算效率非常高,并且在训练可验证的鲁棒神经网络方面始终优于IBP方法。
最近,Wang等人提出了ReluVal[93],利用符号区间传播的方法来验证模型的鲁棒性。图6展示了传统区间传播方法与符号区间传播方法之间的差别。从图6中我们可以看出,传统区间传播方法的输出间隔非常宽松,因为它忽略了输入变量的相互依赖关系,而使用符号区间分析则可以跟踪变量之间的依赖关系,因此计算得到的边界会更加精确。然而,这种方法的计算复杂度较高,因此只适用于只具有几个隐藏层的小规模简单神经网络,难以扩展到实际中的复杂大规模神经网络。在后续的工作中[94],Wang等人进一步优化了对 ReLU 非线性激活函数的松弛方法,得到了更紧密的鲁棒性边界。
4.6 基于概率的方法
与最坏情况下的模型鲁棒性验证方法相比,在概率环境中研究神经网络验证的工作相对较少[95-98]。Mangal等人[95]认为大多数现有的鲁棒性定义都集中在最不利的情况下,这种鲁棒性的概念太强了,不太可能被实用的神经网络所满足和验证。因此,他们根据输入空间在实际中的潜在非对抗性概率分布来生成神经网络的输入,并且只研究非对抗环境下神经网络对可能在现实世界中生成的对抗输入的鲁棒性。他们提出了一种新的鲁棒性概念———概率鲁棒性,它要求神经网络对输入分布的鲁棒性至少应为1-ε概率。基于此,他们提出了一种基于抽象解释和重要性采样(importancesampling)的用于验证神经网络是否具有概率鲁棒性的算法。具体地,他们首先用抽象解释来近似神经网络的行为,并计算违反鲁棒性的输入区域的过度近似,然后使用重要性采样来抵消这种过度近似的影响,并计算出神经网络违反鲁棒性的概率的准确估计。
基于类似的思想,Weng等人提出了PROVEN[96],研究了在扰动遵循特定的概率分布时模型的概率鲁棒性,从统计意义上提供了对任意的有界ℓp扰动,模型的top-1预测结果不会改变的概率保证。此外,他们表明有可能基于当前最新的神经网络鲁棒性验证框架来得出封闭形式的概率证明,因此当从现有方法(例如Fast-Lin[28],CROWN[29]和CNN-Cert[30])获得最坏情况下的经过认证的鲁棒性边界时,PROVEN提供的概率保证能够自然而然地、以几乎没有其他计算代价的方式产生。在小型和大型MNIST和CIFAR神经网络模型上进行的实验表明,与CROWN提供的最坏情况的鲁棒性证书相比,PROVEN可以将鲁棒性证书的性能提高多达75%左右,至少达到99.99%。
Fazlyab等人[97]假设输入不确定性是随机且无限的,这种随机不确定性可能是由于数据量化、输入预处理或环境背景噪声等因素导致的[96],并在这种设定条件下研究了两个模型鲁棒性相关的问题:(i)概率安全验证,即给定神经网络输出空间中的安全区域,估计当神经网络的输入受到均值和协方差已知的随机噪声干扰时,其输出将处于安全区域的可能性;(ii)置信度椭球估计,即给定神经网络输入的置信度椭球,估计输出的置信度椭球。由于存在非线性激活函数,因此很难精确地解决这两个问题。为了简化分析,他们的主要思想是通过将非线性激活函数强加于它们的输入-输出对的抽象和二次约束的组合来抽象它们,然后使用SDP来分析满足原始网络安全性的抽象网络的安全性,为神经网络的输出提供统计保证。
4.7 基于控制论的方法
Wang等人[99]研究了如何将静态神经网络验证工具与鲁棒控制理论相结合,以在控制回路中对神经网络鲁棒性进行验证。具体地,给出一个充分的条件和一种算法,他们确保当对抗扰动为∞范数有界时,闭环状态和控制约束得到满足。他们的方法基于闭环动力系统的一个正不变集,因此不需要神经网络满足可微性或连续性。在车杆控制(cartpolecontrol)问题上,这种方法证明的神经网络鲁棒性与传统的基于Lipschitz常数的方法相比要好5倍。
Carr等人[100]通过集成形式化方法和机器学习技术,提出了一种从RNN中自动提取有限状态控制器(finite-statecontroller,FSC)的方法,当与有限状态系统模型组成时,该状态控制器适用于现有的模型鲁棒性形式化验证工具。具体地,他们对quantizedbottleneckinsertion技术进行了迭代修改,以创建FSC作为具有内存的随机策略。对于FSC无法满足规范的情况,他们利用诊断信息来调整提取的FSC中的内存量或重新训练RNN。
Wang等人[101]将运输方程的最优控制理论与ResNets的训练和测试实践相统一,并基于这种统一的观点提出了一种简单而有效的ResNets集成算法,以提高在干净图像和对抗图像上经过严格训练的模型的准确性。所提出的算法包括两个部分:首先,通过将方差指定的高斯噪声注入每个残差映射的输出来修改基础的ResNet;其次,对多个协同训练的经过修改的ResNet的生产进行平均,以获得最终预测。
综上,典型的模型鲁棒性分析方法优缺点总结如表2所示。
5 未来研究方向
本文介绍了模型鲁棒性分析问题的背景与挑战,探讨了相关定义,进而对目前主流的模型鲁棒性方法与性能做了介绍。从目前已有的相关方法来 看,我们认为今后对模型鲁棒性分析方法的研究, 将主要围绕以下几个方向展开:
(1)进一步拓展对抗扰动的类型。从攻击者 添加扰动的类型来看,现存的大多数模型鲁棒性方 法都是针对在像素点上添加扰动的对抗攻击进行 的鲁棒性分析,然而在实际中,对抗性图像有可能 经过旋转、缩放等几何变换,而现存大多数方法无 法扩展到此类变换。虽然 Balunovic 等人提出的 DeepG[102]初步尝试了将抽象解释的思想用于分析 几何变换对抗攻击的模型鲁棒性空间,但是这个方 向仍然值得更多深入研究,进一步提升精度和可扩展性。
(2)不同鲁棒性类型之间的平衡。输入样本𝑥 的局部鲁棒性(即神经网络应为以𝑥为中心的半径 为ϵ的球中的所有输入产生相同的预测结果)依赖 于在输入空间上定义的合适的距离度量标准,在实 际中,对于在非恶意环境中运行的神经网络而言, 这可能是太过苛刻的要求。同时,由于仅针对特定 输入定义了局部鲁棒性,而对于未考虑的输入不提 供保证,因此局部鲁棒性也具有固有的限制性。全 局鲁棒性则通过进一步要求输入空间中的所有输 入都满足局部鲁棒性来解决这个问题。除了在计算 上难以控制之外,全局鲁棒性仍然太强而无法实际 使用。因此,在实际中如何更好地平衡局部鲁棒性 与全局鲁棒性,仍然是一个亟待解决的挑战。
(3)进一步提升模型鲁棒性验证方法。从实 证结果来看,大多数基于经验的防御方法非常容易 被更强的攻击所攻破,而其他鲁棒性分析方法在很 大程度上取决于神经网络模型的体系结构,例如激 活函数的种类或残差连接的存在。相比之下,随机 平滑不对神经网络的体系结构做任何假设,而仅依 靠在噪声假设下传统模型进行良好决策的能力,从 而将鲁棒分类问题扩展为经典监督学习问题,可用 于社区检测[103]等任务。因此,基于随机平滑的鲁 棒性分析方法可能是研究模型鲁棒空间的最有前 途的方向之一。此外,由于基于概率的方法具有更 宽松的鲁棒性定义,更有可能被实用的神经网络所 满足和验证,因此在合适的扰动分布假设下也是较 有前景的方向之一。
(4)研究可证明鲁棒模型训练方法。此外, 如何训练对对抗性扰动具有可证明鲁棒的神经网 络以及如何训练更容易验证鲁棒性的神经网络,也 是未来的研究方向之一。目前研究者在这个方向进 行的初步探索包括利用正则化技术将模型的形式 化鲁棒边界与模型的目标函数结合起来[104]、经验 性对抗风险最小化(Empirical Adversarial Risk Minimization,EARM)[36,105]、随机自集成[106]、剪 枝[82,107]以及改善神经网络的稀疏性[108]。但是现存 技术主要集中于图像领域,难以扩展到恶意软件等 安全攸关型应用,并且仍然存在精度以及可扩展性 上的不足,需要进一步的深入研究。
6 结束语
随着深度学习研究进一步发展和深度学习技术在实际场景中的广泛应用,深度学习模型的鲁棒性研究成为了一个新生而又有前景的研究领域,使一大批来自学术界和工业界的学者产生广泛兴趣并深入研究,并且取得了许多瞩目的研究成果。然而,到目前为止,深度学习模型的鲁棒性研究还处于初级阶段,依然存在许多关键的科学问题尚待解决。为了重新审视深度学习模型的鲁棒性研究现状,理清现有研究成果的优势与不足,明确未来研究方向,本文系统地研究了深度学习模型的鲁棒性问题,回顾了大量的极具影响力的研究成果并对相关研究进行了科学的分类、总结和分析。同时,本文指出了深度学习模型的鲁棒性研究当前面临的挑战,探讨了未来 可行的研究方向,旨在推动深度学习模型的鲁棒性分析研究的进一步发展。