Abstract: Adversarial examples reveal the vulnerability of neural networks, thereby increasing the demand for formal verification of their robustness. Verification methods employing branch and bound technique have shown excellent performance for this task and are widely adopted to provide robustness assurance. A key component in branch and bound is the branching strategy, which determines how to split the feasible region. A good branching strategy can reduce the number of branches that need to be explored, and thus improve the verification efficiency. In this paper, we present a novel branching strategy. For each sub-problem in the branch and bound process, we use its optimal solution to compute a score for each branching choice. This score approximates the potential improvement brought by branching at that choice, and a higher score indicates a better branching decision. Our branching strategy also includes out-of-bound compensation and score truncation. These techniques can help better assess the quality of each branching choice. In addition, we demonstrate that some sub-problems generated by certain branching choice can be directly resolved, which reduces the number of calls to the bounding algorithm. We implement our branching strategy as OptGBS and conduct experiments on widely used open source benchmarks to evaluate its performance. Experimental results show that our branching strategy achieves a roughly 25% time cost reduction compared to the state-of-the-art branching strategies, and verification methods using our branching strategy can achieve higher verified accuracy.
Loading