深度学习系统的测试选择

互联不一般哥 2024-03-15 00:15:08

摘要

由于所涉及的计算数量和复杂性过多,深度学习模型的测试具有挑战性。因此测试数据的测试是手动完成的。这就引出了一个问题:我们如何自动选择候选数据来测试深度学习模型。最近的研究集中在定义度量来衡量测试套件的彻底性,并依靠这些度量来指导新测试的生成。然而,选择测试输入(例如由人工手动标记)的问题仍然存在。在本文中,我们基于模型不确定性的概念对一组测试选择指标进行了深入的实证比较。直观来说,候选样本的不确定性越大,该样本触发错误分类的可能性就越大。同样,我们假设不确定性最大的样本同样也是信息量最大的样本,应该优先使用再训练来改进。我们在五个模型和三个广泛使用的图像分类问题上评估这些指标。我们证明了基于不确定性的度量具有很强的识别错误分类输入的能力,比惊讶指标(Surprise Adequacy)强三倍,并且优于覆盖相关指标。我们还发现这些指标可以在再训练期间更快地提高分类准确性:比随机选择和我们考虑的所有模型的其他最先进指标快两倍。

引言

深度学习(DL)系统能够解决复杂的任务,在许多情况下跟人类一样好甚至更好。这样的系统很有吸引力,因为它们自己学习特征,只需要最少的人类知识。因此,它越来越多地被使用并与更大的软件系统和应用程序集成。

这种技术的采用引入了对其可靠性评估的需求。从本质上说,DL 系统测试应该专注于识别不正确的学习属性,并产生可能使系统偏离其预期行为的数据。为此,最近的研究重点在设计测试覆盖率度量来度量一组输入测试模型的彻底程度。

在本文中,我们关注选择测试输入的问题。在 DL 中,测试输入选择解决了一个实际问题:应该标记未被标记数据的哪个子集以发现 DL 模型中的错误。我们考虑基于模型不确定性的概念的测试选择度量。从直观上看,模型对候选样本的不确定性越大,样本越有可能引发误分类。我们在三个数据集(MNIST、Fashion-MNIST 和 CIFAR-10)上使用图像分类器评估这些指标,并将它们与之前提出的指标进行比较。

我们的结果显示,当考虑错误分类时,预测概率是最有效的度量之一,显著优于惊讶指标和覆盖率度量。就更快地提高分类准确度而言,dropout 方差与预测概率的组合优于其他指标。

问题定义

DL 在计算机视觉应用程序(我们在实验中考虑的用例)中进行应用,其目标是在两个或更多类之间正确分类图像。此类问题的一个特征是数据通常会激增。为了让数据是有用的,这些数据也需要被标记,然后它们可用于测试模型用以训练。数据标记通常由手动或非系统程序执行,这意味着 DL 系统开发人员必须投入大量人力来生成质量可靠的 DL 模型。我们的主要动机是通过优化 effort-reward 比率来支持他们完成这项任务。

我们将这个问题表述如下:我们假设开发人员可以访问任意数量的输入(即没有标签的数据),并且他们只能标记任意数量的 k 输入。我们将测试输入选择命名为选择最有效的输入来标记的问题。

测试选择指标

我们的总体目标是考虑一系列与错误分类相关的指标,并研究它们在选择错误分类输入方面的有效性。我们假设模型的不确定性与错误分类密切相关——模型对某个输入的不确定性越大,就越有可能对该输入进行错误分类。Dropout 方差是估计预测不确定性的最具体和最简单的方法。我们考虑了其他指标,如 Neuron Coverage、Surprise Metrics。尽管它们不是用于测试输入选择,但它们与测试充分性的一般概念有关,并且仍然通常用于驱动测试生成。由于我们的目标是试验测试输入选择问题,我们应该使用最相关的指标。其余指标代表互补属性:Neuron Boundary Coverage (NBC) 是 NC 的泛化,Silhouette Coefficient(Si) 是 Surprise Metrics 的替代方案,而 Kullback-Leibler 散度(KL)是另一种测量 Dropout 方差的方法,可以估计不确定性模型,因此我们也考虑它们。

定义 1 设 D 是一个经过训练的 DL 模型。输入 x w.r.t. 的最大概率分数 D 由下式给出

其中 C 是类的数量,pi(x) 是根据 D 对 x 到类 i 的预测概率

近期有研究从数学角度上证明了 neuron dropout 可以用来模拟不确定性。Dropout 最初是作为一种避免神经网络过拟合的技术提出的,它是通过在训练过程中随机丢弃神经元。

