Guiding Deep Learning System Testing using Surprise Adequacy

原文:Guiding Deep Learning System Testing using Surprise Adequacy (ICSE 2019)
使用惊喜充分性指导深度学习系统测试

代码地址:https://github.com/coinse/sadl

一、现状

目前的研究主要从两个方面出发:
1、第一个假设实质上是变质测试本质的概括:如果DL系统的两个输入在某种人类感觉上是相似的,那么输出也应该是相似的。例如,DeepTest检查当输入图像被变换时自动驾驶系统的行为是否相同,就好像相同的场景处于不同的天气条件下一样。
2、第二个假设基于传统的软件测试结果,即一组输入越多样化,对DL系统的测试就越有效。例如,DeepXplore提出了神经元覆盖率(激活值高于预定义阈值的神经元的比率)作为衡量神经元行为多样性的指标。

作者认为当前的研究都只是简单地计算激活值满足特定条件的神经元的数量,所传达的有关单个输入的信息很少。
此外,尽管高于阈值或超出观察范围的神经元激活可能与给定输入的多样性密切相关,但它们并不衡量一个输入的网络激活与另一个输入的激活的不同程度。它们基本上是离散化的,并没有利用神经元激活是连续数量这一事实。

为此,作者提出了一种新的深度学习系统测试充分性准则,称为深度学习系统的惊喜充分性准则(SADL),该准则基于深度学习系统相对于其训练数据的行为。作者将输入的惊喜度量为输入和训练数据之间DL系统行为的差异(即,在训练中学到了什么),并随后将其作为充分性标准:与训练数据相比,好的测试输入应该足够但不会明显令人惊讶。

贡献

  • 我们提出了SADL,这是一种细粒度的测试充分性度量,它度量了输入的惊喜Surprise,即给定输入和训练数据之间DL系统行为的差异。基于不同的惊喜量化方法,提出了SADL的两个具体实例。两者都被证明与DL系统的现有覆盖标准相关。
  • 我们通过训练一个高精度的对抗性示例分类器,证明了SADL在捕获DL系统行为方面是足够细粒度的。我们的对抗性示例分类器在MNIST和CIFAR-10数据集上的ROC-AUC得分分别高达100%和94.53%。
  • 我们证明了SADL度量可以用来对有效的测试输入集进行采样。当使用额外的对抗性例子对DL系统进行再训练时,对具有更大SA值的额外输入进行采样可以使再训练后的准确率提高高达77.5%。
  • 我们使用公开可用的DL系统进行所有实验,范围从小基准(MNIST和CIFAR-10)到用于自动驾驶车辆的大型系统(Dave-2和Cauffeur)。

算法

Surprise Adequacy(SA)的两个变种

(1)LSA(Likelihood-based Surprise Adequacy)
基于似然比的LSA使用KDE估计An(T)中每个激活值的概率密度,并获得新输入相对于估计密度的惊喜。
KDE密度函数
A NL (x): 给定输入在N L N_{L}N 层中的激活迹
LSA定义为密度的对数的负数

(2)DSA(Distance-based Surprise Adequacy)
使用新输入的AT和训练中观察到的AT之间的欧氏距离来定义基于距离的惊喜充分性(DSA)。作为距离度量,DSA非常适合利用输入之间的边界,更接近类边界的输入在测试输入多样性方面更令人惊讶和更有价值。因此,DSA只适用于分类任务,对于分类任务,它可能比LSA更有效。

Surprise Coverage(SC)

在给定输入的情况下,还可以测量集合覆盖的SA值范围,称为Surprise Coverage(SC)。由于LSA和DSA都是在连续空间中定义的,所以我们使用分割法对惊喜空间进行离散化,定义了基于似然的惊喜覆盖(LSC)和基于距离的惊喜覆盖(DSC)。

数据集和模型


在四个不同的DL系统上评估SADL:

  • 原始测试集
  • 五种攻击策略生成的对抗性实例
  • DeepXplore生成的合成输入
  • DeepTest生成的合成输入

