Concolic Testing for Deep Neural Networks

文章目录

  • Concolic Testing for Deep Neural Networks
    • 简介
    • 摘要
    • 介绍
    • 相关工作
      • DNNs的鲁棒性
      • Concolic测试
      • 与相关工作对比
      • 深度神经网络
    • DNNS的覆盖测试
      • 激活模式
      • 形式化测试覆盖标准
      • 测试覆盖率指标
    • 具体覆盖要求
      • Lipschitz连续性
      • 神经元覆盖率
      • 修改条件/决策(MC/DC)覆盖范围
      • 神经元边界覆盖
    • 我们的方法概述
    • 排名覆盖要求
      • 启发法
    • 新的具体投入的符号化生成
      • 利用线性规划进行符号分析
      • 基于全局优化的符号分析
      • Lipschitz测试用例生成
    • 测试Oracle
    • 实验结果
      • 与DeepXplore的比较
      • NC、SCC和NBC的结果
      • 关于Lipschitz常数检验的结果
    • 结论

DeepConcolic: Testing and Debugging Deep Neural Networks

简介

论文标题

  • Concolic Testing for Deep Neural Networks
  • 深度神经网络的符号测试
  • 2018.9

贡献

  • 我们开发了第一种DNNs的Concolic测试方法。
  • 我们使用广泛的测试覆盖要求来评估该方法,包括Lipschitz连续性[1,3,20,29,30]和几个结构覆盖度量[15,18,23]。我们的实验表明,我们的新算法以一致的方式支持这种广泛的属性。
  • 在软件工具DeepConcolic中实现了Concolic测试方法。实验结果表明,DeepConcolic具有较高的覆盖率,能够发现大量的对抗性实例。

工具地址: https://github.com/TrustAI/DeepConcolic

工具论文翻译: DeepConcolic: Testing and Debugging Deep Neural Networks

MC/DC论文翻译:Testing Deep Neural Networks
渣翻,尽力了...但这篇没怎么看懂

摘要

Concolic测试将程序执行和符号分析相结合,以探索软件程序的执行路径。本文提出了第一种深度神经网络(DNNs)的Concolic测试方法。更具体地说,我们将文献中研究的DNN的覆盖标准形式化,然后开发一种连贯的方法来执行Concolic测试,以增加测试覆盖。我们的实验结果表明,Concolic测试方法在获得高覆盖率和发现对抗性实例方面都是有效的。

介绍

深度神经网络(DNNs)在解决人工智能中的一系列难题方面发挥了重要作用,例如古老的围棋游戏、图像分类和自然语言处理。因此,许多潜在的应用被设想出来。然而,人们对这项技术是否适用于安全和安保关键系统提出了重大担忧,在这些系统中,错误的行为有危及人类生命或经济损失的风险。为了解决这些问题,需要对包含基于DNN的组件的(安全或安保)关键系统进行彻底验证。

软件行业依赖测试作为向涉众提供有关被测试软件产品或服务质量的信息的主要手段[12]。到目前为止,对DNN进行系统测试的尝试很少[15,18,23,25,30]。这些是基于具体执行的,例如,蒙特卡洛树搜索[30]或基于梯度的搜索[15,18,25],或者结合线性算术的解算器的符号执行[23]。与这些测试输入生成算法一起,提出了几个测试覆盖标准,包括神经元覆盖[18],一个受MC/DC[23]启发的标准,以及捕获特定神经元激活值以识别角落情况的标准[15]。这些方法都没有实现Concolic测试[8,22],它结合了具体的执行和符号分析来探索程序的执行路径,而这些路径是随机测试等技术很难覆盖的。

我们假设Concolic检测特别适用于DNNs。DNN的输入空间通常是高维的,这给随机测试带来了困难。例如,用于图像分类的DNN需要数万个像素作为输入。此外,由于隐含神经元的RELU激活函数的广泛使用,DNN中“执行路径”的数量太多而不能完全被符号执行所覆盖,Concolic测试可以通过具体地评估DNN的给定属性来将符号分析引导到特定的执行路径来降低这种复杂性。

在这篇文章中,我们提出了第一种DNNs的Concolic测试方法。该方法使用一组覆盖要求来参数化,我们使用有理数量化线性算术(QLAR)来表达这些要求。对于给定的覆盖率需求集合R,我们增量地生成一组测试输入,通过在具体执行和符号分析之间交替来提高覆盖率。在给定未满足的测试需求r的情况下,我们在当前测试套件中标识测试输入t,以便根据基于具体执行的评估,t接近满足r。之后,应用符号分析来获得满足r的新的测试输入t‘,然后将该测试输入t’添加到测试套中。这个过程反复进行,直到我们达到令人满意的覆盖率水平。

最后,将生成的测试套件传递给健壮性预言,其确定测试套件是否包括对抗性示例[24],即当相对于给定距离度量彼此接近时在其分类标签上不一致的测试用例对。健壮性的缺乏一直被认为是DNNs的一个主要弱点,敌意示例的发现和健壮性问题在机器学习、自动验证、网络安全和软件测试等领域都得到了积极的研究。

相关工作

我们简要回顾了现有的评估DNNs稳健性的努力和Concolic测试的最新进展

DNNs的鲁棒性

目前关于DNN健壮性的研究可以分为攻击性和防御性两类。攻击性方法侧重于启发式搜索算法(主要由DNN的前向梯度或代价梯度指导),以找到尽可能接近正确分类输入的对抗性示例。另一方面,防御工作的目标是增加DNNs的健壮性。进攻技术和防守技术之间存在着军备竞赛。

在本文中,我们将重点放在防御方法上。自动验证是一种很有前途的方法,其目的是为DNNs提供健壮性保证。主要的相关技术包括逐层穷举搜索[11]、使用约束求解器[14]的方法、全局优化方法[20]和抽象解释[7,16]来过度逼近DNN的行为。穷举搜索存在状态空间爆炸问题,蒙特卡罗树搜索可以缓解这一问题[30]。基于约束的方法仅限于具有数百个神经元的小型DNN。全局优化通过其处理大型DNN的能力改进了基于约束的方法,但其容量对需要扰动的输入维度的数量很敏感。过度近似分析的结果可能会因为错误警报而变得悲观。

将传统测试技术应用于DNN是困难的,并且尝试这样做的工作是较新的,例如[15,18,23,25,30]。受软件测试方法启发的方法通常使用覆盖标准来指导测试用例的生成;然后通过查询Oracle来搜索得到的测试套件中的对抗性示例。考虑的覆盖标准包括神经元覆盖[18],这类似于传统的语句覆盖。在[23]中使用了一组受MD/DC覆盖[10]启发的标准;Ma等人。[15]提出旨在捕捉神经元激活特定值的标准。田等人。[25]研究神经元覆盖率在Udacity-滴滴自动驾驶汽车挑战赛DNNs中检测敌意示例的效用。

我们现在讨论测试输入生成的算法。Wicker等人。[30]目的通过穷举变异测试来覆盖输入空间,这是有理论保证的,而在[15,18,25]中采用基于梯度的搜索算法来解决优化问题,Sun等人对此进行了研究。[23]应用线性规划。所有这些都不像我们在本文中所做的那样考虑Concolic测试和建模测试覆盖需求的一般方法。

Concolic测试

通过使用包括随机测试的特定输入来具体执行程序,可以低成本地测试大量输入。然而,在没有指导的情况下,生成的测试用例可能被限制在程序的执行路径的子集,并且探索包含错误的执行路径的概率可能非常低。在符号执行[5、26、32]中,对执行路径进行符号编码。现代约束求解器可以有效地确定编码的可行性,尽管性能仍然随着符号表示的大小的增加而降低。Concolic test[8,22]是一种自动生成测试输入的有效方法。它是一种混合软件测试技术,在具体执行(即对特定输入进行测试)和符号执行(将程序变量视为符号值的经典技术)之间交替[13]。

