This question is related to the usage of NN in critical systems (those where a failure can cause life threatening situations - autopilots for example) and the need for formal guarantees on their behavior. Here is, for example, a paper that verifies NN used in the controls of an unmanned air-vehicle.

There are numerous tools and techniques for the formal verification (not just testing and simulation, but actual mathematical proof) of, say, floating-point calculation (properties like: will not overflow, will not accumulate an error greater than x, etc).

Now take a DNN where the weights are real numbers. That is the DNN as a concept. But there is the implementation of the NN, where the weights must be encoded as floating-points (some even as low precision as 3-bits integers, apparently). And then, (faster) computation is done on these encodings. Someone might argue that you lose precision, but others might answer that it may be a good thing since one must prevent a NN for over-fitting anyway...


  • Is there a way to quantify the effect of this encoding on the robustness/precision/stability-of-classification, in a comparable way to what we have in (non learning) software verification?

  • Are there NN architectures (like Sum-Product Networks(?)) that are more amendable to offer such guarantees?

  • 2
    $\begingroup$ There is a lot of evidence that floating point precision is not a factor in neural networks, for example here arxiv.org/pdf/1412.7024.pdf $\endgroup$
    – Maxim
    Sep 30, 2017 at 19:28


You must log in to answer this question.