A DPLL(T) Framework for Verifying Deep Neural Networks
Hai Duong, ThanhVu Nguyen, Matthew Dwyer
TL;DR
NeuralSAT presents an SMT-inspired verifier for deep neural networks by adapting the DPLL(T) framework with conflict-driven clause learning and search restarts to tackle the combinatorial complexity of ReLU networks. It uses a Boolean abstraction of neuron activations together with a domain-specific theory solver based on linear real arithmetic and LiRPA-style bounds, enabling aggressive theory propagation and clause learning. Empirical results on standard benchmarks show that NeuralSAT is competitive with state-of-the-art verifiers, offering notable gains from CDCL and restarts, particularly on large networks; it remains open-source and extensible. The work demonstrates the practical viability of integrating CDCL-based SMT techniques into DNN verification, with implications for scalability, proof generation, and potential for further optimizations and debugging capabilities.
Abstract
Deep Neural Networks (DNNs) have emerged as an effective approach to tackling real-world problems. However, like human-written software, DNNs can have bugs and can be attacked. To address this, research has explored a wide-range of algorithmic approaches to verify DNN behavior. In this work, we introduce NeuralSAT, a new verification approach that adapts the widely-used DPLL(T) algorithm used in modern SMT solvers. A key feature of SMT solvers is the use of conflict clause learning and search restart to scale verification. Unlike prior DNN verification approaches, NeuralSAT combines an abstraction-based deductive theory solver with clause learning and an evaluation clearly demonstrates the benefits of the approach on a set of challenging verification benchmarks.
