【论文阅读 | 对抗攻击】《Aries: Efficient Testing of Deep Neural Networksvia Labeling-Free Accuracy Estimation》

痛点问题:开发人员经常将数据集分成训练集、验证集和测试集。测试集主要用于测量训练模型的准确性(作为性能通用性的指标),因此,最终开发的深度神经网络通常具有报告的测试准确性。然而,原始测试集往往只覆盖了数据分布的一部分(通常是与训练数据相同的分布)。在实际环境中,不可见数据的分布往往不明确,报告的测试精度难以反映实际使用中的实际模型性能。因此,除了在原始测试数据上测试模型之外,非常需要在新数据上对dnn进行性能评估,这些新数据通常可以从每天或每月的大量传入数据中获得。在未标记的数据上评估模型是具有挑战性的。更重要的是,标记所有新数据(可能很大)是一项耗费人力和时间的工作。

解决思路:数据的预测精度与数据到决策边界的距离之间可能存在联系。采用现有的基于dropout的不确定性来估计数据实例与决策边界之间的距离。通过将不确定性分数分成n个区间,我们得到n个桶的距离分布。然后,我们可以根据数据实例的不确定性得分将它们映射到一个桶中。这样,我们就可以根据属于该桶的原始测试数据(带标签)作为支持证据(点)来估计每个桶的准确性。最后,给定没有标签的新数据,我们将它们映射到不同的桶中,并利用估计的桶精度来计算新数据的总体精度。与现有的需要标记数据来计算模型精度的技术相比,Aries是完全自动化的,无需额外的人工标记工作。

        为了评估Aries的有效性,我们对两个常用的数据集(CIFAR-10和Tiny-ImageNet)、四种不同的DNN架构(包括ResNet101和DenseNet121)进行了深入的评估。除了原始测试数据,我们还使用了13种转换后的测试集(例如,增加亮度的数据)来模拟现实可能出现的新的未标记数据,其中转换后的数据可能遵循与原始测试数据不同的数据分布。结果表明,Aries可以精确地估计DNN模型在新的未标记数据上的性能,而无需进一步标记。与实际精度相比,使用默认参数设置的估计精度相差0.03% ~ 2.60%。

        此外,与最先进的(SOTA)无标记模型性能估计方法相比,Aries可以预测更准确的准确率。相对于需要对部分测试数据进行标注的测试选择方法CES[12]和PACE[15],Aries在不进行额外标注的情况下仍然可以获得有竞争力的结果。此外,我们还进行了消融研究,以探讨Aries的各个组成部分对估计性能的影响。

贡献:

• 我们提出了一种用于质量评估的新型深度神经网络测试技术Aries,它可以有效地估计未标记数据的模型准确性,而无需任何标记工作。

• 我们通过经验证明,Aries可以获得比SOTA无标记模型性能估计方法更好的结果,并且与需要人工标记的测试选择方法相比,具有竞争力的结果。

• 我们还全面探索了可能影响白羊座性能的每个潜在因素,并提供了推荐参数。

• 代码开源

        DNN测试是支持深度学习的软件开发过程中必不可少的活动,可以在部署前确保DNN的质量和可靠性。通常,深度神经网络(DNN)使用大量标记数据(即所谓的训练集)进行训练,并使用验证集来估计性能误差(本文称之为准确性)。通常,术语“验证集”与“测试集”可以互换使用,因为假设验证集和测试集来自与训练集相同的数据分布。

        一个微小的区别是,验证集主要用于训练过程,以搜索更好的训练设置和配置。测试数据扮演未来未知数据的角色,以估计训练后的DNN在未来未知情况下的表现。尽管现代机器学习的基本假设是,测试(看不见的)数据和训练数据具有相似的分布,在这种分布下,在训练数据上获得的性能也可以推广到测试数据,但这种假设通常不适用于部署在野外的dnn。对于许多现实世界的应用,新的测试集(即未来看不见的数据)可以保持不同的分布[17],这破坏了获得的准确性的信心。例如,给定在低对比度图像集上训练的DNN,新选择的图像具有高对比度[18]。

        因此,原始测试集的精度不能反映新测试集的实际精度。此外,新数据通常是原始的、未标记的,无法直接计算准确性,这需要开发人员进行专门的测试。给定一个未标记的测试集,获得DNN准确性的最直接方法是手动标记每个数据,并比较实际情况和预测标签之间的差异。然而,标签工作可能是昂贵的劳动力费用和时间。如文献所述,测试选择已被证明是优化测试过程的一种很有前途的解决方案。测试选择技术可以分为两类:

        1)第一类是测试优先级,它试图识别最可能被错误分类的数据。找到这些数据后,可以使用它们进一步增强预训练模型(例如,通过模型再训练)。

        2)另一种是选择一个能够反映整个集合行为的数据子集。在该技术中,通过特定的方法选择固定数量的相关测试数据并手动标记以计算精度。在默认情况下,所选择的集合(期望)代表整个集合,因此,所获得的精度可以近似地反映整个给定集合上的DNN精度。虽然通过这种方式,标注工作可以大大减少到几个数据,但在给定的预算下(例如,标注),它仍然是不切实际的。

        a .关键洞察和假设我们的假设是,预测精度与数据到决策边界的距离之间可能存在相关性。为了更好地理解这一假设,图1描绘了一个直观的二元分类示例,该示例使用决策边界(蓝色实线)将数据空间划分为2个区域。为了更好地理解这一假设,图中将每个区域进一步划分为多个子区域,基于其到决策边界的距离。在图中,通过距离h均匀划分空间为3个桶(Bucket1、Bucket2和Bucket3)。假设对于同一桶中的数据,做出(不)正确预测的概率是相似的,即模型对这些数据的性能相同。因此,如果我们能够获取每个桶中的模型准确性并将新数据映射到相应的桶中,就可以近似模型对这些新数据的准确性。

        考虑到数据空间通常是高维且复杂的,很难直接描述决策边界。最近,dropout不确定性被广泛用于估计数据到决策边界的距离。在这个上下文中,"dropout预测的个数" 意味着对于给定的输入数据,模型使用了多次 dropout 操作进行多次预测。通过多次预测,可以获得对应于不同神经元随机 dropout 情况下的多个预测结果。这里的 T 表示进行多少次这样的 dropout 预测。 t 是桶的索引,表示数据点属于哪个桶。 n 是桶的总数,即你要将LVR值的范围分成多少个桶。这个过程就是将数据集 X 中的数据根据其 LVR 值分成 n 个桶的操作。

        在使用该模型对数据进行多次预测后,如果预测的输出方差很大,我们就说该数据可能是模型不确定的,并且接近决策边界。我们使用Aries的不确定性来进行距离近似,并将在配置研究中探索其他选项。在高水平上,我们的见解是合理和实用的,因为DNN的预测置信度遵循在训练过程中从训练数据中自动学习的特定分布。当测试样本落入分布和预测置信区域时,我们的细粒度分割区域可以提供一定程度的证据来支持DNN质量评估。