Concolic测试已经在软件测试中被常规应用,并且有广泛的工具可用,例如[4,8,22]。它从使用具体输入执行程序开始。在具体运行结束时,必须启发式地选择另一个执行路径。然后对这个新的执行路径进行符号化编码,并通过约束求解器求解得到的公式,以产生新的具体输入。具体执行和符号分析交替进行,直到达到所需的结构覆盖率。

影响Concolic测试性能的关键因素是用来选择下一条执行路径的启发式算法。虽然有一些简单的方法,如随机搜索和深度优先搜索,但更仔细设计的启发式算法可以实现更好的覆盖[4,9]。自动生成用于Concolic测试的搜索启发式是一个活跃的研究领域[6,27]。

与相关工作对比

我们简要总结了我们的Concolic测试方法DeepConcolic与其他现有的覆盖驱动的DNN测试方法DeepXplore[18]、DeepTest[25]、DeepCover[23]和DeepGauge[15]之间的异同。详细信息如表1所示,其中NC、SSC和NBC分别是神经元覆盖、SS覆盖和神经元边界覆盖的缩写。除了DeepConcolic的Concolic本质外,我们还观察到以下不同之处。

  • DeepConcolic是通用的,能够将覆盖需求作为输入;其他方法是特别的,并且根据特定的需求进行定制。
  • DeepXplore需要一组DNN来探索多个渐变方向。其他方法,包括DeepConcolic,只需要一个DNN。
  • 与其他方法相比,DeepConcolic可以通过从单个输入开始实现良好的覆盖;其他方法需要一组非常重要的输入。
  • 到目前为止,最佳距离度量还没有结论。DeepConcolic可以用期望的范数距离度量||·||参数化。

此外,DeepConcolic的特点是在测试输入生成和测试预言之间进行了清晰的分离。这非常适合传统测试用例生成。其他方法使用Oracle作为其目标的一部分,以指导测试输入的生成。

深度神经网络

(前馈和深度)神经网络,或称DNN,是一个元组 N=\mathcal{N}= (L,T,Φ)(L, T, \Phi) ,使得 L={Lkk{1,,K}}L=\left\{L_{k} | k \in\{1, \ldots, K\}\right\} 是层的集合, TT \subseteq L×LL \times L 是层之间的连接集合, Φ={ϕkk\Phi=\left\{\phi_{k} | k \in\right. {2,,K}}\{2, \ldots, K\}\} 是一组激活函数。每层 LkL_{k}sks_{k} 个神经元组成,第l层神经元记为nk,ln_{k, l}。我们用 vk,lv_{k, l} 表示$n_{k, l} $的值。隐层的神经元的值需要通过一个校正线性单元(RELU)[17]。为方便起见,我们使用 uk,lu_{k, l} 表示在RELU激活之前的值
vk,l=ReLU(uk,l)={uk,l if uk,l00 otherwise  v_{k, l}=\operatorname{ReLU}\left(u_{k, l}\right)=\left\{\begin{array}{ll} u_{k, l} & \text { if } u_{k, l} \geq 0 \\ 0 & \text { otherwise } \end{array}\right.
除了输入之外,每个神经元通过预定义的权重连接到前一层中的神经元,使得 1<kK\forall 1<k \leq K, 1lsk\forall 1 \leq l \leq s_{k}
uk,l=1hsk1{wk1,h,lvk1,h}+bk,l u_{k, l}=\sum_{1 \leq h \leq s_{k-1}}\left\{w_{k-1, h, l} \cdot v_{k-1, h}\right\}+b_{k, l}
其中wk1,h,lw_{k-1, h, l}是用于nk1,hn_{k-1, h}(即,第k层−1的第h个神经元)和nk,ln_{k, l}即,第k层的第l个神经元)之间的连接的预训练权重,bk,lb_{k, l}是偏置。

最后,对于任何输入,神经网络分配一个标签,即,具有最大值的输出层的神经元的索引,即, label =argmax1lsK{vK,l}\text { label }=\operatorname{argmax}_{1 \leq l \leq s_{K}}\left\{v_{K, l}\right\}

  • 由于RELU的存在,神经网络是一个高度非线性的函数。在本文中,我们使用变量x对输入域 DL1D_{L_{1}}中所有可能的输入进行取值,并使用t,t1,t2,.。表示具体的输入。给定特定的输入t,我们说DNN N\mathcal{N} 是实例化的,并且我们使用 N[t]\mathcal{N}[t] 来表示该网络实例。

  • 当给出输入时,确定DNN中每个RELU操作符的激活或非激活。

我们注意到,虽然为了简单起见,该定义集中在具有全连通和卷积层的DNN上,如实验(第10节)所示,我们的方法也适用于其他流行的层,例如,在最新的DNN中使用的MaxPooling。

DNNS的覆盖测试

激活模式

软件程序有一组具体的执行路径。类似地,DNN有一组称为激活模式的线性行为[23]。

定义4.1(激活模式)。给定网络 N\mathcal{N} 和输入t, N[t]\mathcal{N}[t] 的激活模式是将隐藏神经元集合映射到{true,false}的函数 ap[N,t]a p[\mathcal{N}, t] 。如果N是上下文中清晰明了的,我们将ap[N,t]a p[\mathcal{N}, t]写为 ap[t]a p[t] 。对于激活模式 ap[t]a p[t] ,我们用 ap[t]k,ia p[t]_{k, i} 表示神经元 nk,in_{k, i} 的RELU算子是否被激活。正式地说,
ap[t]k,l= false u[t]k,l<v[t]k,lap[t]k,l= true u[t]k,l=v[t]k,l \begin{array}{l} a p[t]_{k, l}=\text { false } \quad \equiv \quad u[t]_{k, l}<v[t]_{k, l} \\ a p[t]_{k, l}=\text { true } \quad \equiv \quad u[t]_{k, l}=v[t]_{k, l} \end{array}
直观地,如果神经元nk,ln_{k, l}的REU被激活,则ap[t]k,l=a p[t]_{k, l}= true,否则ap[t]k,l=a p[t]_{k, l}= false。

给定DNN实例N[t]\mathcal{N}[t],每个RELU操作符的行为是固定的,并且这导致特定的激活模式映射ap[t],a p[t],,其可以通过使用线性规划(LP)模型[23]来编码。

由于在实际相关的DNN中有大量的神经元,所以计算覆盖DNN的所有激活模式的测试套件是困难的。因此,我们根据特定的覆盖标准识别激活模式的子集,然后生成覆盖这些激活模式的测试输入。

形式化测试覆盖标准

我们使用有理数量化线性算术(QLAR)的特定片段来表示给定DNN的测试集上的覆盖要求。这使我们能够为各种覆盖标准提供单一的测试输入生成算法(第8节)。我们将片段中的公式集表示为DR。

定义4.2。给定一个网络 N\mathcal{N},我们将 IV={x,x1,x2,}I V=\left\{x, x_{1}, x_{2}, \ldots\right\} 写为一组范围在网络的所有输入 DL1D_{L_{1}} 上的变量。我们定义 V={u[x]k,l,v[x]k,l1kK,1lsk,xIV}V=\left\{u[x]_{k, l}, v[x]_{k, l} | 1 \leq k \leq K, 1 \leq l \leq\right. \left.s_{k}, x \in I V\right\} 为一组取值于有理数上的变量。我们修复了DR公式的以下语法:
r::=Qx.eQx1,x2.ee::=a0ee¬e{e1,,em}qa::=wcwpa+aaa \begin{array}{l} r::=Q x . e | Q x_{1}, x_{2} . e \\ e::=a \bowtie 0|e \wedge e| \neg e||\left\{e_{1}, \ldots, e_{m}\right\} | \bowtie q \\ a::=w|c \cdot w| p|a+a| a-a \end{array}
其中 Q{,},wV,c,pR,qN,{,<,=,>,}Q \in\{\exists, \forall\}, w \in V, c, p \in \mathbb{R}, q \in \mathbb{N}, \bowtie \in\{\leq,<,=,>, \geq\} 并且 x,x1,x2IV.x, x_{1}, x_{2} \in I V . 我们称r为覆盖要求,e为布尔公式,a为算术公式。如果不允许使用否定运算符,我们称逻辑为DR+。我们用R表示一组覆盖要求公式。

公式∃x.e表示存在输入x使得e为真,而∀x.e表示对于所有输入x ,e为真。公式∃x1、x2.e和∀x1、x2.e具有类似的含义,除了它们在两个输入x1和x2上量化。如果集合{e1,.,em}中的真布尔表达式的数量与q相关,则布尔表达式 {e1,,em}q\left|\left\{e_{1}, \ldots, e_{m}\right\}\right| \bowtie q 为TRUE。布尔公式和算术公式中的其他运算符都有其标准含义。

尽管V不包括指定激活模式ap[x]的变量,但我们可以编写
ap[x1]k,l=ap[x2]k,l and ap[x1]k,lap[x2]k,l a p\left[x_{1}\right]_{k, l}=a p\left[x_{2}\right]_{k, l} \text { and } a p\left[x_{1}\right]_{k, l} \neq a p\left[x_{2}\right]_{k, l}
要求x1和x2在神经元nk,ln_{k, l}上分别具有相同和不同的激活行为。这些条件可以使用公式(3)中的表达式以上述语法表示。此外,两个输入之间的一些基于范数的距离可以使用我们的语法来表示。例如,我们可以使用约束集
{x1(i)x2(i)q,x2(i)x1(i)qi{1,,s1}} \left\{x_{1}(i)-x_{2}(i) \leq q, x_{2}(i)-x_{1}(i) \leq q | i \in\left\{1, \ldots, s_{1}\right\}\right\}
表示||x1−x2||∞≤q,即,我们可以约束两个输入x1和x2之间的切比雪夫距离L∞,其中x(I)是输入向量x的第i维。

语义学。我们通过测试集T定义覆盖需求r的可满足性

定义4.3。给定测试输入集合T和覆盖要求r,可满足性关系T|=r定义如下。

  • T=x.e\mathcal{T}|=\exists x . e 如果存在某种测试 tTt \in \mathcal{T} 使得 T=\mathcal{T}= e[xt],e[x \mapsto t], 其中e[xt]e[x \mapsto t] 表示用t代替x的出现的表达式e
  • T=x1,x2.e\mathcal{T}=\exists x_{1}, x_{2} . e 如果存在两个测试 t1,t2Tt_{1}, t_{2} \in \mathcal{T} 使得 T=e[x1t1][x2t2]\mathcal{T}=e\left[x_{1} \mapsto t_{1}\right]\left[x_{2} \mapsto t_{2}\right]

∀公式的情况类似。对于对输入t的布尔表达式e的求值,我们有

T=a0 if a0T=e1e2 if T=e1 and T=e2T=¬e if not T=eT={e1,,em}q if {eiT=ei,i{1,,m}}q\begin{array}{l} \mathcal{T}=a \bowtie 0 \text { if } a \bowtie 0 \\ \mathcal{T} |=e_{1} \wedge e_{2} \text { if } \mathcal{T} |=e_{1} \text { and } \mathcal{T} |=e_{2} \\ \mathcal{T} |=\neg e \text { if not } \mathcal{T} |=e \\ \mathcal{T}|=|\left\{e_{1}, \ldots, e_{m}\right\} | \bowtie q \text { if }\left|\left\{e_{i} | \mathcal{T}=e_{i}, i \in\{1, \ldots, m\}\right\}\right| \bowtie q \end{array}

对于对输入t的算术表达式a的求值

  • u[t]k,lu[t]_{k, l}v[t]k,lv[t]_{k, l} 测试t的DNN的激活模式中导出它们的值,并且 cu[t]k,lc \cdot u[t]_{k, l}cv[t]k,lc \cdot v[t]_{k, l} 具有标准含义,其中c是系数,
  • p、a1+a2和a1−a2具有标准语义。

请注意,T是有限的。将满足关系的定义推广到输入子空间是微不足道的。

复杂性。在给定网络N、DR需求公式和测试集T的情况下,可以在大小为T的多项式的时间内完成检查T|=r。确定是否存在具有T|=r的测试集T是NP-complete的。

测试覆盖率指标

现在,我们可以通过提供测试套件的一组需求来定义测试覆盖标准。覆盖率度量以标准方式定义为测试套件T中的测试用例满足的测试需求的百分比

定义4.4(Coverage Metric))。给定网络N、表示为DR公式的测试覆盖要求集合R和测试套件T,测试覆盖度量M(R,T)如下:
M(R,T)={rRT=r}R M(\mathfrak{R}, \mathcal{T})=\frac{|\{r \in \mathfrak{R}|\mathcal{T}|=r\}|}{|\mathfrak{R}|}
覆盖率用作测试中的DNN的安全性置信度的代理度量。

