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?