Improving Neural Network Verification through Spurious Region Guided Refinement
This work addresses the challenge of neural network verification for safety-critical applications, representing an incremental improvement over existing abstraction-based methods.
The paper tackles the problem of verifying robustness in deep neural networks by proposing a spurious region guided refinement approach that identifies and eliminates over-approximated regions in abstractions, significantly improving the precision of the DeepPoly method.
We propose a spurious region guided refinement approach for robustness verification of deep neural networks. Our method starts with applying the DeepPoly abstract domain to analyze the network. If the robustness property cannot be verified, the result is inconclusive. Due to the over-approximation, the computed region in the abstraction may be spurious in the sense that it does not contain any true counterexample. Our goal is to identify such spurious regions and use them to guide the abstraction refinement. The core idea is to make use of the obtained constraints of the abstraction to infer new bounds for the neurons. This is achieved by linear programming techniques. With the new bounds, we iteratively apply DeepPoly, aiming to eliminate spurious regions. We have implemented our approach in a prototypical tool DeepSRGR. Experimental results show that a large amount of regions can be identified as spurious, and as a result, the precision of DeepPoly can be significantly improved. As a side contribution, we show that our approach can be applied to verify quantitative robustness properties.