具体覆盖要求

在这一部分中,我们给出了DNNs的几个重要覆盖准则的DR+公式,包括文献中的Lipschitz连续性[1,3,20,29,30]和测试覆盖准则[15,18,23]。我们考虑的标准在句法上与传统软件测试中的结构测试覆盖标准有相似之处。Lipschitz连续性是语义的,特定于DNNs,并且已经被证明与卷积DNNs的理论理解[29]以及DNNs[20,30]和生成性对抗性网络[1]的健壮性密切相关。这些标准已经在文献中使用各种形式主义和方法进行了研究。

每个测试覆盖标准都会产生一组测试覆盖要求。下面,我们将分别讨论[15,18,23]中的三个覆盖标准。我们使用||t1(−)t2||q来表示两个输入t1和t2相对于给定距离度量||·||q之间的距离。度量||·||q可以是例如基于范数的度量,例如L0范数(汉明距离)、L2范数(欧几里得距离)或L切比雪夫范数(∞距离),或者结构相似距离,例如SSIM[28]。在下面,我们固定一个距离度量,并简单地写为||t1−t2||。第10节详细介绍了我们在实验中使用的特定度量标准。

我们可以考虑对一组输入子空间的要求。给定实数b,我们可以生成DL1的子空间的有限集合S(DL1,b),使得对于所有的输入x1,x2∈DL1,如果||x1−x2||≤b,则存在一个子空间X∈S(DL1,b)使得x1,x2∈X。子空间可以重叠。通常,每个子空间X∈S(dl1,b)可以用盒约束来表示,例如,X=[l,u]s1,因此t∈X可以用如下的布尔表达式来表示。
i=1s1x(i)u0x(i)l0 \bigwedge_{i=1}^{s_{1}} x(i)-u \leq 0 \wedge x(i)-l \geq 0

Lipschitz连续性

在[20,24]中,Lipschitz连续性已被证明适用于一大类DNN,包括用于图像分类的DNN

定义5.1(Lipschitz连续性)。如果存在实常数c≥0,使得对于所有x1,x2∈dl1,网络N称为李普希茨连续的:
v[x1]1v[x2]1cx1x2 \left\|v\left[x_{1}\right]_{1}-v\left[x_{2}\right]_{1}\right\| \leq c \cdot\left\|x_{1}-x_{2}\right\|
回想一下,v[x]1表示输入层中神经元激活值的向量。值c称为Lipschitz常数,这样的最小常数称为最佳Lipschitz常数,记为cbestc_{b e s t}

由于cbestc_{b e s t}的计算是NP-hard问题,较小的c可以显著提高验证算法的性能[20,30,31],因此确定给定的c是否对于整个输入空间DL1或某些子空间是Lipschitz常数是有趣的。可以使用以下要求指导Lipschitz连续性测试。

