arXiv (Cornell University) · 2018 · 138 citations · 20 references
ComputingComputer ScienceAlgorithmsMachine LearningNatural Language ProcessingDeep LearningFault DetectionFuzz TestingLanguage ModelingNeural NetworksSoftware TestingCharacter-level Language ModelingCharacter-level RepresentationConstraintsCoverage-guided FuzzingNetwork Fuzzing
Machine learning models are notoriously difficult to interpret and debug. This is particularly true of neural networks. In this work, we introduce automated software testing techniques for neural networks that are well-suited to discovering errors which occur only for rare inputs. Specifically, we develop coverage-guided fuzzing (CGF) methods for neural networks. In CGF, random mutations of inputs to a neural network are guided by a coverage metric toward the goal of satisfying user-specified constraints. We describe how fast approximate nearest neighbor algorithms can provide this coverage metric. We then discuss the application of CGF to the following goals: finding numerical errors in trained neural networks, generating disagreements between neural networks and quantized versions of those networks, and surfacing undesirable behavior in character level language models. Finally, we release an open source library called TensorFuzz that implements the described techniques.
20
Deep Residual Learning for Image Recognition
Kaiming He, Xiangyu Zhang, Shaoqing Ren et al. · 2016 · 222.1K citations · Full text
Gradient-based learning applied to document recognition
Yann LeCun, Léon Bottou, Yoshua Bengio et al. · Proceedings of the IEEE · 1998 · 58.2K citations · Full text
End to End Learning for Self-Driving Cars
Mariusz Bojarski, Davide Testa, Daniel Dworakowski et al. · arXiv (Cornell University) · 2016 · 3.1K citations · Full text