《Test Selection for Deep Learning Systems》

Abstract:

深度学习模型的测试是具有挑战性的,因为涉及的计算的数量和复杂性。因此,测试数据选择以一种特别的方式手动执行。这就提出了一个问题,即我们如何自动选择候选数据来测试深度学习模型。最近的研究集中在定义度量标准来度量测试套件的完整性,并依赖这些度量标准来指导新测试的生成。然而,选择/优先级测试输入(例如,人工标记)的问题仍然是开放的。在本文中,我们基于模型不确定性(特定输入的模型置信度)的概念,对一组测试选择度量进行了深入的经验比较。直觉上,我们对一个候选样本的不确定性越大,这个样本越有可能引发错误分类。同样,我们假设我们最不确定的样本是最有信息的,应该优先使用,通过再训练来改进模型。我们在5个模型和3个广泛使用的图像分类问题上评估这些指标,这些问题涉及到由5代算法产生的真实和人工(对抗)数据。我们表明,基于不确定性的度量标准具有识别错误分类输入的强大能力,比惊喜充分性强3倍,并优于覆盖相关度量标准。我们还表明,在再训练期间,这些指标导致分类精度的更快改进:比我们考虑的所有模型上的随机选择和其他最先进的指标快两倍。

INTRODUCTION

  • 深度学习(DL)系统能够解决复杂的任务,在许多情况下与人类一样好,甚至更好。
  • 因此,它被越来越多地使用和集成到更大的软件系统和应用程序中。
  • 自然,采用这种技术就需要对其进行可靠的评估。在经典的基于代码的软件工程中,这种评估是通过测试来实现的。
  • 然而,DL系统的测试是具有挑战性的,因为它们解决的任务很复杂。
  • 为了有效地测试DL系统,我们需要识别挑战学习属性的角落案例。
  • 为此目的,最近的研究着重于设计测试覆盖率度量,以衡量一组输入测试模型的彻底程度。
  • 其他研究工作认为,DL模型反映了训练数据的特定属性,它们的行为是基于它们在训练阶段获得的知识。因此,它们促进度量跨输入而不是在模型内的差异的覆盖率指标。
  • 在本文中,我们将重点讨论选择测试输入的问题。
  • 在DL中,测试输入选择解决了一个实际问题:应该对未标记数据的哪个子集进行标记以发现DL模型中的错误。
  • 这个目标不同于以前的方法,以前的方法要么度量测试的完整性,要么生成(人工的)测试输入。我们的目的是帮助在标记测试数据(决定输入的类别)时所涉及的手工工作。
  • we approximate uncertainty by the variance in prediction probabilities observed by randomly dropping neurons in the network multiple times [36]. We also use the actual model s output probabilities as a certainty measure, which we also combine with dropout variance.
  • 我们表明,当考虑真实数据时,基于不确定性的度量标准与误分类有中等到强的相关性,当考虑真实数据和敌对数据的混合时,有强的相关性。与此相反,基于覆盖率的度量指标具有弱相关性或没有相关性,而意外充分性具有弱相关性。
  • 有趣的是,我们的结果显示,当考虑到错误分类时,预测概率(一个被先前工作忽略的简单确定性度量)是最有效的度量之一,显著优于意外充分性和覆盖率度量。然而,在再训练的情况下,dropout方差与预测概率的组合在更快地提高分类精度方面超过了其他指标。

