Solving Probabilistic Verification Problems of Neural Networks using Branch and Bound
About
Probabilistic verification problems of neural networks are concerned with formally analysing the output distribution of a neural network under a probability distribution of the inputs. Examples of probabilistic verification problems include verifying the demographic parity fairness notion or quantifying the safety of a neural network. We present a new algorithm for solving probabilistic verification problems of neural networks based on an algorithm for computing and iteratively refining lower and upper bounds on probabilities over the outputs of a neural network. By applying state-of-the-art bound propagation and branch and bound techniques from non-probabilistic neural network verification, our algorithm significantly outpaces existing probabilistic verification algorithms, reducing solving times for various benchmarks from the literature from tens of minutes to tens of seconds. Furthermore, our algorithm compares favourably even to dedicated algorithms for restricted probabilistic verification problems. We complement our empirical evaluation with a theoretical analysis, proving that our algorithm is sound and, under mildly restrictive conditions, also complete when using a suitable set of heuristics.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Probabilistic Hull Finding | ACAS Xu | Lower Bound (Ls)0.9845 | 18 | |
| Group Fairness Certification | Income Prediction Dataset | Time1.18 | 8 | |
| Over-approximation Certification | GTSRB (All) | Approximation Ratio2.79 | 6 | |
| Over-approximation Certification | GTSRB (Hard) | Approximation Ratio17.61 | 6 | |
| Under-approximation Certification | GTSRB (All) | Approximation Ratio31 | 6 | |
| Under-approximation Certification | GTSRB (Hard) | Approximation Ratio5 | 6 |