Towards a Certified Proof Checker for Deep Neural Network Verification (2307.06299v2)
Abstract: Recent developments in deep neural networks (DNNs) have led to their adoption in safety-critical systems, which in turn has heightened the need for guaranteeing their safety. These safety properties of DNNs can be proven using tools developed by the verification community. However, these tools are themselves prone to implementation bugs and numerical stability problems, which make their reliability questionable. To overcome this, some verifiers produce proofs of their results which can be checked by a trusted checker. In this work, we present a novel implementation of a proof checker for DNN verification. It improves on existing implementations by offering numerical stability and greater verifiability. To achieve this, we leverage two key capabilities of Imandra, an industrial theorem prover: its support of infinite precision real arithmetic and its formal verification infrastructure. So far, we have implemented a proof checker in Imandra, specified its correctness properties and started to verify the checker's compliance with them. Our ongoing work focuses on completing the formal verification of the checker and further optimizing its performance.
- The Coq Proof Assistant (1984), https://coq.inria.fr
- Bak, S.: Nnenum: Verification of ReLU Neural Networks with Optimized Abstraction Refinement. In: Proc. 13th Int. Symposioum NASA Formal Methods (NFM). pp. 19–36 (2021)
- All about Proofs, Proofs for All 55(1), 23–44 (2015)
- In: Proc. 30th Conf. on Neural Information Processing Systems (NeurIPS) (2016)
- Journal of Functional Programming 31, e5 (2021)
- Dantzig, G.: Linear Programming and Extensions. Princeton University Press (1963)
- In: Proc. 5th Int. Workshop of Software Verification and Formal Methods for ML-Enabled Autonomous Systems (FoMLAS) and 15th Int. Workshop on Numerical Software Verification (NSV). pp. 78–95 (2022)
- In: Proc. 18th Int. Conf. on Computer Aided Verification (CAV). pp. 81–94 (2006)
- In: Proc. 25th ACM Int. Conference on Hybrid Systems: Computation and Control (HSCC). pp. 1–11 (2022)
- In: Proc. 10th Int. Conf. on Learning Representations (ICLR) (2022)
- In: Proc. 30th Int. Joint Conf. on Artificial Intelligence (IJCAI). pp. 2549–2555 (2021)
- In: Proc. 22nd Int. Conf. on Formal Methods in Computer-Aided Design (FMCAD). pp. 38–48 (2022)
- In: Proc. 28th Int. Static Analysis Symposium (SAS). pp. 191–205 (2021)
- Journal of Guidance, Control, and Dynamics 42(3), 598–608 (2019)
- Formal Methods in System Design (FMSD) (2021)
- In: Proc. 31st Int. Conf. on Computer Aided Verification (CAV). pp. 443–452 (2019)
- In: Proc. 11th Conf. on Computer Assurance (COMPASS). pp. 23–34 (1996)
- In: Proc. 33rd Int. Conf. Computer Aided Verification (CAV). pp. 287–300 (2021)
- Necula, G.: Compiling with Proofs. Carnegie Mellon University (1998)
- Norell, U.: Dependently typed programming in Agda. In: Proc. 4th Int. workshop on Types in Language Design and Implementation (TLDI). pp. 1–2 (2009)
- In: Proc. 10th Int. Joint Conf. Automated Reasoning (IJCAR). pp. 464–471 (2020)
- Paulson, L.C.: Isabelle: A Generic Theorem Prover. Springer (1994)
- In: Proc. 32nd Int. Conf. on Neural Information Processing Systems (NeurIPS). pp. 15762–15772 (2019)
- Suzuki, K.: Overview of Deep Learning in Medical Imaging. Radiological Physics and Technology 10(3), 257–273 (2017)
- Vanderbei, R.: Linear Programming: Foundations and Extensions. Journal of the Operational Research Society (1996)
- Advances in Neural Information Processing Systems 34, 29909–29921 (2021)