RELATED WORK

  • 由Pei等人[27]提出的DeepXplore包含覆盖度量和新的输入生成方法。它将NC作为第一个白盒指标来评估一个测试集覆盖DL模型的决策逻辑的程度。
  • 在后续的工作中,Tian等人[36]提出了DeepTest作为自动驾驶DL模型生成新输入的另一种方法。他们利用在这个特定背景下的变形关系。与DeepXplore一样,DeepTest利用了一个假设,即NC最大化将导致更有挑战性的测试数据。作者表明,不同的图像变换导致不同的NC值和推断NC是一个足够的度量来驱动具有挑战性的测试数据的生成。然而,这种说法并没有得到经验证据的支持。
  • 类似地,DeepMutation利用传统突变测试中使用的突变评分来构建DL模型。在给定模型的基础上,通过神经元切换或层去除等不同的操作生成多个突变模型。然后,他们将测试输入的突变得分定义为它杀死的突变数量(即,那些对测试输入产生不同于原始模型的分类输出的突变)。因此,突变评分评估模型对测试输入的敏感度,而不是这些输入如何覆盖网络的神经元。
  • Ma Lei的三个工作:DeepGauge、DeepMutation、DeepCT
  • surprise adequacy实验表明(i)意外覆盖对对抗样本是敏感的,(ii)对此类样本的再训练在准确性上有更好的提高。
  • 一些学者对DL系统的不确定性进行了理论研究。Gal等人[7]证明了由神经元dropout引起的softmax函数的方差是对模型不确定性的一个很好的估计。
  • Wang等人[38]提出,当(训练后)模型轻微改变时,计算模型预测的标签改变多少。他们表明,对抗性输入更有可能增加标签的变化率。

MOTIVATION AND PROBLEM DEFINITION

We name test input selection the problem of selecting the k most effective inputs to label.

Metrics Derived from the Machine Learning Testing Literature

NC(x): x激活的神经元的比例
ANC(x): x激活(而训练集没有激活)的神经元的比例

LSA、DSE可以参考这里



Si

Model Uncertainty Metrics


Dropout可以用来估计训练后的模型与新输入x[7]的不确定性。更准确地说,这种不确定性估计通过k乘以x输入到模型(其中辍学层添加)和计算结果的方差预测概率/ x。直觉,而预测概率可以被可视化为x类边界的距离估计的模型,辍学方差表示这些距离的方差,由我们对班级边界的确切位置的知识的不确定性引起。使用dropout variance而不是classification probability的动机来自于观察到一些现代深层神经网络的校准很差,也就是说,它们的预测概率与正确分类的可能性不相关。

dropout:

  • a good estimate of model uncertainty
  • are cheap to compute thanks to their implementation as dropout layers
    流程:
  • 首先dropout得到k个altered models
  • 给定一个输入 x x x,我们将 x x x传递到网络 k k k次,并用 p i j ( x ) p_i^j(x) pij​(x)表示第 j j j次传递时 x x x到第 i i i类输出的预测概率。
  • 我们还用 P i ( x ) = { p i j ( x ) ∣ 1 ≤ j ≤ k } P_i(x) = \{p_i^j(x)|1≤j≤k\} Pi​(x)={pij​(x)∣1≤j≤k}表示由 k k k次通过而分配给第 i i i类的 x x x的预测概率的集合。
  • 那么, P i ( x ) P_i(x) Pi​(x)的方差是D在将 x x x分类为 i i i类时的不确定性的一个很好的估计。

    这个度量的一个缺点是它不考虑预测概率(因此,到类边界的实际距离)。为了克服这个问题,我们提出了一个相对的度量,它将D输出概率最高的方差分数标准化。

    尽管x的方差和加权方差得分可以被看作是w.r.t. x模型不确定性的定量测度,我们也提出了一个名义上的替代方案。我们关注的不是预测概率的方差,而是由不同的突变模型产生的实际类别预测,即概率得分最高的类别。我们构建了这些k个类别预测的标准化直方图,并将它们的分布与一个理论的、最坏情况的、完全不确定的模型进行比较,在这个模型中,类别预测均匀分布于所有类别。因此,在最坏情况下,预测输入x属于i类的突变数近似由 k C \frac {k}{C} Ck​给出。

为了比较实际的类预测分布和最坏情况分布,我们依赖于KL发散的离散版本。当D的不确定性高(即突变体往往不一致)时,KL散度低