定义1(标签变异率(LVR))。给定具有dropout层的模型M,输入数据x, dropout预测次数T,定义x的LVR为:

        

        我们使用LVR计算了每个数据点在模型预测中被正确预测的次数,从而得到了一个LVR值。 我们将LVR值的范围划分成若干个桶(Bucket),每个桶包含了具有相似LVR值的数据点。 我们通过观察相同桶内数据点的准确性来验证我们的假设,即认为相似LVR值的数据点具有相似的准确性。

定义2 (Bucket)。给定数据集X, M和区间数n,我们定义属于第t个桶的数据为:

        在这里,t 是桶的索引,表示数据点属于哪个桶。n 是桶的总数,即你要将LVR值的范围分成多少个桶。这个过程就是将数据集 X 中的数据根据其 LVR 值分成 n 个桶的操作。具体来说,对于一个给定的数据点 x,根据其 LVR 值,它会被分到对应的桶中。

更简单的理解:

接下来,为了验证我们假设的合理性,我们进行了两项初步研究:1)同一Bucket中的数据是否具有相似的精度;2)LV R与模型精度之间是否存在关系(数据集和模型的详细信息请参见第四节)。在第一项研究中。我们将测试数据随机分成两组,假设其中一组已经有标签信息,另一组是新的未标记数据。然后我们激活每个模型中的Dropout层来多次预测这两个集合(这里,我们将T的数量设置为50,这是Aries的默认设置)。

之后,我们计算每个数据的LVR评分,然后使用定义2将数据分成不同的bucket。

最后,我们对同一Bucket中的数据检查模型的准确性。图2为本研究的结果。注意,我们剔除了LV R分数小于0.4的数据的结果,因为数量可以忽略不计(例如,CIFAR-10、ResNet20中只有1个)。我们可以看到,1)无论数据集和模型如何,两组数据在桶中具有相似的准确性,2)具有更高LVR分数的数据。

        这个图个人理解就是,靠近决策边界也就是那条蓝线的数据不容易被区分,所以越靠近置信度越低,LVR越低,准确率越低。LVR 的高低反映了数据点落入的区域距离决策边界的程度。靠近决策边界的数据点,由于可能同时属于两个不同标签的区域,其 LVR 值可能较低。相反,远离决策边界的数据点,其 LVR 值可能较高,因为它们更有可能被模型正确地预测为某一标签。

        我们假设在Bucket1、Bucket2和Bucket3中原始测试数据(Accmap)的准确率分别为60%、70%和80%。每个部分原始测试数据(BucketSizeori)的个数分别为200、300、400。然后,对于新的未标记数据,每个部分(bucketsizennew)中的数据数分别为300、400和500。Acc1的计算公式为(200 × 60% + 300 × 70% + 400 × 80%)/(200 + 300 + 400) = 72.22%。接下来,假设原始测试数据的准确率为70%,则Acc2计算公式为((500/1200)/(400/900))× 70% = 66.35%。Aries的最终产出为(72.22% + 66.35%)/2 = 69.29%。

        在本文中,我们提出了Aries来自动估计DNN模型在未标记数据上的准确性,而无需标记。Aries的主要直觉是,一个模型应该对与决策边界有相似距离的数据具有相似的预测精度。具体来说,Aries使用dropout不确定性来近似数据与决策边界之间的距离,并从原始标记的测试数据中学习该边界信息,以估计新的未标记数据的准确性。我们对两个常用的研究数据集、四种深度神经网络架构和13种未标记数据的评估表明,Aries可以精确地预测模型的准确性。此外,我们还证明了Aries优于SOTA无标记估计方法和基于测试选择的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值