定义5.2(Lipschitz Coverage)。给定实数c>0和整数b>0,Lipschitz覆盖的要求集合Lip(b,c)\Re_{L i p}(b, c)
{x1,x2(v[x1]1v[x2]1cx1x2>0)x1,x2XXS(DL1,b)} \begin{array}{l} \left\{\exists x_{1}, x_{2} \cdot\left(\left\|v\left[x_{1}\right]_{1}-v\left[x_{2}\right]_{1}\right\|-c \cdot\left\|x_{1}-x_{2}\right\|>0\right)\right. \\ \left.\quad \wedge x_{1}, x_{2} \in X | X \in \mathcal{S}\left(D_{L_{1}}, b\right)\right\} \end{array}
其中S(DL1,b)\mathcal{S}\left(D_{L_{1}}, b\right)被赋予输入子空间。

直观地,对于每个X∈S(DL1,b),该要求表示存在两个输入x1和x2,它们驳斥了c是N的Lipschitz常数。通常不可能获得完全的Lipschitz覆盖,因为可能存在不一致的rLip(b,c)r \in \Re_{L i p}(b, c)。因此,测试用例生成算法的目标是生成尽可能满足标准的测试用例集T。

神经元覆盖率

神经元覆盖率(NC)[18]是传统软件测试中语句覆盖率在DNNs上的改编。它的定义如下。

定义5.3。DNN的神经元覆盖需要测试套件T,使得对于任何隐藏的神经元k,i,存在测试用例t∈T,使得AP[t]k,i=TRUE

这是用以下要求NC\Re_{N C}来形式化的,每个要求NC\Re_{N C}都表示存在具有激活神经元nk,i,即AP[x]k,i=真的输入x的测试。

定义5.4(NC Requirements).。设置神经元覆盖的NC\Re_{N C}覆盖要求为
{x.ap[x]k,i= true 2kK1,1isk} \left\{\exists x . a p[x]_{k, i}=\text { true } | 2 \leq k \leq K-1,1 \leq i \leq s_{k}\right\}​

修改条件/决策(MC/DC)覆盖范围

在[23]中,受传统软件测试中MC/DC覆盖的启发,提出了一个由四个测试标准组成的家族。我们将在这里仅讨论Sign-Sign Coverage(SSC)。根据[23],可以将每个神经元nk+1,j视为其中前一层(即,第k层)中的神经元是定义其激活值的条件的判定,如公式(2)中所示。使MC/DC适应DNNs,我们必须证明所有条件神经元都能独立地决定决策神经元的结果。在SSC覆盖的情况下,我们说,如果一个判决或条件神经元的激活函数的符号改变,那么它的值就会改变。因此,SSC覆盖的要求由以下集合定义。

定义 5.5 (SSC Requirements). 对于 SCC 覆盖,我们对于一对儿神经元 α=(nk,i,nk+1,j)\alpha=\left(n_{k, i}, n_{k+1, j}\right)定义覆盖要求 ReSSC(α)Re_{S S C}(\alpha)

我们就会得到
SSC=2kK2,1isk,1jsk+1SSC((nk,i,nk+1,j)) \Re_{S S C}=\bigcup_{2 \leq k \leq K-2,1 \leq i \leq s_{k}, 1 \leq j \leq s_{k+1}} \Re_{S S C}\left(\left(n_{k, i}, n_{k+1, j}\right)\right)
也就是说,对于相邻的两层k和k+1中的每对神经元(nk,i,nk+1,j),我们需要两个输入x1和x2,使得nk,i的符号变化独立地影响nk+1,j的符号变化。要求k层的其他神经元保持它们的符号在x1和x2之间,以确保该变化是独立的。SS覆盖的想法(以及[23]中的所有其他标准)是为了确保不仅需要测试特征的存在,而且必须测试较不复杂的特征对较复杂的特征的影响。

神经元边界覆盖

神经元边界覆盖(NBC)[15]旨在覆盖超过给定界限的神经元激活值。它可以用以下公式表示。

Definition 5.6 (Neuron Boundary Coverage Requirements). 给与两个边界h={hk,i2kK1,1isk}h=\left\{h_{k, i} | 2 \leq k \leq K-1,1 \leq i \leq s_{k}\right\}l=l= {lk,i2kK1,1isk},\left\{l_{k, i} | 2 \leq k \leq K-1,1 \leq i \leq s_{k}\right\}, 覆盖要求 NBC(h,l)\Re_{N B C}(h, l)
{x.u[x]k,ihk,i>0,x.u[x]k,ilk,i<02kK1,1isk} \begin{array}{c} \left\{\exists x . u[x]_{k, i}-h_{k, i}>0, \exists x . u[x]_{k, i}-l_{k, i}<0 |\right. \\ \left.2 \leq k \leq K-1,1 \leq i \leq s_{k}\right\} \end{array}
其中,hk,i和lk,i是神经元激活值nk的上界和下界。

我们的方法概述

本节概述了我们为给定DNN生成测试套件的方法。我们的方法在DNN激活模式的具体评估和新输入的符号生成之间交替。我们方法的伪代码如算法1所示,如图1所示。

算法1将DNN N\mathcal{N}、DNN的输入 t0t_{0} 、启发式 δ\delta,和覆盖要求的集合 \Re 作为输入,并产生测试集 T\mathcal{T} 作为输出。测试套件 T\mathcal{T} 最初仅包含给定的测试输入$t_{0} $。一旦需求 rRr \in \mathfrak{R}T\mathcal{T}满足,即 T=r\mathcal{T} |=r,该算法就从 \Re 中移除它。

函数REQUIRED_EVALUATION(第7行)(其详细信息在第7节中给出)查找一对(t,r)的输入和需求,根据我们的具体评估,这对输入和需求是最有希望的符合要求的新测试用例的候选者。启发式δ是将带有运算符∃的公式r映射到优化问题的转换函数。这一步有赖于具体的执行。

在获得(t,r)之后,应用Symbol_Analysis(第8行)(其详细信息在第8节中)来获得新的具体输入t‘。然后应用函数VALIDATION_CHECK(第9行),其详细信息在第9节中给出,以检查新输入是否有效。如果是,则将该测试添加到测试套件中。否则,重复排序和符号输入生成,直到超过给定的计算成本,之后认为需求的测试生成失败。这记录在集合F中。

当已经满足所有测试要求(即,R=∅)或不能满足R中的其他要求(即,F=R)时,该算法终止。然后,该算法返回当前测试套件T。

最后,如图1所示,算法1生成的测试套件T被传递给Oracle,以评估DNN的健壮性。oracle的详细内容在第9节。

排名覆盖要求

本节介绍我们针对算法1第7行的方法。给定一组尚未满足的要求R、启发式δ和当前的测试输入集合T,目标是选择具体输入t∈T和要求r∈R,这两个都将在稍后的符号方法中用于计算下一个具体输入t‘(将在第8节中给出)。t和r的选择是通过一系列具体执行来完成的。

总体思路如下。对于所有需求 rr \in \Re ,我们通过将运算符 argopt opt∈ {max,min}\{\max , \min \} 用于将通过在 T\mathcal{T}中具体执行测试来将r转换为 δ(r)\delta(r) 。由于R可能包含多个需求,我们返回(t,r)对,使得
r=argmaxr{val(t,δ(r))r} r=\arg \max _{r}\{v a l(t, \delta(r)) | r \in \Re\}
请注意,在评估argopt公式(例如,argminx a:e)时,如果返回输入t∈T,我们可能还需要该值(minx a:e)。我们使用val(t,δ®)来表示返回的输入t和需求公式r的这样一个值。

