简略阅读《Test Selection for Deep Learning Systems》
《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》相关推荐
- 简略阅读《Guiding Deep Learning System Testing using Surprise Adequacy》
Guiding Deep Learning System Testing using Surprise Adequacy Abstract 深度学习(DL)系统正迅速被应用于安全和安全关键领域,迫切需 ...
- 《Guiding Deep Learning System Testing using Surprise Adequacy》论文笔记
Guiding Deep Learning System Testing using Surprise Adequacy 原文:Guiding Deep Learning System Testing ...
- 个人阅读的Deep Learning方向的paper整理
http://hi.baidu.com/chb_seaok/item/6307c0d0363170e73cc2cb65 个人阅读的Deep Learning方向的paper整理,分了几部分吧,但有些部 ...
- 论文阅读:Deep Learning in Mobile and Wireless Networking:A Survey
论文阅读:Deep Learning in Mobile and Wireless Networking:A Survey 从背景介绍到未来挑战,一文综述移动和无线网络深度学习研究 近来移动通信和 5 ...
- [论文阅读]中文版 - deep learning
深度学习 - LeCun.Bengio 和 Hinton 的联合综述 论文地址 Deep learning 时间:2019年6月10日10:11:47 - 2019年6月12日10:41:17 难度: ...
- 论文阅读:Deep Learning with Differential Privacy
论文名字 Deep Learning with Differential Privacy 来源 会议 23rd ACM (CCS2016) 年份 2016.10 作者 Martín Abadi, An ...
- 论文阅读——A Deep Learning Design for improving Topology Coherence in Blood Vessel Segmentation
A Deep Learning Design for improving Topology Coherence in Blood Vessel Segmentation 改善血管分割中拓扑一致性的深度 ...
- (翻译)Fully Automated Deep Learning System for Bone Age Assessment
完全自动化的骨龄评估深度学习系统 摘要:骨骼成熟度通过不连续的阶段进行,这是常规用于儿科的事实,其中将骨龄评估(BAAs)与评估内 ...
- 论文阅读:Deep Learning–Based Segmentation andQuantification in Experimental Kidney Histopathology
实验性肾脏组织病理学中基于深度学习的分割和量化 一.实验对象 健康小鼠.五种小鼠疾病模型和临床前研究中使用的其他物种的周期性酸-希夫染色肾组织. 分割六个主要的肾脏结构:肾小球簇.包括鲍曼囊在内的肾小 ...
- 机器学习(Machine Learning)深度学习(Deep Learning)资料(Chapter 2)
机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2) - tony的专栏 - 博客频道 - CSDN.NET 注:机器学习资料篇目一共 ...
最新文章
- 03-Java的基础语法
- 聊一聊Java字符串的不可变
- 经典C语言程序100例之六八
- Spark入门 - History Server配置使用
- Pytorch(4)-模型保存-载入-eval()
- 接口测试之post常见数据提交方式
- 数据库实验1---创建数据库和表
- Android网络框架情景分析之NetworkManagementService和Netd交互深入分析二
- 【基于51】红外寻迹智能小车-硬件篇
- win7笔记本设置WiFi热点详解
- copyproperties爆红_一屋模玩怎样不能价值300万?分分钟用超.......
- linux装在机械硬盘怎么样,电脑装了固态硬盘还能再装机械硬盘吗
- 阿里云服务器深度学习环境从0配置(Ubuntu16.04+cuda8.0+cudnn6.0+tensorflow1.4+Anaconda3+opencv2+tensorlayer1.7.4)
- 分享一个自动刷抖音的代码
- 【计算机毕业设计】ssm高校学生网上请假系统
- 一种简明易懂的专利侵权分析报告表单样式
- 解决日志打印过多问题
- 判断当前时间是否在股票开盘时间,不考虑周六周日和节假日
- 下雨天,适合学「Spring Boot」
- vue遍历map对象