Verification of neural networks is currently a hot topic in automated theorem proving. Progress has been rapid and there are now a wide range of tools available that can verify properties of networks with hundreds of thousands of nodes. In theory this opens the door to the verification of larger control systems that make use of neural network components. However, although work has managed to incorporate the results of these verifiers to prove larger properties of individual systems, there is currently no general methodology for bridging the gap between verifiers and interactive theorem provers (ITPs). In this paper we present Vehicle, our solution to this problem. Vehicle is equipped with an expressive domain specific language for stating neural network specifications which can be compiled to both verifiers and ITPs. It overcomes previous issues with maintainability and scalability in similar ITP formalisations by using a standard ONNX file as the single canonical representation of the network. We demonstrate its utility by using it to connect the neural network verifier Marabou to Agda and then formally verifying that a car steered by a neural network never leaves the road, even in the face of an unpredictable cross wind and imperfect sensors. The network has over 20,000 nodes, and therefore this proof represents an improvement of 3 orders of magnitude over prior proofs about neural network enhanced systems in ITPs.
翻译:目前,神经网络的核查是自动化理论验证的一个热题。进展迅速,现在有各种工具可以用来核查拥有数十万节点的网络的特性。理论上,这打开了对使用神经网络组件的大型控制系统的核查的大门。然而,尽管这项工作设法将这些核查器的结果纳入,以证明单个系统的更大特性,但目前没有一般方法来弥补核查器与互动理论验证器(ITPs)之间的差距。在本文中,我们介绍的车辆是解决这一问题的解决方案。车辆配备了明确区域具体语言,用于说明神经网络的规格,这些规格可以编制给核查器和 ITPs。它克服了以前在类似 ITP正规化中具有可维持性和可缩放性的问题,办法是使用标准 ONNX 文件来证明单个系统的单一卡通性特征。我们用它来将神经网络验证器Marabou与Agda连接起来,然后正式核实由神经网络驾驶的汽车从未离开过这条道路,即使面对不可预测的交叉命令和增强的传感器,网络在20,因此网络上也没有超过20 000号的任何证据。