公式 δ(r)\delta(r) 与一组约束一起是优化目标。稍后我们将在7.1节中给出几个示例。在下文中,我们对定义4.3中的语义进行了扩展,以使用opt {max,min}\in\{\max , \min \}的argopt运算符的公式,包括argoptxa:e\arg \operatorname{opt}_{x} a: e和 $\arg \operatorname{opt}{x{1}, x_{2}} a: e 直观地,\arg \max _{x} a: e$在满足使算术公式a的值最大化的布尔公式e的那些中确定输入x。形式上,

  • argminxa:e\arg \min _{x} a: eT\mathcal{T} 的求值返回输入 tTt \in \mathcal{T} ,使得 T=e[xt]\mathcal{T}|=e[x \mapsto t] ,并且对于所有 tTt^{\prime} \in \mathcal{T} 使得T=e[xt]\mathcal{T}|=e\left[x \mapsto t^{\prime}\right],我们有 a[xt]a[xt]a[x \mapsto t] \leq a\left[x \mapsto t^{\prime}\right]

启发法

我们提出了启发式δ,我们使用了第5节中讨论的覆盖要求。我们注意到,由于δ是一个启发式的,所以存在替代方案。下面的定义在我们的实验中工作得很好

7.1.1 Lipschitz连续性。当公式(10)中的李普希茨要求r不被T满足时,我们将其变换为δ®,如下所示:
argmaxx1,x2v[x1]1v[x2]1cx1x2:x1,x2X \arg \max _{x_{1}, x_{2}} \cdot\left\|v\left[x_{1}\right]_{1}-v\left[x_{2}\right]_{1}\right\|-c *\left\|x_{1}-x_{2}\right\|: x_{1}, x_{2} \in X
即,目标是在T中找到最佳t1和t2,以使||v[t1]1−v[t2]1||−c·||t1−t2||尽可能大。如上所述,我们还需要计算Val(t1,t2,r)=||v[t1]1−v[t2]1||−c·||t1−t2||

7.1.2神经元覆盖。当公式(11)中的需求r不被T满足时,我们将其转换为以下需求δ®:
argmaxxckuk,i[x]: true  \arg \max _{x} c_{k} \cdot u_{k, i}[x]: \text { true }
我们得到了具有最大值ckuk,i[x]c_{k} \cdot u_{k, i}[x]的输入t∈T

系数Ck是每层常数。它的动机是下面的观察。随着信号在DNN中的传播,每一层的激活值可以具有不同的大小。例如,如果k层和k+1层神经元的最小激活值分别为−10和−100,则即使当神经元u[x]k,i=1>2=u[x]k+1,ju[x]_{k, i}=-1>-2=u[x]_{k+1, j}时,我们仍然可以认为nk+1,jn_{k+1, j}nk,in_{k, i}更接近被激活。因此,我们为每一层定义了一个层因子Ck,它将不同层神经元的平均激活值归一化到相同的幅度水平。它是通过对足够大的输入数据集进行采样来估计的。

7.1.3 SS Coverage。这是通过以下δ®实现的
argmaxxcku[x]k,i: true  \arg \max _{x}-c_{k} \cdot\left|u[x]_{k, i}\right|: \text { true }
直观地,给定判定神经元nk+1,jn_{k+1, j},等式(18)选择最接近激活符号变化的条件(即,产生最小的|u[x]k,i|)。

新的具体投入的符号化生成

本节介绍了算法1的第8行的方法,即给定一个具体的输入t和一个要求r,我们需要通过符号分析找到下一个具体的输入t‘。这个新的t‘将被添加到测试套件中(算法1的第10行)。要考虑的符号分析技术包括[23]中的线性规划,[21]中对L0范数的全局优化,以及下面将介绍的新的优化算法。我们将优化算法视为符号分析方法,因为与约束求解方法类似,它们在一次运行中处理一组测试用例。

为了简化演示,对于每个算法,下面的描述可能集中在一些特定的覆盖要求上,但我们要注意的是,所有算法都可以与第5节中给出的所有要求一起工作。

利用线性规划进行符号分析

如第4节所述,给定输入x,DNN实例N[x]映射到可以使用线性编程(LP)建模的激活模式AP[x]。具体地说,以下线性约束[23]产生表现出与x相同的RELU行为的一组输入:
{uk,i=1jsk1{wk1,j,ivk1,j}+bk,ik[2,K],i[1..sk]} \left\{\mathbf{u}_{\mathbf{k}, \mathbf{i}}=\sum_{1 \leq j \leq s_{k-1}}\left\{w_{k-1, j, i} \cdot \mathbf{v}_{\mathbf{k}-1, j}\right\}+b_{k, i} | k \in[2, K], i \in\left[1 . . s_{k}\right]\right\}

{uk,i0uk,i=vk,iap[x]k,i= true, k[2,K),i[1..sk]}{uk,i<0vk,i=0ap[x]k,i= false, k[2,K),i[1..sk]} \begin{array}{l} \left\{\mathbf{u}_{\mathbf{k}, \mathbf{i}} \geq 0 \wedge \mathbf{u}_{\mathbf{k}, \mathbf{i}}=\mathbf{v}_{\mathbf{k}, \mathbf{i}} | a p[x]_{k, i}=\text { true, } k \in[2, K), i \in\left[1 . . s_{k}\right]\right\} \\ \cup\left\{\mathbf{u}_{\mathbf{k}, \mathbf{i}}<0 \wedge \mathbf{v}_{\mathbf{k}, \mathbf{i}}=0 | a p[x]_{k, i}=\text { false, } k \in[2, K), i \in\left[1 . . s_{k}\right]\right\} \end{array}

线性规划模型中的连续变量用粗体强调。

  • 每个神经元的激活值由(20)中的线性约束编码,这是计算神经元激活值的公式(2)的符号版本。
  • 给定特定输入x,已知激活模式(定义4.1)AP[x]:AP[x]k,i为真或假,其指示REU对于神经元nk,i是否被激活,i。遵循(3)和(1)中REU的定义,对于每个神经元k,i,(21)中的线性约束编码REU激活(当AP[x]k,i=TRUE时)或去激活(当AP[x]k,i=FALSE时)

由(20)和(21)给出的线性模型(表示为C)表示导致与编码的激活模式相同的输入集合。因此,从输入和需求对(t,r)中寻找新输入的符号分析等价于寻找新的激活模式。注意,为了确保所获得的测试用例是有意义的,向LP模型添加了最小化t和t‘之间的距离的目标。因此,使用LP要求距离度量是线性的。例如,这适用于(6)中的L-∞-范数,但不适用于L2-范数。

8.1.1神经元覆盖率。神经元覆盖的符号分析取输入测试用例t和对神经元k的激活的要求r,i,并返回新的测试T‘,使得网络实例N[t’]满足测试要求。我们具有给定N[t]的激活模式AP[t],并且可以建立新的激活模式AP‘,从而
{apk,i=¬ap[t]k,ik1<k:0i1sk1apk1,i1=ap[t]k1,i1} \left\{a p_{k, i}^{\prime}=\neg a p[t]_{k, i} \wedge \forall k_{1}<k: \bigwedge_{0 \leq i_{1} \leq s_{k_{1}}} a p_{k_{1}, i_{1}}^{\prime}=a p[t]_{k_{1}, i_{1}}\right\}
此激活模式指定以下条件。

  • nk,i的激活符号被否定:这编码了激活nk,i的目标。
  • 在新的激活模式Ap‘中,k层之前的神经元将其激活信号保留为ap[t]。尽管可能存在使Nk被激活的多个激活模式,但是对于LP建模的使用,必须预先确定激活信号的一个特定组合。
  • 其他神经元是无关的,因为nk,i的符号只受前一层神经元激活值的影响

最后,LP模型C使用(20)和(21)对(22)中定义的新激活模式Ap‘进行编码,并且如果存在可行解,则可以从该解中提取满足要求r的新测试输入t’。

