Developing Bug-Free Machine Learning Systems With Formal Mathematics
Daniel Selsam, Percy Liang, David L. Dill

TL;DR
This paper presents a methodology using interactive proof assistants to develop machine learning systems with formal correctness guarantees, enabling detection of implementation errors and ensuring unbiased gradient estimates.
Contribution
It introduces a formal verification approach for machine learning systems, demonstrated through the Certigrad system for stochastic computation graphs with machine-checkable proofs.
Findings
Certigrad produces unbiased gradient estimates.
Training with Certigrad achieves comparable performance to TensorFlow.
Formal verification exposes implementation errors effectively.
Abstract
Noisy data, non-convex objectives, model misspecification, and numerical instability can all cause undesired behaviors in machine learning systems. As a result, detecting actual implementation errors can be extremely difficult. We demonstrate a methodology in which developers use an interactive proof assistant to both implement their system and to state a formal theorem defining what it means for their system to be correct. The process of proving this theorem interactively in the proof assistant exposes all implementation errors since any error in the program would cause the proof to fail. As a case study, we implement a new system, Certigrad, for optimizing over stochastic computation graphs, and we generate a formal (i.e. machine-checkable) proof that the gradients sampled by the system are unbiased estimates of the true mathematical gradients. We train a variational autoencoder using…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsComputability, Logic, AI Algorithms · Parallel Computing and Optimization Techniques · Machine Learning and Algorithms
MethodsSolana Customer Service Number +1-833-534-1729