简略阅读《Test Selection for Deep Learning Systems》相关推荐

  1. 简略阅读《Guiding Deep Learning System Testing using Surprise Adequacy》

    Guiding Deep Learning System Testing using Surprise Adequacy Abstract 深度学习(DL)系统正迅速被应用于安全和安全关键领域,迫切需 ...

  2. 《Guiding Deep Learning System Testing using Surprise Adequacy》论文笔记

    Guiding Deep Learning System Testing using Surprise Adequacy 原文:Guiding Deep Learning System Testing ...

  3. 个人阅读的Deep Learning方向的paper整理

    http://hi.baidu.com/chb_seaok/item/6307c0d0363170e73cc2cb65 个人阅读的Deep Learning方向的paper整理,分了几部分吧,但有些部 ...

  4. 论文阅读:Deep Learning in Mobile and Wireless Networking:A Survey

    论文阅读:Deep Learning in Mobile and Wireless Networking:A Survey 从背景介绍到未来挑战,一文综述移动和无线网络深度学习研究 近来移动通信和 5 ...

  5. [论文阅读]中文版 - deep learning

    深度学习 - LeCun.Bengio 和 Hinton 的联合综述 论文地址 Deep learning 时间:2019年6月10日10:11:47 - 2019年6月12日10:41:17 难度: ...

  6. 论文阅读:Deep Learning with Differential Privacy

    论文名字 Deep Learning with Differential Privacy 来源 会议 23rd ACM (CCS2016) 年份 2016.10 作者 Martín Abadi, An ...

  7. 论文阅读——A Deep Learning Design for improving Topology Coherence in Blood Vessel Segmentation

    A Deep Learning Design for improving Topology Coherence in Blood Vessel Segmentation 改善血管分割中拓扑一致性的深度 ...

  8. (翻译)Fully Automated Deep Learning System for Bone Age Assessment

                                       完全自动化的骨龄评估深度学习系统 摘要:骨骼成熟度通过不连续的阶段进行,这是常规用于儿科的事实,其中将骨龄评估(BAAs)与评估内 ...

  9. 论文阅读:Deep Learning–Based Segmentation andQuantification in Experimental Kidney Histopathology

    实验性肾脏组织病理学中基于深度学习的分割和量化 一.实验对象 健康小鼠.五种小鼠疾病模型和临床前研究中使用的其他物种的周期性酸-希夫染色肾组织. 分割六个主要的肾脏结构:肾小球簇.包括鲍曼囊在内的肾小 ...

  10. 机器学习(Machine Learning)深度学习(Deep Learning)资料(Chapter 2)

    机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2) - tony的专栏 - 博客频道 - CSDN.NET 注:机器学习资料篇目一共 ...

最新文章

  1. 03-Java的基础语法
  2. 聊一聊Java字符串的不可变
  3. 经典C语言程序100例之六八
  4. Spark入门 - History Server配置使用
  5. Pytorch(4)-模型保存-载入-eval()
  6. 接口测试之post常见数据提交方式
  7. 数据库实验1---创建数据库和表
  8. Android网络框架情景分析之NetworkManagementService和Netd交互深入分析二
  9. 【基于51】红外寻迹智能小车-硬件篇
  10. win7笔记本设置WiFi热点详解
  11. copyproperties爆红_一屋模玩怎样不能价值300万?分分钟用超.......
  12. linux装在机械硬盘怎么样,电脑装了固态硬盘还能再装机械硬盘吗
  13. 阿里云服务器深度学习环境从0配置(Ubuntu16.04+cuda8.0+cudnn6.0+tensorflow1.4+Anaconda3+opencv2+tensorlayer1.7.4)
  14. 分享一个自动刷抖音的代码
  15. 【计算机毕业设计】ssm高校学生网上请假系统
  16. 一种简明易懂的专利侵权分析报告表单样式
  17. 解决日志打印过多问题
  18. 判断当前时间是否在股票开盘时间,不考虑周六周日和节假日
  19. 下雨天,适合学「Spring Boot」
  20. vue遍历map对象

热门文章

  1. JAVA使用POI导出Word文档和Excel文档
  2. python的98K上子弹开枪
  3. 关于苹果企业开发者账号的新问题:深入审查企业账号的主体信息!
  4. Mac OS下文件夹(带linux部分)
  5. C# 对Excel文档打印时的页面设置
  6. 告别传统繁杂的采购合同管理 打造企业自动化采购管理模式
  7. 电子采购方案:构建高效智能数字化采购
  8. 决策树:CART决策树剪枝算法(超详细)
  9. java创建一个指定的日期_创建指定日期java Date对象
  10. 奇说妙语百度云_2020部分经典文案收录复盘