使用五种对抗性攻击策略来评估SADL:

  • 快速梯度符号法(FGSM)
  • 基本迭代法(BIM-A,BIM-B)
  • 基于雅可比的显著图攻击(JSMA)
  • Carlini&Wagner(C&W)

目标及实验:

RQ1:Surprise:SADL能够捕捉到DL系统输入的相对惊喜吗?

SADL可以捕捉到投入的相对惊喜。具有较高SA的输入较难正确分类;可以基于SA值来检测对抗性示例,对抗性示例显示较高的SA值,并导致DL系统的不同行为。

RQ2:Layer Sensitivity:用于SA计算的神经元层的选择对SA如何准确地反映DL系统的行为有影响吗?

对于LSA,没有强有力的证据表明最深的层会产生最准确的分类器。但是,对于DSA,最深层为三种外部攻击策略(BIMB、JSMA和C&W)生成最准确的分类器,而第二深层为BIM生成最准确的分类器。
DSA对计算它的层的选择很敏感,并且受益于选择更深的层。然而,对于LSA来说,没有明确的证据支持更深层次的假设。在不同的对抗性范例生成策略中,层敏感度是不同的。

RQ3:Correlation:SC是否与DL系统的现有覆盖标准相关?

我们通过累加不同方法(即不同的对抗性实例生成技术或输入合成技术)产生的输入来控制输入的多样性,并比较各种覆盖准则的变化,包括SC和现有的四种覆盖准则:NC、KMNC、NBC和SNAC。

随着对抗性攻击的累加,各种覆盖准则的覆盖率均增大,但当添加C&W输入时变化不大。除了NC,SC与到目前为止其他覆盖标准相关。
(为什么变化趋势一样就能证明其与其它覆盖标准相关??我在其它论文中也看到过类似的实验与结论,也是如此。)

RQ4:Guidance:SA能否指导DL系统的再培训,以提高它们对抗DeepXplore生成的敌意示例和合成测试输入的准确性?

将SA[0,U]的范围划分为四个子集(1/4U、2/4U、3/4U和4/4U)。
4/4U对13种配置产生最好的再训练性能,其次是2/4U、3/4U和1/4U。当使用DSA对MNIST进行FGSM再训练时,改善最大:4/4U范围的准确率比1/4U范围的准确率从15.60%提高到28.69%。SA可以为针对对抗性例子提供更有效的再训练指导。

结论:

本文提出了SADL,这是一个用于DL系统的惊喜充分性框架,它可以定量地度量每个输入相对于训练数据的相对惊喜,我们称之为惊喜充分性(SA)。使用SA,我们还开发了惊喜覆盖(SC),它衡量离散输入惊喜范围的覆盖,而不是具有特定激活特征的神经元的计数。我们的实证评估表明,SA和SC能够准确地捕捉到输入的惊喜,是DL系统对未知输入做出反应的良好指标。SA与DL系统找到输入的难度相关,可以用来准确地对对抗性例子进行分类。SC可用于指导输入的选择,以便更有效地对DL系统进行对抗性示例的再训练以及DeepXplore合成的输入。

