With the widespread deployment of deep neural networks (DNNs), ensuring the reliability of DNN-based systems is of great importance. Serious reliability issues such as system failures can be caused by numerical defects, one of the most frequent defects in DNNs. To assure high reliability against numerical defects, in this paper, we propose the RANUM approach including novel techniques for three reliability assurance tasks: detection of potential numerical defects, confirmation of potential-defect feasibility, and suggestion of defect fixes. To the best of our knowledge, RANUM is the first approach that confirms potential-defect feasibility with failure-exhibiting tests and suggests fixes automatically. Extensive experiments on the benchmarks of 63 real-world DNN architectures show that RANUM outperforms state-of-the-art approaches across the three reliability assurance tasks. In addition, when the RANUM-generated fixes are compared with developers' fixes on open-source projects, in 37 out of 40 cases, RANUM-generated fixes are equivalent to or even better than human fixes.
翻译:随着深度神经网络(DNN)的广泛部署,确保基于DNN的系统的可靠性非常重要。严重的可靠性问题比如系统故障可能由于数值缺陷而引起,而在DNN中,数值缺陷是最常见的缺陷之一。为了保证高可靠性以抵御数值缺陷的影响,本文提出了RANUM方法,包括三种可靠性保证任务的新技术:潜在数值缺陷的检测、潜在缺陷可行性的确认和缺陷修复建议。据我们所知,RANUM是第一个确认潜在缺陷可行性并自动提供修复建议的方法。对63个现实世界DNN架构基准测试的广泛实验表明,在三个可靠性保证任务中RANUM优于现有技术。此外,在将RANUM生成的修复建议与开源项目的开发人员求助时,在40个案例中,RANUM生成的修复提案有37个是等同或更好于人工修复的。