Beyond the Single Neuron Convex Barrier for Neural Network Certification

Authors: Gagandeep Singh, Rupanshu Ganvir, Markus Püschel, Martin Vechev

NeurIPS 2019 | Conference PDF | Archive PDF | Plain Text | LLM Run Details

Reproducibility Variable Result LLM Response
Research Type Experimental Our experimental results show that k-Re LU enables significantly more precise certification than existing state-of-the-art verifiers while maintaining scalability.
Researcher Affiliation Academia Gagandeep Singh1, Rupanshu Ganvir2, Markus Püschel1, Martin Vechev1 Department of Computer Science ETH Zurich, Switzerland 1{gsingh,pueschel,martin.vechev}@inf.ethz.ch 2rganvir@student.ethz.ch
Pseudocode No No explicitly labeled pseudocode or algorithm blocks found.
Open Source Code Yes We made k Poly publicly available as part of the ERAN [28] framework for neural network verification. [28] ERAN: ETH Robustness Analyzer for Neural Networks, 2018. [Online]. Available: https://github.com/eth-sri/eran
Open Datasets Yes Neural networks We used 9 MNIST [31] and CIFAR10 [32] fully connected (FNNs), convolutional (CNNs), and residual networks with Re LU activations shown in Table 2.
Dataset Splits No No explicit mention of specific training, validation, or test dataset splits (e.g., percentages or sample counts) for a validation set.
Hardware Specification Yes The runtimes of all experiments for the MNIST FNNs were measured on a 3.3 GHz 10 Core Intel i9-7900X Skylake CPU with a main memory of 64 GB whereas the experiments for the rest were run on a 2.6 GHz 14 core Intel Xeon CPU E5-2690 with 512 GB of main memory.
Software Dependencies No k Poly is written in Python and uses cdd [25, 26] for computing convex hulls, and Gurobi [27] for refining Deep Poly Re LU relaxations and proving that ψ holds with k-Re LU relaxations. The paper does not provide specific version numbers for these software components.
Experiment Setup Yes The last column of Table 2 shows the value of k for all networks. For the MNIST and CIFAR10 Conv Big networks, we encode the first 3 Re LU layers with 1-Re LU while the remaining are encoded with 5-Re LU. We use l = 3 in (7) for encoding 5-Re LU. For the remaining 3 networks, we encode the first Re LU layer with 1-Re LU while the remaining layers are encoded adaptively. Here, we choose a value of k for which the total number of calls to 3-Re LU is 500.