Generating and Checking DNN Verification Proofs
Hai Duong, ThanhVu Nguyen, Matthew Dwyer
Deep Neural Networks (DNN) have emerged as an effective approach to implementing challenging sub-problems. They are increasingly being used as components in critical transportation, medical, and military systems. However, like human-written software, DNNs may have flaws that can lead to unsafe system performance. To confidently deploy DNNs in such systems, strong evidence is needed that they do not contain such flaws. This has led researchers to explore the adaptation and customization of software verification approaches to the problem of neural network verification (NNV).Many dozens of NNV tools have been developed in recent years and as a field these techniques have matured to the point where realistic networks can be analyzed to detect flaws and to prove conformance with specifications. NNV tools are highly-engineered and complex may harbor flaws that cause them to produce unsound results.We identify commonalities in the algorithmic approaches taken by NNV tools to define a verifier independent proof format -- activation pattern tree proofs (APTP) -- and design an algorithm for checking those proofs that is proven correct and optimized to enable scalable checking. We demonstrate that existing verifiers can efficiently generate APTP proofs, and that an APTPchecker significantly outperforms prior work on a benchmark of 16 neural networks and 400 NNV problems, and that it is robust to variation in APTP proof structure arising from different NNV tools.APTPchecker is available at: https://anonymous.4open.science/r/APTPchecker-0482/.