In plain words: Developers write the program inside a proof tool alongside a claim that it is correct, then prove that claim step by step, so any coding mistake breaks the proof. The resulting gradient system was proven unbiased and trained a model as well as TensorFlow.
Abstract · Developing Bug-Free Machine Learning Systems With Formal Mathematics
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 Certigrad and find the performance comparable to training the same model in TensorFlow.
Daniel Selsam, Percy Liang, David L. Dill
arXiv:1706.08605 · cs.SE, cs.AI · submitted Jun 26, 2017
abstract · pdf · html · To appear at the Thirty-fourth International Conference on Machine Learning (ICML) 2017
Note that they claim performance similar to TensorFlow in CPU only. But a direct translation of this to Python TensorFlow code could run in GPU, and is probably easy to make. It wouldn't be proven, but it would be much more likely to be correct than the code you have constructed for your research just now.
Also as scribu states, this doesn't allow you to prove final goals of the system like "classify images with 95% accuracy", nor does it save you from insufficient or inaccurate data.
(Edit: added last paragraph, finished reading paper)