Algorithms for Verifying Deep Neural Networks
It addresses the challenge of verifying safety and correctness in deep neural networks, which is crucial for applications like autonomous systems and security, but is incremental as it focuses on surveying and comparing existing methods.
The paper surveys recent methods for verifying input-output properties of deep neural networks, highlighting fundamental differences and connections between algorithms and comparing them on benchmark problems.
Deep neural networks are widely used for nonlinear function approximation with applications ranging from computer vision to control. Although these networks involve the composition of simple arithmetic operations, it can be very challenging to verify whether a particular network satisfies certain input-output properties. This article surveys methods that have emerged recently for soundly verifying such properties. These methods borrow insights from reachability analysis, optimization, and search. We discuss fundamental differences and connections between existing algorithms. In addition, we provide pedagogical implementations of existing methods and compare them on a set of benchmark problems.