深度学习(DL)系统在安全攸关领域中被广泛的应用。因此迫切需要一系列测试其正确性和鲁棒性的方法。传统来看,深度学习系统的测试往往要依赖于手动的收集与标记书。最近,学者们提出了很多基于神经元激活数的覆盖标准。 这类标准实质上是对运行深度学习系统期间其激活满足某些属性(例如高于预定阈值)的神经元进行计数。但是,一方面,现有的这类覆盖标准不足以捕获 DL 系统所表现出的细微行为;另一方面,这类神经元激活覆盖,重点体现的是对抗性示例与提出的标准之间的相关性,而无法评估和指导 DL 系统实际过程中的测试。
本文的作者提出了一种新的用于测试 DL 系统的测试充分性标准,称为深度学习系统的惊奇程度(Surprise Adequacy(SADL)),这一标准是 DL 系统相对于其训练数据的一个度量。简单的来说就是,通过测量输入的惊奇程度,给出输入与训练数据之间 DL 系统行为上的差异(这也就体现了在训练过程中学到的东西)。与训练相比,良好的测试输入应该具有足够但不过分的惊奇程度。
作者将这一标准应用到一系列的 DL 系统中,并经过经验评估表明:基于输入的惊奇程度对其进行系统的输入采样,可以通过再训练,可将 DL 系统针对对抗性示例的分类准确性提高 77.5%。
深度学习(DL)系统在许多的领域都已取得了重大进展。在一些安全攸关领域(例如自动驾驶和恶意软件检测)中,研究者也越来越多的将 DL 纳入成为大型系统的一部分。而这类领域的安全性的更高要求,自然也对 DL 系统提出了正确性与可预测性的更高要求。然而,现有的软件测试技术往往无法直接适用于 DL 系统,尤其是其中旨在增加结构覆盖率的白盒测试技术,因为难以明确的编码进它们的控制流结构中,所以对于 DL 系统也就不具有明显效果。
最近已经有许多用于测试和验证深度学习系统的新方法,来填补这一领域的空白。这些技术大多数建立在两个假设之上。
第一个假设:如果深度学习系统的两个输入在某种意义上是相似的,那么它的输出也应该相似。这本质上是对蜕变测试的本质概括。例如,DeepTest 检查在转换输入图像时自动驾驶系统是否具有相同的选择,比如,同一场景处于不同的天气条件下的选择。
第二个假设:一组输入越多样化,则可以执行的 DL 系统的测试就越有效。例如,DeepXplore 提出了 Neuron Coverage(激活值高于预定阈值的神经元的比率)作为神经元行为多样性的度量,随后表明,违反第一个假设的输入也会增加神经元覆盖率。
尽管基于这两个假设的新技术在 DL 系统的手动测试上取得了显著的进步,但相关的标准仍然存在着一些限制。最主要的局限在于,目前的覆盖标准不够细粒度,换句话说,它们还都只是简单地计算激活值满足某些条件的神经元的数量。虽然可以通过这一方式帮助测试人员对输入集测试有效性进行量化,但它传递的关于单个输入的信息很少。例如,不能确定什么时候,高 NC 的输入比低 NC 的输入的效果好;同时,有些情况下的一类输入自然会比其他输入激活更多的神经元阈值。
为了克服以上限制,作者为 DL 系统提出了一种新的测试充分性的标准,并将其称为 DL 系统的惊奇程度(SADL)。直观的来讲,一个好的 DL 系统的测试输入集合应该足够多样化,从而可以包括与训练数据集相似的输入、显著不同的输入以及对抗性的输入。在单个输入的维度上,SADL 根据训练过的数据集来测量新输入对于 DL 系统的惊奇程度。实际的惊奇度量可以基于系统在训练期间看到相似输入的可能性(这里是通过使用核密度估计来从训练过程中推断出的概率密度分布),也可以基于给定输入和训练数据之间神经元激活轨迹的向量的距离(此处仅使用欧几里得距离)。随后,可以得到关于一组测试输入的惊奇充足性(SA)。 结果显示,通过训练基于 SADL 值的对抗性事例分类器,可以产生比现有技术更高准确性的对抗示例分类器。研究者还表明,根据 SADL 进行再训练 DL 系统的输入采样可以提高准确性,从而表明 SADL 是一个独立变量,可以正向的影响 DL 系统测试的有效性。
DL 系统的所有现有测试充分性标准旨在测量输入集的多样性。神经元覆盖率(NC)假设,在预定阈值以上激活的神经元数量越多,执行 DL 系统的输入就越多样化。DeepGauge 提出了一系列更细粒度的充分性标准,包括 k-多节神经元覆盖率(用于测量跨所有神经元的激活值桶的比率)和神经元边界覆盖率(用于测量在训练过程中观察到的超出激活范围的神经元的比率)。
有人认为,就训练数据而言,DL 系统测试中的多样性更有意义,因为对于不熟悉的输入(即多样化),DL 系统可能更容易出错。 此外,虽然高于阈值或超出观察范围的神经激活可能与给定输入的多样性密切相关,但它们无法衡量一个输入的网络激活与另一个输入的激活在多大程度上不同。 它们从根本上说是离散化,没有利用神经元激活为连续量这一事实。
相反,本文作者的目标是定义一个适当的标准,该标准定量地测量相对于训练数据在给定一组输入中观察到的行为差异。
基于可能性的惊奇程度(LSA):
基于距离的惊奇程度(DSA):
另一种用于替代的方法是直接使用激活轨迹之间的距离来作为度量。这里通过使用新的输入 x 的激活轨迹与训练期间得到的激活轨迹的欧式距离来定义基于距离的惊奇充分性(DSA)。
这是一种距离度量标准,适合利用输入之间的边界,来比较新输入的激活轨迹与参考点(距离 C1 最近的激活轨迹)之间的距离相比于参考点距离 C2 集中最近点距离,从而来体现新输入与类边界有多接近。
作者认为,对于分类问题,更接近类边界的输入在测试输入多样性方面更加有价值。 另一方面,对于输入之间没有任何界限的任务,例如自动驾驶汽车的适当转向角的预测,DSA 则可能不太适用。
图一:DSA 的直观图像理解,x1 相比 x2 有更好的惊奇程度。
惊奇覆盖(SC):
给定一组输入值,还可以来测量覆盖值的 SA 值范围,并将这一度量记作,惊奇覆盖率(Surprise Coverage)。对应上面所提到的两种定义在连续空间的 SA 计算方法 LSA 与 DSA,利用分类来离散惊奇程度的空间,并给出对应的基于概率的惊奇覆盖率(LSC)与基于距离的惊奇覆盖率(DSC)。
一组输出的 SC 值越高,意味着多样性越好。作者认为,用于 DL 系统的输入集不仅自身应该足够多样化,同时还应该考虑 SA 在系统上的多样化。此外,还有一些研究说明,更遥远的测试输入更有可能导致异常,但这种异常可能与测试无关,这也就从另一种角度证明了,多样化输入不能只从自身的角度来看的观点。
尽管这里使用了覆盖率的说法,但这里的覆盖率并不是传统意义上的定义。首先,不同于大多数结构性覆盖标准,SC 没有一个有限的目标集合来去覆盖,因此,SC 只能相对于预先定义的上界进行测量。另一方面,SC 不会陷入组合集覆盖问题,单个输入仅产生单个 SA 值,并且不能属于多个 SA 区间。 以 SC 作为覆盖标准的冗余感要弱于结构覆盖的冗余感,因为结构覆盖率的单一输入可以覆盖多个目标。
研究问题(RQ):
RQ1:SADL 能够捕获 DL 系统输入的相对惊奇程度么?
首先,作者计算原始数据集中包含的每个测试输入的 SA,然后查看 DL 分类器是否发现难以识别的具有较高惊奇程度的输入。并希望更高惊奇程度的输入难以正确分类。
其次,作者评估是否有可能基于 SA 值检测生成对抗示例,因为其期望对抗示例会具有更高的惊奇程度,并导致 DL 系统的不同行为。使用不同的技术,可以生成多组对抗性示例并通过其 SA 值进行比较。
最后,作者使用对 SA 值的逻辑回归训练对抗性示例分类器。 对于每种对抗攻击策略,我们使用 MNIST 和 CIFAR-10 提供的 10,000 个原始测试图像生成 10,000 个对抗示例。 使用全部随机选择的 1,000 个原始测试图像和 1,000 个对抗示例,我们训练了逻辑回归分类器。 最后,我们使用剩余的 9,000 个原始测试图像和 9,000 个对抗示例来评估经过训练的分类器。如果 SA 值正确地捕获了 DL 系统的行为,则意味着基于 SA 的分类器能够成功检测到对抗性示例。作者使用曲线下面积的接收算子特征(ROC-AUC)进行评估,因为它捕获了真假阳性率。
RQ2:层灵敏度:用于 SA 计算的神经元层的选择对 SA 能否准确反映 DL 系统的影响?
Bengio 等人认为更深的层代表输入的更高层次的特征,并在随后的工作中,通过引入基于 KDE 的对抗性示例检测技术,假定最深的(即最后隐藏的)层包含有助于检测的最多信息。 作者通过计算所有单独层的 LSA 和 DSA,然后通过比较每一层在 SA 上训练的对抗性示例分类器,在 SA 的背景下评估这种假设。
RQ3:相关性:SC 与 DL 系统的现有覆盖标准相关么?
除了捕获惊奇程度的信息之外,作者同样希望 SC 与基于计数聚合的现有覆盖标准保持一致。 因为如果不是这样,则意味着存在 SC 实际上正在测量输入分集以外的东西的风险。
为此,作者通过累积添加不同方法生成的输入(即不同的对抗性示例生成技术或输入合成技术)来控制输入多样性,使用这些输入执行所研究的 DL 系统,并比较观察到的各种覆盖标准(包括 SC 和四个现有标准)的变化: DeepXplore's Neuron Coverage(NC)和三个由 Deep-Gauge 导出的神经元级覆盖率(NLCs):k 多节神经元覆盖率(KMNC),神经元边界覆盖率(NBC)和强神经元激活覆盖率(SNAC)
RQ4:指导性:SA 可以指导 DL 系统的再培训,以提高它对抗 DeepXplore 产生的对抗性案例和合成测试输入的准确性吗?
为了评估 SADL 是否可以指导现有 DL 系统的额外训练,以提高对抗性示例的准确性,作者考察 SA 是否可以指导输入的这些选择以进行额外训练。 从这些模型的对抗示例和综合输入中,从四个不同的 SA 范围中选择了四组,每组 100 张图像。
给定 U 作为 RQ3 中的计算 SC 的上界,我们将其分为四个子集,第一个子集包括前 25%的 SA 值
,第二个子集包括前一半的 SA 值
,第三部分包括前 75%的 SA 值
,最后一个集合包括整个区间。这四个子集意味着越来越多样化的输入集合。作者选择每一个区间对应的 100 个随机图像,并对现有的每个模型分别额外训练 5 轮。最后,分别针对整个对抗性输入和综合输入来衡量每种模型的性能。来观察更高多样化的子集进行再培训是否能够带来更好的效果。
实验设置:
研究者使用(a)原始测试集,(b)由五种攻击策略生成的对抗示例以及(c)由 DeepXplore 和 DeepTest 生成的综合输入,在四个不同的 DL 系统上评估 SADL。
数据集与 DL 系统:
表一:所使用的的三个数据集与对应设置。
对抗实例与综合输入:
使用对抗性示例和综合测试输入对 SADL 进行评估。 通过将人类无法察觉的小扰动应用到原始输入中来制作对抗性示例,直到所研究的 DL 系统的行为不正确为止。我们使用五种经过广泛研究的攻击策略来评估 SADL:快速梯度符号方法(FGSM),基本迭代方法(BIM-A,BIM-B),基于雅可比度的显着性图攻击(JSMA)和 Carlini&Wagner(C&W)。并基于克莱弗汉斯和 Ma 等人的框架来实现这些策略。
对于 Dave-2 和 Chauffeur,作者使用最先进的合成输入生成算法 DeepXplore 和 DeepTest。两种算法均旨在从现有输入中综合新的输入,以检测自动驾驶车辆中的错误行为。
配置:对于所有研究问题,将 LSA 的默认激活方差阈值设置为
,并使用 Scott 规则设置 KDE 的带宽。
输入惊奇(RQ1):
图 2 显示了当我们从 MNIST 和 CIFAR-10 数据集中包含的测试输入中对尺寸不断增大的图像集进行分类时,分类精度如何变化。与红点(AscendingSA)相对应的图像集以具有最低 SA 的图像开始,并且越来越多地以 SA 的升序包含具有较高 SA 的图像;与蓝点相对应的图像集沿相反的方向生长(即,从具有最高 SA 的图像到较低 SA 的图像)。 作为参考,绿点表示在 20 次重复中随机增长的集合的均值准确性。 显然,具有较高 LSA 值的图像,即,更高惊奇程度的图像,导致较低的准确性。
图二:
为了在另一个数据集上进行视觉确认,我们还从 3 个不同的 LSA 值级别中选择了 DeepTest 为 Chauffeur 合成的输入集:图 3 显示,LSA 值越高,视觉上识别图像的难度就越大。从数量上和视觉上,观察到的趋势都支持我们的观点,即 SADL 捕获了输入惊奇:即使对于看不见的输入,SA 也可以测量给定输入的惊奇程度,这与 DL 系统的性能直接相关。
图三:Deepest 生成的司机模型的合成图像。
具有较高 LSA 值的图像往往难以在视觉上识别和解释
图四:对 MNIST 和 CIFAR-10 的对抗示例的 DSA 值进行排序。
图五:从不同层随机选择了 2,000 个针对 MNIST 和 CIFAR-10 的对抗示例的 LSA 排序
对于 MNIST 和 CIFAR-10 而言,数据集提供的测试输入(以蓝色表示)往往是最令人惊讶的,而大多数对抗性示例由于其较高的 SA 值而明显地与测试输入分离。 这支持了我们的主张,即 SADL 可以捕获 DL 系统在对抗性示例中的行为差异。
表二:基于 DSA 的 MNIST 和 CIFAR-10 的对抗示例分类 ROC-AUC 结果
最后,表二结果表明,图 4 中观察到的 DSA 值差距可用于对具有高准确性的对抗性示例进行分类。
基于三种不同的分析,RQ1 的答案是 SADL 可以捕获输入的相对惊奇程度。具有较高 SA 的输入更难正确分类;对抗样本会显示更高的 SA 值,可以根据 SA 进行相应的分类。
层选择的影响(RQ2):
表三:MNIST 上每层 SA 的 ROC-AUC 结果
表四:CIFAR-10 上每层 SA 的 ROC-AUC 结果
LSA 和 DSA 与 CIFAR-10 显示出不同的趋势。对于 LSA,没有充分的证据表明最深的层会生成最准确的分类器,但是对于 DSA 而言,最深的层会针对五种攻击策略中的三种(BIM-B,JSMA 和 C&W)生成最准确的分类器。
基于这些结果,我们回答 RQ2, DSA 对它所计算的层的选择是敏感的,并且选择更深的层时更有价值。然而,对于 LSA 来说,没有明确的证据支持深层假设。层敏感性在不同的对抗性例子生成策略中是不同的。
SC 与其他标准的相关性(RQ3):
表五:在不同的覆盖率标准中增加了对抗集。
图六:CIFAR-10 和 Chauffeur 的覆盖率可视化
表五和图六的结果表示,随着更多的输入集(x 轴)被添加到原始测试集,各种覆盖率标准(y 轴)增加。
并可以分析得到得到结论:SC 与到目前为止引入的其他覆盖标准具有相关性。
再训练指导(RQ4):
表六:SA 指导下的再训练结果(最好结果加粗加粗显示)
表格显示,选择全范围时,达到最好再训练效果的配置数量最多(15 个)。
尽管观察仅限于此处研究的 DL 系统和输入生成技术,但可以回答 RQ4,即 SA 可以根据对观察到的趋势的解释为对抗性示例提供更有效的再训练指导。
文章评论(0条评论)
登录后参与讨论