精读论文《Correlations between Deep Neural Network Model Coverage Criteria and Model Quality》。记录阅读笔记。
研究问题:
神经网络模型覆盖率与模型质量之间是否存在与传统软件测试中相似的单调性。
1 introduction
DNN:
由输入层、输出层和多个内层组成,每层包含一组神经元。在模型推理or预测过程中,某一层的神经元激活值根据上一层的值计算,如果该值小于0,则将其设置为0,并对后续层的贡献为0,即神经元没有被激活。
DNN测试:
从激活神经元与软件覆盖的相似处入手。状态覆盖类比神经元覆盖(测量被激活的神经元的百分比);路径覆盖类比神经元模式覆盖(测量激活路径)。
但是,DNN模型语义与程序语义有很大不同。程序行为离散而模型行为连续(程序语句每一句都执行了相应功能,但单个被激活的神经元可能没有什么具体含义,而是整体起作用)。
四个问题:
- 模型覆盖率的提高与模型质量之间是否存在单调关系?(没有)
- 覆盖率驱动的测试生成在揭示DNN缺陷方面是否有效?它与其他常用的对抗性示例生成技术相比如何?
- 使用模型覆盖标准生成的测试用例在提高模型质量方面是否具有优势?
- 各种模型覆盖标准之间是否存在相关性?
实验:
8个模型,3个数据集。使用DeepXplore、DeepGauge、DeepHunter、SADL中基于模型覆盖的测试生成技术,以及基于优化的对抗性示例生成技术C&W、PGD来生成导致不同覆盖级别的测试用例,用这些测试用例再训练模型。然后使用度量标准来衡量质量改进。
结论:
- 没有单调关系。