[论文解读一]DeepGauge: Multi-Granularity Testing Criteria for Deep Learning Systems

1、论文介绍

论文下载:https://doi.org/10.1145/3238147.3238202
代码下载:未找到,如果大家找到可以分享给我

2、摘要

深度学习定义了一种新的数据驱动的编程范式。大量的研究结果表明,目前的DL系统都存在各种各样的漏洞。鉴于难以访问到高质量测试数据,目前使用的良好的测试数据精度性很难保证DL系统的测试充分性和通用性。与具有清晰可控的逻辑和功能的传统软件系统不同,DL系统中缺乏可解释性使得系统分析和缺陷检测变得困难。这篇文章提出了 DeepGauge 多粒度测试标准。

3、论文分析

目前研究主要追求DL系统的高精度作为测试标准。以下几点注意事项:

  1. 不对DL内部神经元活动和网络的了解,仅从DL输出结果来测试软件的质量是肤浅
  2. 仅基于DL输出的评价标准严重地依赖于测试数据的代表性,高精度不一定代表通用性好,反之亦然。
  3. 通过系统测试的DL系统应能在一定程度上抵御各种类型的对抗性攻击。

本文在各种粒度级别上监控和测量神经元行为,以及内部网络连接。

3.1 论文工作

不同于传统软件通过控制流来表达它的逻辑,DNN则是通过神经元的权重以及非线性的激活函数来表达。该文提出了一套基于多层次、多粒度覆盖的DNNs测试准则DeepGauge,并对其进行了测试。总结如下:

  1. 该标准有助于理解DNNS,从不同层次和角度评估测试测试数据的质量。文中发现潜在地分布在主要的函数区域以及边界区域的错误。给定一组输入,该标准可以测量输入数据在多大程度上涵盖主要功能和边界情况,在这些情况通常会有错误发生。评估结果发现,现有的测试数据通常更倾向于测试主要函数区,覆盖角落区域的情况相对较少
  2. 通过4种对抗性数据生成算法(快速梯度符号法(FGAM),BIM,JSMA,CW)生成对抗样本。对于原来的测试数据和对抗样本将覆盖标准作为指标来量化测试数据侦察错误的能力。结果表明,该标准可以有效地捕捉原始测试数据和对抗样本的差异,因此说明更高的覆盖率可能意味着更容易检测DNN缺陷。
  3. 目前已经提出的各种标准在DNNS网络复杂度和数据集上表现不同。这是最早提出DL系统多粒度测试标准的研究之一。

4、预备工作

4.1 传统软件测试的覆盖标准

将传统软件的逻辑执行类比于DNN的连接权重。
对于传统软件来说,测试覆盖率高,是软件质量的一个指标和可信度。
传统软件测试常用覆盖率标准:

  1. 语句覆盖,分支覆盖
  2. 数据流覆盖率
  3. 基于模型的覆盖标准

4.2 深层神经网络结构

本文中,将DL系统视为包含一个或多个DNN的软件系统。
DNN可以看作是一个将给定的输入转化为输出的函数,是由其计算单元(即神经元)的聚合效应决定的,每个神经元对整个计算过程都有贡献
如图a显示三层DNN。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值