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

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合成的输入。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值