8.1.2 SS覆盖。为了满足SS覆盖要求r,我们需要找到一个新的测试用例,使得对于输入t,nk+1,j和nk,i的激活符号被否定,而层k处的其他神经元的其他符号等于输入t的那些符号。

为了实现这一点,构建了以下激活模式AP‘。
{apk,i=¬ap[t]k,iapk+1,j=¬ap[t]k+1,jk1<k:Apk1,i1=ap[t]k1,i1} \begin{aligned} \left\{a p_{k, i}^{\prime}=\neg a p[t]_{k, i} \wedge a p_{k+1, j}^{\prime}=\right.& \neg a p[t]_{k+1, j} \\ \wedge \forall k_{1}<k: &\left.A p_{k_{1}, i_{1}}^{\prime}=a p[t]_{k_{1}, i_{1}}\right\} \end{aligned}
8.1.3 神经元边界覆盖率。在神经元边界覆盖的情况下,符号分析的目的是找到一个输入t‘,使得神经元nk,i的激活值超过其上界hk,i或其下界lk,i。

为了实现这一点,在保留DNN激活模式AP[t]的同时,我们向LP程序添加了以下约束之一。
 If u[x]k,ihk,i>lk,iu[x]k,i:uk,i>hk,i otherwise: uk,i<lk,i \begin{array}{l} \text { If } u[x]_{k, i}-h_{k, i}>l_{k, i}-u[x]_{k, i}: u_{k, i}>h_{k, i} \\ \text { otherwise: } u_{k, i}<l_{k, i} \end{array}

基于全局优化的符号分析

寻找新输入的符号分析也可以通过求解[21]中的全局优化问题来实现。也就是说,通过将测试需求指定为优化目标,我们应用全局优化来计算满足测试覆盖需求的测试用例

  • 对于神经元覆盖,目标是找到一个 tt^{\prime},使得指定的神经元nk,in_{k, i}ap[t]k,i=a p\left[t^{\prime}\right]_{k, i}= true

  • 在SS覆盖的情况下,给定神经元对(nk,i,nk+1,j)\left(n_{k, i}, n_{k+1, j}\right)和原始输入t,优化目标变为
    ap[t]k,iap[t]k,iap[t]k+1,jap[t]k+1,jiiap[t]k,i=ap[t]k,i \begin{array}{l} a p\left[t^{\prime}\right]_{k, i} \neq a p[t]_{k, i} \wedge a p\left[t^{\prime}\right]_{k+1, j} \neq \\ a p[t]_{k+1, j} \wedge \bigwedge_{i^{\prime} \neq i} a p\left[t^{\prime}\right]_{k, i^{\prime}}=a p[t]_{k, i} \end{array}

  • 对于神经元边界覆盖,根据激活nk,in_{k, i}的上界或下界,寻找新的输入t‘的目标是u[t]k,i>hk,iu\left[t^{\prime}\right]_{k, i}>h_{k, i} or u[t]k,i<lk,iu\left[t^{\prime}\right]_{k, i}<l_{k, i}

有关算法的详细信息,读者请参阅[21]。

Lipschitz测试用例生成

给定对子空间X的覆盖要求,如公式(10)所示,我们设t0Rnt_{0} \in \mathbb{R}^{n}为t1和t2所属的子空间X的代表点。优化问题是生成两个输入t1和t2,使得
v[t1]1v[t2]1D1ct1t2D1>0 s.t. t1t0D2Δ,t2t0D2Δ \begin{array}{r} \left\|v\left[t_{1}\right]_{1}-v\left[t_{2}\right]_{1}\right\|_{D_{1}}-c \cdot\left\|t_{1}-t_{2}\right\|_{D_{1}}>0 \\ \text { s.t. }\left\|t_{1}-t_{0}\right\|_{D_{2}} \leq \Delta,\left\|t_{2}-t_{0}\right\|_{D_{2}} \leq \Delta \end{array}
其中||∗||D1和||∗||D2表示范数度量,例如L0范数、L2范数或L∞范数,∆是范数球(对于L1和L2范数)的半径或以t0为中心的超立方体的大小(对于l∞范数)。常量∆是该算法的超参数。

提出了一种新颖的交替式罗盘搜索方案,有效地解决了上述问题。具体地说,我们通过松弛[19]交替解决以下两个优化问题,即最大化原始Lipschitz常数的下界,而不是直接最大化Lipschitz常数本身。为此,当范数||∗||D1和||∗||D2都是L-∞范数时,我们将原来的非线性比例优化重新表示为线性问题。

8.3.1第一阶段。我们解决
mint1F(t1,t0)=v[t1]1v[t0]1D1 s.t. t1t0D2Δ \begin{aligned} \min _{t_{1}} F\left(t_{1}, t_{0}\right)=-|| v\left[t_{1}\right]_{1}-v\left[t_{0}\right]_{1} \|_{D_{1}} \\ & \text { s.t. }\left\|t_{1}-t_{0}\right\|_{D_{2}} \leq \Delta \end{aligned}
如果方程(24)收敛,并且我们可以找到最优t1
t1=argmint1F(t1,t0) s.t. t1t0D2Δ t_{1}^{*}=\arg \min _{t_{1}} F\left(t_{1}, t_{0}\right) \text { s.t. }\left\|t_{1}-t_{0}\right\|_{D_{2}} \leq \Delta
但是我们仍然找不到一个令人满意的输入对,我们执行第二阶段的优化。

8.3.2 第二阶段。我们解决
mint2F(t1,t2)=v[t2]1v[t1]1D1 s.t. t2t0D2Δ \begin{aligned} \min _{t_{2}} F\left(t_{1}^{*}, t_{2}\right)=-\left\|v\left[t_{2}\right]_{1}-v\left[t_{1}^{*}\right]_{1}\right\|_{D_{1}} & \\ & \text { s.t. }\left\|t_{2}-t_{0}\right\|_{D_{2}} \leq \Delta \end{aligned}
8.3.3第三阶段。如果函数lip(t∗1,t∗2)在第二阶段没有取得进展,我们认为整个搜索过程是收敛的,并且没有找到能够驳斥给定Lipschitz常数c的输入对。在这种情况下,我们返回到目前为止找到的最佳输入对,即t∗1和t∗2,以及所观察到的最大Lipschitz常数Lip(t∗1,T2)。请注意,返回的常量小于c。

