Although neural networks are widely used, it remains challenging to formally verify the safety and robustness of neural networks in real-world applications. Existing methods are designed to verify the network before deployment, which are limited to relatively simple specifications and fixed networks. These methods are not ready to be applied to real-world problems with complex and/or dynamically changing specifications and networks. To effectively handle such problems, verification needs to be performed online when these changes take place. However, it is still challenging to run existing verification algorithms online. Our key insight is that we can leverage the temporal dependencies of these changes to accelerate the verification process. This paper establishes a novel framework for scalable online verification to solve real-world verification problems with dynamically changing specifications and/or networks. We propose three types of acceleration algorithms: Branch Management to reduce repetitive computation, Perturbation Tolerance to tolerate changes, and Incremental Computation to reuse previous results. Experiment results show that our algorithms achieve up to $100\times$ acceleration, and thus show a promising way to extend neural network verification to real-world applications.
翻译:虽然神经网络被广泛使用,但是在现实世界应用中正式核实神经网络的安全和稳健性仍然是个挑战。现有的方法设计在部署之前对网络进行核查,限于相对简单的规格和固定的网络。这些方法无法应用于复杂和(或)动态变化的规格和网络的现实问题。为了有效处理这些问题,在进行这些变化时需要在网上进行核查。然而,在网上运行现有的核查算法仍然具有挑战性。我们的关键见解是,我们可以利用这些变化的时间依赖性加速核查进程。本文建立了一个可扩展的在线核查新框架,以便用动态变化的规格和(或)网络解决现实世界的核查问题。我们提出了三种加速算法:部门管理以减少重复计算,对变化的容忍度,对重复使用先前的结果进行递增计算。实验结果表明,我们的算法达到100美元的速度加速,从而展示了将神经网络核查扩大到现实世界应用的有希望的方法。