PACE——深度神经网络测试的实用准确度估计方法

PACE 是论文《Practical Accuracy Estimation for Efficient Deep Neural Network Testing》中提出的一种用于DNN测试中的估计测试集准确性的方法。同时,该论文也对PACE的有效性进行了实验。

主要工作:

实现了一个方法PACE,该方法选择一小组测试输入(即测试输入的子集),精确估计整个测试集的准确性。

PACE步骤:

  1. 根据测试能力对测试输入聚类

  2. MMD-critic算法,选择每组的原型(最能代表该组测试能力的测试输入)

  3. 少数空间自适应随机搜索

本文基于24对DNN模型和测试集,证明了PACE的有效性。

DNN测试中测试优化的两种方法:

  1. 测试输入选择

  2. 测试输入优先级

基于两种方法,文中均提到相关工作,可以参考。

(问:究竟用哪种方法?DNN的测试优化适用于传统测试吗?)

反应测试能力的两种特性:

  1. 覆盖特征

  2. 输入特征(本文所选)

本文所研究的输入特征:

  1. 原始特征(ORI):DNN输入向量

  2. 第一层特征(FL):DNN第一层的输出(最接近输入向量)

  3. 最后隐藏层特征(LHL):DNN最后隐藏层的输出(可直接推断预测结果的高阶特征)

  4. 置信度特征(CON):DNN输出结果

具体方法描述:

1. 基于聚类的测试能力判别:

  • 将每个测试输入表示为一个特征向量,对特征向量归一化,调整到[0, 1]内。

  • 使用FastICA降维,然后使用HDBSCAN算法(不需要预先定义聚类数量)聚类。

2. 基于MMD-critic的原型选择:

通过计算原型分布和组分布之间的差异,选取具有最小差异的原型。

3. 少数空间的自适应随机搜索:

计算未选择的测试输入与每个已选择的测试输入之间的距离,选择距离最大的测试输入。

你可能感兴趣的:(dnn,深度学习,软件测试,测试用例,神经网络)