遵循我们的假设,即不确定的输入更有可能被错误分类,我们定义了一个从 dropout 方差派生的度量来评估输入 x 对 D 的挑战程度。

定义 2 输入 x 的方差分数由下式给出

其中 C 是类的数量,var 表示方差函数。

这个度量的一个缺点是它没有考虑预测概率。为了克服这个问题,我们提出了一个相对度量,用 D 输出的最高概率对方差分数进行归一化。

定义 3 输入 x 的加权方差得分为

尽管 x 的方差和加权方差分数可以被视为模型 w.r.t. x 不确定性的定量度量,但我们也提出了一个名义上的替代方案。我们关注由不同突变模型产生的实际类别预测,而不是预测概率的方差,即具有最高概率分数的类别。我们构建了这些 k 类预测的归一化直方图,并将它们的分布与理论的、最坏情况的、完全不确定的模型的分布进行比较,其中类预测均匀分布在所有类上。

为了将实际类别预测分布与最坏情况分布进行比较,我们依赖于 KL 散度的离散版本。当 D 的不确定性很高时(即突变体通常不同意),KL 散度很低。

定义 4 输入 x 的 Kullback-Leibler 分数是

其中 i 是类别标签,H 是由 k 个 dropouts 产生的类别预测的归一化直方图,Q 是均匀分布。

实验设置

我们考虑三个图像识别数据集。MNIST 包含 10 个类别的手写数字数据,由 0000 张图像组成。FashionMNIST 将服装图像分为 10 类,也由 70000 张图像组成。 CIFAR-10 有 10 类图像(猫、狗、卡车等)。该数据集有 50000 张用于训练的图像和 10,000 张用于测试的图像。

表 1 显示了我们在实验中使用的模型的特征。对于 MNIST 和 Fashion-MNIST,我们使用三个简单的网络:多层感知器 (MLP)、LeNet 和具有更多内核的修改版 LeNet (WLeNet)。对于 CIFAR-10,我们使用两个复杂网络 NetInNet 和 10 层 VGG16(命名为 VGG10)。模型训练了 50 个 epoch (MNIST)、150 个 epoch(Fashion-MNIST)和 300 个 epoch(CIFAR-10)。表 1 中的最后一列显示了在整个训练集上训练时模型的最佳准确率。

表 1 实验中使用的数据集和 DNN 模型

我们的第一步是评估所研究的指标选择可以挑战给定 DL 模型的测试输入的能力。为了实现这一点,我们确定了指标和错误分类之间的相关性。我们将一个特定输入 x 的 D 预测的“正确性”编码为二进制变量 bx。对于每个度量,我们计算度量给所有测试输入的分数与其对应的二元变量之间的 Kendall 相关性。我们使用 Kendall 相关性是因为,作为一种有序关联度量,它侧重于度量对错误分类的输入进行排名的程度。如果必须选择有限数量的输入进行标记和测试,则应选择排名较高的输入。

为了研究在大量数据下的故障揭示能力,我们在测试数据中加入了对抗性样本。对抗性数据是为了欺骗分类器而对原始数据进行连续的小扰动的结果。为了制作对抗数据,我们使用了五种已建立的对抗数据生成算法:快速梯度符号法、基于雅可比矩阵的显著图攻击、DeepFool、基本迭代法和 Carlini-Wagner (CW)。

为了研究是否用基于度量标准选择的数据来增加训练集可以导致更快的改进,我们设置了如图 1 所示的迭代再训练过程。

图 1 再训练数据选择流程

首先,我们将原始训练集随机拆分为包含 10000 张图像的初始训练集和包含剩余图像的候选集。测试集保持不变。在第一轮中,我们只使用初始训练集训练模型,并计算其在测试集上的准确性。在完成训练之后,我们使用我们得到的最好的模型来计算剩余的候选数据上的测试选择指标。然后,我们将一批 5000 张新图像(通过指标选择)从候选集添加到当前训练集。我们使用整个增强训练集从头开始训练模型,保证足够多的 epoch,以便我们能够公平地分析不同的方法。我们对多轮重复这个过程,直到候选集为空。

实验结果

表 2 显示了指标和错误分类之间的 Kendall 相关性。 我们观察到 KL、Var、Varw、MaxP 和 DSA 具有中等程度的相关性,这意味着它们可以产生有价值的测试数据(即导致错误分类的数据)。相反,我们观察到 LSA 和 Si 与错误分类的相关性很弱。

