一句话:首次面向神经网络架构,提出基于抽象解释的静态分析以检测数值缺陷。
论文首次尝试在架构层面静态检测深度学习软件的数值缺陷。作者提出基于抽象解释的分析方法 DEBAR,分别对张量和数值进行抽象,并结合张量分区与逐元素仿射关系分析(以及区间分析)以兼顾检测精度与可扩展性。在含已知缺陷的神经网络架构和真实架构上评估:DEBAR 对已知缺陷全部检出且无误报,每个架构耗时 1.7–2.3 秒;在真实架构上报告 529 条警告,其中 299 条为真阳性,且精度优于其他张量与数值抽象技术。
Detecting bugs in deep learning software at the architecture level provides additional benefits that detecting bugs at the model level does not provide. This paper makes the first attempt to conduct static analysis for detecting numerical bugs at the architecture level. We propose a static analysis approach for detecting numerical bugs in neural architectures based on abstract interpretation. Our approach mainly comprises two kinds of abstraction techniques, i.e., one for tensors and one for numerical values. Moreover, to scale up while maintaining adequate detection precision, we propose two abstraction techniques: tensor partitioning and (elementwise) affine relation analysis to abstract tensors and numerical values, respectively. We realize the combination scheme of tensor partitioning and affine relation analysis (together with interval analysis) as DEBAR, and evaluate it on two datasets: neural architectures with known bugs (collected from existing studies) and real-world neural architectures. The evaluation results show that DEBAR outperforms other tensor and numerical abstraction techniques on accuracy without losing scalability. DEBAR successfully detects all known numerical bugs with no false positives within 1.7–2.3 seconds per architecture. On the real-world architectures, DEBAR reports 529 warnings within 2.6–135.4 seconds per architecture, where 299 warnings are true positives.
@inproceedings{paperbot5856,
title = {Detecting numerical bugs in neural network architectures},
author = {Yuhao Zhang and Luyao Ren and Liqian Chen and Yingfei Xiong and Shing-Chi Cheung and Tao Xie},
booktitle = {FSE},
year = {2020},
doi = {10.1145/3368089.3409720}
}