In plain words: Robustness checkers prove a network behaves safely on every input, but they ignore the tiny rounding errors computers make in arithmetic. A search for inputs exposing those errors showed safety guarantees can be systematically broken, so checkers must account for rounding.
Abstract
Researchers have developed neural network verification algorithms motivated by the need to characterize the robustness of deep neural networks. The verifiers aspire to answer whether a neural network guarantees certain properties with respect to all inputs in a space. However, many verifiers inaccurately model floating point arithmetic but do not thoroughly discuss the consequences. We show that the negligence of floating point error leads to unsound verification that can be systematically exploited in practice. For a pretrained neural network, we present a method that efficiently searches inputs as witnesses for the incorrectness of robustness claims made by a complete verifier. We also present a method to construct neural network architectures and weights that induce wrong results of an incomplete verifier. Our results highlight that, to achieve practically reliable verification of neural networks, any verification system must accurately (or conservatively) model the effects of any floating point computations in the network inference or verification system.
Kai Jia, Martin Rinard
arXiv:2003.03021 · cs.LG, cs.CR, stat.ML · submitted Mar 6, 2020 · updated Oct 1, 2021
abstract · pdf · html · SAS 2021