总之,该方法是一种基于指南针搜索的交替优化方案。基本上,我们从给定的t0开始在范数球或超立方体中搜索图像t1,其中范数球空间上的优化轨迹表示为S(t0,∆(T0)),使得lip(t0,t1)>c(此步骤是符号执行);如果找不到,则通过用t∗1(在此优化运行中找到的最佳具体输入)替换t0来修改优化目标函数,以启动空间上的另一优化轨迹,即S(t∗。重复这个过程,直到我们逐渐覆盖了范数球的整个空间S(∆(T0))。

这节略了一些

测试Oracle

我们详细介绍了对生成的测试输入执行的有效性检查(算法1的第9行),以及最终如何使用测试套件来量化DNN的安全性。

定义9.1(有效测试输入)。我们被给予输入的集合O,我们假设其具有正确的分类(例如,训练数据集)。给定实数b,如果满足以下条件,则测试输入t‘∈T被认为是有效的
tO:ttb \exists t \in O:\left\|t-t^{\prime}\right\| \leq b
直观地说,如果一个测试用例t接近我们有分类的一些输入,那么它就是有效的。给定测试输入t‘∈T,我们将O(t‘)写为O中所有输入t∈O中到t’的距离最小的输入t。

为了使用测试套件T来量化DNN的质量,我们使用以下健壮性标准。

定义9.2(健壮性Oracle)。给定分类输入的集合O,测试用例t‘通过健壮性预言,如果
argmaxjv[t]K,j=argmaxjv[O(t)]K,j \arg \max _{j} v\left[t^{\prime}\right]_{K, j}=\arg \max _{j} v\left[O\left(t^{\prime}\right)\right]_{K, j}
只要我们发现一个测试输入没有通过这个预言,那么它就是DNN缺乏健壮性的证据。

实验结果

与DeepXplore的比较

图2:由DeepConcolic和DeepXplore生成的对抗性图像,具有用于MNIST(顶行)的L∞-Norm和用于CIFAR-10(底行)的L0-Norm,后者具有图像约束“光”、“遮挡”和“暗”。

现在,我们在从MNIST和CIFAR-10数据集获得的DNN上比较DeepConcolic和DeepXplore[18]。我们注意到DeepXplore已经应用于更多的数据集。

对于每个工具,我们从随机采样的图像输入开始神经元覆盖测试。请注意,由于DeepXplore需要多个DNN,因此我们将经过训练的DNN指定为目标模型,并使用DeepXplore提供的另外两个默认模型。表2给出了这两个工具获得的神经元覆盖率。我们观察到,在DeepConcolic的三种操作模式(“亮”、“遮挡”和“熄灭”)中,DeepConcolic产生的神经元覆盖率比DeepXplore高得多。另一方面,DeepXplore的速度要快得多,并且在几秒钟内终止。

图2给出了DeepConcolic(具有L∞范数和L0范数)和DeepXplore发现的几个对抗性示例。虽然DeepConcolic不像DeepXplore那样对原始图像施加特定领域的约束,但Concolic测试生成的图像类似于“人类感知”。例如,基于L∞范数,它生成逐渐反转黑白颜色的对抗性示例(图2,顶行)。对于L0范数,DeepConcolic生成类似于DeepXplore在“中断”约束下的对抗性示例,这本质上是像素操作

NC、SCC和NBC的结果

我们给出了使用覆盖标准NC、SSC和NBC使用DeepConcolic获得的结果。DeepConcolic使用单个种子输入开始NC测试。对于SSC和NBC,为了提高性能,将对初始的1000幅图像进行采样。此外,我们只测试SSC和NBC神经元的一个子集。建立了0.3(L∞范数)和10 0像素(L0范数)的距离上界,用于收集对抗性实例。

完整的覆盖报告,包括平均覆盖和标准推导,如图3所示。表3包含对抗性示例结果。我们观察到,使用全局优化进行符号分析的开销太高(第8.2节)。因此,具有L0范数的SSC结果被排除在外。

总体而言,DeepConcolic实现了高覆盖率,并使用健壮性检查(定义9.2)检测到大量的对抗性示例。然而,角例激活值(即,NBC)的覆盖范围是有限的

Concolic测试能够找到具有最小可能距离的对抗性示例:即,1255≈0.0039用于L∞范数,1像素用于L0范数。图4给出了对抗性示例的平均距离(来自一次DeepConcolic运行)。值得注意的是,对于同一网络,当距离度量改变时,使用NC发现的对抗性示例的数量可能会有很大变化。这一观察结果表明,在设计DNN的覆盖标准时,需要使用各种距离度量来检查它们。

关于Lipschitz常数检验的结果

10.3.1基线方法。由于本文首次测试了DNN的Lipschitz常数,因此我们将我们的方法与随机测试用例生成方法进行了比较。对于这个特定的测试要求,给定预定义的Lipschitz常数c、输入t0和范数球(例如,对于L1和L2范数)或超立方体空间(对于L∞-范数)∆的半径,我们随机生成满足空间约束的两个测试对t1和t2(即,||t1−t0||d2≤∆和||t2−t0||d2≤∆),然后检查lip(t1,t2)>c是否成立。我们重复随机生成,直到找到令人满意的测试对或重复次数大于预定义的阈值。我们设定了这样的门槛,即Nr_d=1,000,000。也就是说,如果我们随机生成1,000,000个测试对,并且它们都不能满足Lipschitz常数要求>c,则我们将此测试视为失败,并返回找到的最大Lipschitz常数和相应的测试对;否则,我们将其视为成功,并返回满意的测试对。

10.3.2实验结果。图5(A)描述了由1,000,000个随机测试对生成的Lipschitz常数覆盖,以及我们在MNIST
DNN上为image-1生成的Concolic测试生成方法。正如我们所看到的,即使我们通过随机测试生成的方式产生了100万个测试对,但最大Lipschitz转换率只达到了3.23,并且大多数测试对都在[0.01,2]的范围内。另一方面,我们的Concolic方法可以覆盖[0.01,10.38]的Lipschitz范围,其中大多数情况位于[3.5,10],而随机测试生成很难覆盖这一范围。

图5(B)和©比较了MNIST和CIFAR-10模型上随机方法和Concolic方法测试对的Lipschitz常数覆盖率。我们的方法的性能明显优于随机测试用例生成。我们注意到,覆盖DNNs的较大Lipschitz常数范围是一个具有挑战性的问题,因为大多数图像对(在某个高维空间内)都可以产生较小的Lipschitz常数(如1到2)。这就解释了为什么随机生成的测试对集中在小于3的范围内。然而,对于自动驾驶汽车等安全关键应用,Lipschitz常数较大的DNN本质上表明它更容易受到对手的扰动[20,21]。因此,可以覆盖较大Lipschitz常数的测试方法为训练的DNN提供了有用的鲁棒性指标。我们认为,对于DNNs的安全测试,Lipschitz常数覆盖的Concolic测试方法可以补充现有的方法来实现更好的覆盖。

结论

在本文中,我们提出了第一种DNNs的Concolic测试方法。我们在一个软件工具中实现了该工具,并将该工具应用于评估知名DNN的健壮性。测试输入的生成可以由包括Lipschitz连续性在内的各种覆盖度量来指导。我们的实验结果证实,具体执行和符号分析的结合既提供了覆盖率,又自动发现了对抗性示例。

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 在线直播间和视频追帧【转载】

    背景当下视频直播如此红火,打造一个在线直播间涉及到哪些技术呢?视频直播由主播的直播端以及观众的观看端组成。一个简单的观看端最起码应包含播放器以及聊天室。下面就围绕这两大模块来讲述相关技术。视频直播,可以分为视频采集、前处理、编码和封装、传输、解封装和解码、…...

    2024/5/4 5:13:10
  2. Linux系统配置网络

    Linux服务器网卡默认配置文件在/etc/sysconfig/network-scripts/下,命名的名称一般为ifconfig-eth0,ifcfg-eth1,eth0表示第一块网卡,eth1表示第二块网卡。 配置如下: DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp HWADDR=00:0c:29:52:c7:4e TYPE=Ethernet 编辑网卡配置文件时,…...

    2024/5/7 4:03:20
  3. Linux 基于cobbler自动化安装

    简介 Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。 Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。 Cobbler是…...

    2024/5/6 21:59:58
  4. `Kafka设置密码策略`*

    Kafka设置密码策略 密码策略介绍 密码策略是操作系统针对系统安全提供的一种安全机制,就好像linux操作系统不提供超级用户登录一样,密码策略包括:密码最小长度、密码使用期限、历史密码、密码复杂度等,在企业里面都是要求对操作系统进行密码策略进行配置的,而且要求密码复…...

    2024/5/7 8:45:38
  5. CSS布局

    CSS布局学习笔记 1.绝对定位 属性:position 值:absolute 通过制定left,top绝对定位一个元素。 (1)设置了绝对定位的元素,相当于该元素被从原文档中删除了。 <style>p.abs{position: absolute;left: 150px;top: 50px;}</style><p >正常文字1</p>&…...

    2024/4/20 1:06:59
  6. java微信支付后台服务方法

    java微信支付后台服务方法前言微信支付对接流程 前言 记录一下支付功能的一些方法, 仅供学习参考,不涉及商业内容,一些基本环境先说一下,后面就不再说了 jdk1.8 springBoot2.0 maven 微信支付对接流程 使用微信沙箱做演示 首先要登录微信开放平台-资源中心-开放平台改为选择微信…...

    2024/4/16 12:53:55
  7. 注解学习一

    学习总结自《Java核心技术卷二》 一.什么是注解? 首先我们要知道注解不会改变程序的编译方式,也就是Java编译器对于包含注解和不包含注解的代码会产生相同的虚拟机指令。但通过注解我们可以对一些开发进行简化。 1.如何才能使用注解? 为了我们能使用注解,我们需要选择一个处…...

    2024/4/18 15:37:56
  8. 【阅读笔记】机器阅读理解(中)——架构篇

    文章目录一、MRC模型架构总体架构编码层词表向量字符编码上下文编码交互层互注意力自注意力上下文编码输出层多项式选择答案生成区间式答案自由式答案生成注意力机制的应用拷贝生成机制二、常见MRC模型BiDAFR-net融合网络单词历史全关注注意力总体架构关键词检索与阅读模型(ET…...

    2024/5/7 4:12:11
  9. 【SpringBoot】SpingBoot整合AOP,手撸一Demo,再也不怕面试官问了

    AOP是什么? 要说AOP,就不得不谈OOP(面向对象编程)。 oop——竖向抽取即使不知道aop,那也知道OOP吧,对,就是OOP,Object Oriented Programming,面向对象编程。 在OOP中,我们将两个类中相同的部分抽取出来,形成父类,这两个类再继承这个父类。从而实现了消除冗余代码。…...

    2024/4/28 9:55:57
  10. 程序员如果预防大龄问题

    程序员如何预防大龄危机 困境 入行定位 强大自己 不怕苦不怕累 多交流 多学习新技术 精益求精 提高知名度 多写代码 多写组件并开源 积累人脉 开辟副业 接外单: 在线培训 自媒体 直播 困境在中国,程序员到了35岁,基本是一个坎,如果你还是通过常规的招聘网或者猎头去找工作,…...

    2024/4/19 21:18:57
  11. bizcharts图表中每个item的额外处理

    一、前言及简介产品就是一次又一次的迭代,不仅仅是功能性的,还有很多样式上的细枝末节。——by 做产品无奈吐槽有时候真的对这个行业有些失望了,很多很多问题导致的很多很多工作其实都是由于产品最开始的考虑不周造成的,说白了,就是无用功。人无完人,我理解这句话,很多…...

    2024/4/24 9:03:17
  12. Embedding从入门必读的十篇论文

    第一部分 Word2vec基础1. [Word2Vec] Efficient Estimation of Word Representations in Vector Space (Google 2013)Google的Tomas Mikolov提出word2vec的两篇文章之一,这篇文章更具有综述性质,列举了NNLM、RNNLM等诸多词向量模型,但最重要的还是提出了CBOW和Skip-gram两种…...

    2024/4/24 9:03:15
  13. 19年大学毕业生薪酬排行榜公布,差距一如既往的大

    最近几年,人心浮躁,快钱当道。 不少人鼓吹“学习无用论”,例子颇为丰富,比如尔盖茨、乔布斯、高晓松都是名校辍学生,甚至有人说:所以,就算你考上大学也没用,毕业后还会发现,你的老板正是当年没考上大学的高中同学。 之前2019年中国大学毕业生薪酬排行榜公布,无疑是对…...

    2024/4/24 9:03:14
  14. Java选择结构

    选择结构 if单选择结构我们很多时候需要去判断一个东西是否可行,然后我们采取执行,这样一个过程在程序中用if语句来表示语法 if(布尔表达式){//如果布尔表达式为true将执行的语句 }package com.hogwarts.struct;import java.util.Scanner;public class IfDemo01 {public stat…...

    2024/4/24 9:03:20
  15. 【软考高项】2020第一篇,万家灯火是一个伤痕累累的词

    武汉人,2020疫情封城前一天回武汉过春节,在武汉的家中关着门放了自打幼儿园开始,最长最长的一个寒假,2020/01/22~2020/04/10,80天。万家灯火,是一个伤痕累累的词。昔日最繁华的商业街,它遍体鳞伤。这是最后离家前的印象。我准备考软考高项了,嗯。...

    2024/4/24 9:03:12
  16. netty入门学习总结

    1.Netty 是什么?Netty是 一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。Netty是基于nio的,它封装了jdk的nio,让我们使用起来更加方法灵活。Netty和Tomcat有什么区别?Netty和Tomcat最大的区别就在于通信协议,Tomcat是基于Http协议的…...

    2024/4/24 9:03:11
  17. 1.缓存Redis实战操作记录

    文章目录缓存解决并发问题1.如何解决高并发1.1 高并发详情页处理1.2 缓存使用的思路1.3 数据存储策略1.4 思考:缓存问题2.springboot整合redis2.1 数据类型2.2 缓存redis整合2.2.1 加入依赖2.2.2 写一个reids的工具类(用来将redis的池初始化到spring容器中)2.2.3 写一个spring整…...

    2024/4/27 0:33:18
  18. 这7个GitHub高级搜索技巧,你知道吗?

    前言 GitHub作为全球最大的同性交友(代码托管)平台,里面藏着巨大的资源宝库,一套Ctrl+C和Ctrl+V组合拳打出来,就没有你实现不了的需求。好了,废话不多说,下面介绍7个GitHub搜索高级技巧,让资源搜索不再困难!关键字:in:name, in:description, in:readme GitHub是支持在…...

    2024/5/1 13:21:02
  19. SpringIOC源码阅读笔记(3)

    上篇笔记写到解析element分为解析默认标签以及自定义标签,本文就先从默认标签开始。 public static final String IMPORT_ELEMENT = "import"; public static final String ALIAS_ATTRIBUTE = "alias"; //bean public static final String BEAN_ELEMENT =…...

    2024/4/24 9:03:08
  20. 多媒体应用开发

    随着3G时代的到来,多媒体在手机和平板电脑上广泛应用。Android作为手机和平板电脑的一个操作系统,对于多媒体应用也提供了良好的支持。它不仅支持音频和视频的播放,而且还支持 音频录制和摄像头拍照。 播放音频与视频 Android提供了对常用音频和视频格式的支持,它所支持的音…...

    2024/4/24 9:03:07

最新文章

  1. 分享5款PDF编辑软件

    PDF编辑不易&#xff0c;有需要的朋友可以试试这5款专业软件&#xff0c;每一个都能直接在PDF文件上编辑&#xff0c;不同的软件对PDF可编辑的范围不同&#xff0c;大家可以按需求选用。 1.edge浏览器 Edge浏览器不仅是浏览网页的得力助手&#xff0c;还悄然成为了轻量级PDF管…...

    2024/5/7 10:44:07
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/7 10:36:02
  3. 北航2023年考研机试题

    【问题描述】一共6个手机基站&#xff0c;具有记录手机连接基站的能力&#xff0c;6个手机基站分别为ABCDEF&#xff0c;他们具有自己的覆盖范围且任何两个基站的覆盖范围不想交&#xff0c;基站保存的手机登陆日志包括手机号&#xff08;11位&#xff0c;用字符串保存&#xf…...

    2024/5/5 8:38:20
  4. 解析大语言模型训练三阶段

    大语言模型的训练过程一般包括3个阶段&#xff1a;预训练&#xff08;Pre-training&#xff09;、SFT&#xff08;有监督的微调&#xff0c;Supervised-Finetuning&#xff09;以及RLHF&#xff08;基于人类反馈的强化学习&#xff0c;Reinforcement Learning from Human Feedb…...

    2024/5/5 18:48:29
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/7 5:50:09
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/7 9:45:25
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/6 9:21:00
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/4 23:55:16
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/4 23:55:17
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/7 9:26:26
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/4 23:55:06
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/4 23:55:16
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/6 21:42:42
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57