DeepFault: Fault Localization for Deep Neural Networks
arXiv:1902.05974
Abstract
Deep Neural Networks (DNNs) are increasingly deployed in safety-critical applications including autonomous vehicles and medical diagnostics. To reduce the residual risk for unexpected DNN behaviour and provide evidence for their trustworthy operation, DNNs should be thoroughly tested. The DeepFault whitebox DNN testing approach presented in our paper addresses this challenge by employing suspiciousness measures inspired by fault localization to establish the hit spectrum of neurons and identify suspicious neurons whose weights have not been calibrated correctly and thus are considered responsible for inadequate DNN performance. DeepFault also uses a suspiciousness-guided algorithm to synthesize new inputs, from correctly classified inputs, that increase the activation values of suspicious neurons. Our empirical evaluation on several DNN instances trained on MNIST and CIFAR-10 datasets shows that DeepFault is effective in identifying suspicious neurons. Also, the inputs synthesized by DeepFault closely resemble the original inputs, exercise the identified suspicious neurons and are highly adversarial.
15 pages
References in corpus (14)
- A Survey on Deep Learning in Medical Image Analysis
- Sequence to Sequence Learning with Neural Networks
- End to End Learning for Self-Driving Cars
- Empirical Evaluation of Rectified Activations in Convolutional Network
- DeepXplore: Automated Whitebox Testing of Deep Learning Systems
- Guiding Deep Learning System Testing using Surprise Adequacy
- DLFuzz: Differential Fuzzing Testing of Deep Learning Systems
- Testing Deep Neural Networks
- TensorFuzz: Debugging Neural Networks with Coverage-Guided Fuzzing
- A Game-Based Approximate Verification of Deep Neural Networks with Provable Guarantees
- An Analysis of ISO 26262: Using Machine Learning Safely in Automotive Software
- DeepSafe: A Data-driven Approach for Checking Adversarial Robustness in Neural Networks
- Combinatorial Testing for Deep Learning Systems
- Symbolic Execution for Deep Neural Networks