arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2105.08095cs.SEcs.LG
收藏

使用图变换的深度学习程序自动故障检测

Automatic Fault Detection for Deep Learning Programs Using Graph Transformations

K. N. Toosi University of Technology(K.N.托西理工大学);Polytechnique Montreal(蒙特利尔理工大学)

Amin Nikanjam, Houssem Ben Braiek, Mohammad Mehdi Morovati, Foutse Khomh

摘要:

如今,我们看到企业和学术界对利用深度学习(DL)解决复杂现实问题的需求越来越大。DL程序编码期望DL模型的网络结构和模型从训练数据集学习的过程。像任何软件一样,DL程序可能会出错,这意味着软件质量保证面临巨大挑战,特别是在安全关键领域。因此,为深度学习开发团队配备高效的故障检测技术和工具至关重要。在本文中,我们提出了NeuraLint,基于模型的故障检测方法DL程序,使用元建模和图形转换。首先,我们设计了一个元模型DL程序,包括其基本骨架和基本属性。然后,我们构建了一个基于图的验证过程,该过程涵盖了在元模型之上定义的23条规则,并作为图变换来实现,以检测生成的模型中的故障和设计效率低下(即,元模型的实例)。首先,所提出的方法进行评估,发现故障和设计效率低下,在28个合成的例子,从文献中报道的常见问题。然后,NeuraLint成功地从Stack Overflow帖子和GitHub存储库中提取了34个真实的DL程序中发现了64个错误和设计效率低下。结果表明,NeuraLint在合成和真实世界的例子中有效地检测故障和设计问题,召回率为70.5%,准确率为100%。虽然所提出的元模型是为前馈神经网络设计的,但它可以扩展到支持其他神经网络架构,例如递归神经网络。研究人员还可以扩展我们的验证规则集,以涵盖DL程序中的更多类型的问题。

英文摘要:

Nowadays, we are witnessing an increasing demand in both corporates and academia for exploiting Deep Learning (DL) to solve complex real-world problems. A DL program encodes the network structure of a desirable DL model and the process by which the model learns from the training dataset. Like any software, a DL program can be faulty, which implies substantial challenges of software quality assurance, especially in safety-critical domains. It is therefore crucial to equip DL development teams with efficient fault detection techniques and tools. In this paper, we propose NeuraLint, a model-based fault detection approach for DL programs, using meta-modelling and graph transformations. First, we design a meta-model for DL programs that includes their base skeleton and fundamental properties. Then, we construct a graph-based verification process that covers 23 rules defined on top of the meta-model and implemented as graph transformations to detect faults and design inefficiencies in the generated models (i.e., instances of the meta-model). First, the proposed approach is evaluated by finding faults and design inefficiencies in 28 synthesized examples built from common problems reported in the literature. Then NeuraLint successfully finds 64 faults and design inefficiencies in 34 real-world DL programs extracted from Stack Overflow posts and GitHub repositories. The results show that NeuraLint effectively detects faults and design issues in both synthesized and real-world examples with a recall of 70.5 % and a precision of 100 %. Although the proposed meta-model is designed for feedforward neural networks, it can be extended to support other neural network architectures such as recurrent neural networks. Researchers can also expand our set of verification rules to cover more types of issues in DL programs.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