表 2 错误分类与原始(真实)测试数据的指标之间的 Kendall 相关性

这些结果表明 KL、Var、Varw、MaxP 和 DSA 与错误分类有较好的相关性。更准确地说,KL 和 MaxP 是测试选择的最佳指标,与错误分类的相关性是其他指标的三倍。在 MNIST 数据集模型的特殊情况下,这两个指标是唯一达到中等相关性的指标,而其他指标仅达到较弱或非常弱的相关性。

图 2 记录了原始测试数据集被每个对抗数据集增强时度量和错误分类之间的 Kendall 相关关系。KL、Var、Varw、MaxP、Si 和 DSA 与误分类的相关性目前大多较强,而 LSA 的相关性仅达到中等水平。总的来说,无论使用哪种算法,MaxP 都实现了更强的相关性,除了 WLeNetMNIST,而 KL 得到了更强的相关性。至于基于 NC 的指标,它们的相关性总体上仍然较弱。

图 2 热图显示了错误分类与使用五种不同算法获得的真实数据和对抗性(错误分类)数据的混合指标之间的 Kendall 相关性。

图 3 显示,对于每个度量,箱线图表示生成图像的迭代次数与该图像的度量值之间的 Spearman 相关性的统计分布。基于不确定性和意外的度量实现了强相关性(Varw 在这方面是最好的),这意味着它们在迭代过程中几乎是单调的,因此可以很好地捕捉对抗性生成过程。相反,基于 NC 的度量达到非常弱或不规则的相关性。

图 3 指标与对抗性算法生成的图像的迭代次数之间的 Spearman 秩序相关性。

表 3 和表 4 分别展示了错误分类与在 CW 和 FGSM 生成的中间(大部分分类良好)和最终(错误分类)图像上计算的度量之间的 Kendall 相关性。在考虑 FGSM 时,相关性类似于将真实数据与对抗性(错误分类)数据混合时的相关性。然而,在 CW 的情况下,它们变得更弱,尽管它们在某些指标(Varw、MaxP、LSA 和 DSA)上保持中等到强。

表 3 错误分类与 CW 生成的对抗性数据指标之间的 Kendall 相关性

表 4 错误分类与 FGSM 生成的对抗性数据指标之间的 Kendall 相关性

图 4 显示了通过迭代地增加训练数据,并根据不同的度量标准选择 5000 个数据,从而在每一轮再训练中获得的最佳准确性。总体而言,我们发现不确定性和 surprise metrics 优于基于 NC 的指标,后者与随机选择相当。

在 NetInNet 上应用 CIFAR-10, Var 比 ANC 获得了超过 20%的精度增益(+8.4% vs +6.9%),而精度从初始训练集到最终训练集增加了+10.4%。在考虑验证损失时,我们观察到类似的结论。事实上,基于 NC 的指标会导致缓慢的下降(类似于随机选择),这揭示了这些指标在选择用于再培训的数据时的不恰当性。

图 4 验证精度超过固定的一组 10,000 原始测试数据,并通过连续增加训练数据与 5,000 数据(在每个再训练轮)由不同的指标选择

结论

基于模型不确定性的概念,我们考虑了 DL 系统的测试选择指标。我们对这些度量标准进行了试验,并将它们与惊讶指标和与覆盖率相关的度量标准与它们的错误揭示能力进行了比较。

我们的研究结果可归纳如下:

l 在处理原始数据时,不确定性指标(特别是 KL 和 MaxP)表现最好,明显优于之前提出的指标(基于覆盖和惊讶指标)。

l 在处理原始数据和对抗性数据的混合时,MaxP 是最有效的。此外,基于不确定性的指标在测试选择方面也很有效。

l 我们的结果还表明,在与测试相关的实验中使用对抗性数据应该谨慎。在考虑原始、对抗性或它们的混合时,所有研究的指标都经历了显着的性能差异。

l 我们还证明了指标(特别是 KLp 和 Varp)使主要的分类准确度提高,与之前提出的指标和随机选择相比,准确度提高了 80%。

我们的工作是朝着为研究人员和从业人员提供 DL 系统测试评估指标的长期目标迈出的重要一步。这些自动数据选择指标为系统和客观地选择测试数据铺平了道路,这可能会导致衡量测试有效性的标准化方法。

致谢

本文由南京大学软件学院2021级硕士曹智豪翻译转述,2020级博士生尹伊宁审核。

0 阅读:0

互联不一般哥

简介:感谢大家的关注