HackerPapers

arXiv:1706.08605cs.SE

Developing Bug-Free Machine Learning Systems With Formal Mathematics

Daniel Selsam, Percy Liang, David L. Dill

Early discovery. Linked by one identifiable commenter. This paper is outside the main ranking; a mention is not an endorsement.

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 Certigrad and find the performance comparable to training the same model in TensorFlow.

arXiv comments
To appear at the Thirty-fourth International Conference on Machine Learning (ICML) 2017
Journal reference
DOI
Subjects
cs.SESoftware Engineering cs.AIArtificial Intelligence

On Hacker News

Linked by 1 identifiable commenter in 1 comment across 1 thread, from Dec 2017 to Dec 2017. Found in 1 HN submission from Jun 2017 to Jun 2017. Open submission discussions.

Comments linking this paper, per year.

Discussed in comments1 thread

    • I think this is a good application paper for Lean showing how you can use it to develop machine learning algorithms. https://arxiv.org/abs/1706.08605

      cfView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.