《Guiding Deep Learning System Testing using Surprise Adequacy》论文笔记相关推荐

  1. 论文笔记之Understanding and Diagnosing Visual Tracking Systems

    Understanding and Diagnosing Visual Tracking Systems 论文链接:http://dwz.cn/6qPeIb 本文的主要思想是为了剖析出一个跟踪算法中到 ...

  2. 《Understanding and Diagnosing Visual Tracking Systems》论文笔记

    本人为目标追踪初入小白,在博客下第一次记录一下自己的论文笔记,如有差错,恳请批评指正!! 论文相关信息:<Understanding and Diagnosing Visual Tracking ...

  3. 论文笔记Understanding and Diagnosing Visual Tracking Systems

    最近在看目标跟踪方面的论文,看到王乃岩博士发的一篇分析跟踪系统的文章,将目标跟踪系统拆分为多个独立的部分进行分析,比较各个部分的效果.本文主要对该论文的重点的一个大致翻译,刚入门,水平有限,如有理解错 ...

  4. 目标跟踪笔记Understanding and Diagnosing Visual Tracking Systems

    Understanding and Diagnosing Visual Tracking Systems 原文链接:https://blog.csdn.net/u010515206/article/d ...

  5. 追踪系统分模块解析(Understanding and Diagnosing Visual Tracking Systems)

    追踪系统分模块解析(Understanding and Diagnosing Visual Tracking Systems) PROJECT http://winsty.net/tracker_di ...

  6. ICCV 2015 《Understanding and Diagnosing Visual Tracking Systems》论文笔记

    目录 写在前面 文章大意 一些benchmark 实验 实验设置 基本模型 数据集 实验1 Featrue Extractor 实验2 Observation Model 实验3 Motion Mod ...

  7. Understanding and Diagnosing Visual Tracking Systems

    文章把一个跟踪器分为几个模块,分别为motion model, feature extractor, observation model, model updater, and ensemble po ...

  8. CVPR 2017 SANet:《SANet: Structure-Aware Network for Visual Tracking》论文笔记

    理解出错之处望不吝指正. 本文模型叫做SANet.作者在论文中提到,CNN模型主要适用于类间判别,对于相似物体的判别能力不强.作者提出使用RNN对目标物体的self-structure进行建模,用于提 ...

  9. ICCV 2017 UCT:《UCT: Learning Unified Convolutional Networks forReal-time Visual Tracking》论文笔记

    理解出错之处望不吝指正. 本文模型叫做UCT.就像论文题目一样,作者提出了一个基于卷积神经网络的end2end的tracking模型.模型的整体结构如下图所示(图中实线代表online trackin ...

  10. CVPR 2018 STRCF:《Learning Spatial-Temporal Regularized Correlation Filters for Visual Tracking》论文笔记

    理解出错之处望不吝指正. 本文提出的模型叫做STRCF. 在DCF中存在边界效应,SRDCF在DCF的基础上中通过加入spatial惩罚项解决了边界效应,但是SRDCF在tracking的过程中要使用 ...

最新文章

  1. def __init__(self)是什么意思_子类必须调用 super().__init__() 吗?
  2. Samba-上课内容
  3. 使用WINAPI获得磁盘空间信息
  4. nmap扫描局域网存活主机_安全工程师都在用的网络扫描软件,巧用ARP协议发现主机。第二节...
  5. 汇编语言0AH功能调用中显示字符出错
  6. mysql单单写join_MySQL系列之Join大法
  7. [C++] - 类的构造函数constructor
  8. java 记事本全选_java 编写的记事本程序怎么实现复制 黏贴 剪切 全选的功能 ?...
  9. KVC的使用(对一个对象的成员变量进行操作(赋值/取值))
  10. Yii 2.0 权威指南 (6) 请求处理
  11. 接水果(fruit)——整体二分+扫描线
  12. git可视化工具小乌龟安装使用
  13. java URL和URI
  14. 在腾讯待了 9 年还离了职
  15. android 获取短信中心号码,无法发短信,短信中心号码设置 解决办法!!!
  16. c语言字符串atoi函数,C++_C语言中一些将字符串转换为数字的函数小结,C语言atoi()函数:将字符串转换 - phpStudy...
  17. 力扣周赛 第281场 Java题解
  18. 网页能够兼容所有手机浏览器—杂记(2)
  19. MAC下Defect4J安装与配置
  20. 万户OA助力红豆集团信息化建设方案

热门文章

  1. 1、Latex学习笔记之基础入门篇
  2. python支持的数据类型list_Python的数据类型3-list,列表
  3. NVIDIA Xavier NX的Intel Realsense双目相机(T265+D435i)环境搭建
  4. Referrer和Referrer-Policy简介
  5. hdu 2732 Leapin' Lizards (经典网络流)
  6. 机器学习强基计划0-6:盘点最常见的7种数据预处理方法和原理
  7. cin c语言中文网,c++ cin详解
  8. 企鹅龙(Clonezilla )PXE-批量安装系统
  9. yolov5实现旋转目标检测
  10. tp6 使用中间件验证token