Refactoring Neural Networks for Verification
This addresses the lack of cost-effective verification methods for DNNs in safety-critical applications, representing an incremental improvement by expanding existing techniques.
The paper tackles the problem of verifying deep neural networks (DNNs) in safety-critical systems by introducing DNN refactoring, which transforms and distills networks to simplify them for more efficient property verification while preserving accuracy, as demonstrated in three case studies on autonomous systems.
Deep neural networks (DNN) are growing in capability and applicability. Their effectiveness has led to their use in safety critical and autonomous systems, yet there is a dearth of cost-effective methods available for reasoning about the behavior of a DNN. In this paper, we seek to expand the applicability and scalability of existing DNN verification techniques through DNN refactoring. A DNN refactoring defines (a) the transformation of the DNN's architecture, i.e., the number and size of its layers, and (b) the distillation of the learned relationships between the input features and function outputs of the original to train the transformed network. Unlike with traditional code refactoring, DNN refactoring does not guarantee functional equivalence of the two networks, but rather it aims to preserve the accuracy of the original network while producing a simpler network that is amenable to more efficient property verification. We present an automated framework for DNN refactoring, and demonstrate its potential effectiveness through three case studies on networks used in autonomous systems.