We present a method for computing exact reachable sets for deep neural networks with rectified linear unit (ReLU) activation. Our method is well-suited for use in rigorous safety analysis of robotic perception and control systems with deep neural network components. Our algorithm can compute both forward and backward reachable sets for a ReLU network iterated over multiple time steps, as would be found in a perception-action loop in a robotic system. Our algorithm is unique in that it builds the reachable sets by incrementally enumerating polyhedral cells in the input space, rather than iterating layer-by-layer through the network as in other methods. If an unsafe cell is found, our algorithm can return this result without completing the full reachability computation, thus giving an anytime property that accelerates safety verification. In addition, our method requires less memory during execution compared to existing methods where memory can be a limiting factor. We demonstrate our algorithm on safety verification of the ACAS Xu aircraft advisory system. We find unsafe actions many times faster than the fastest existing method and certify no unsafe actions exist in about twice the time of the existing method. We also compute forward and backward reachable sets for a learned model of pendulum dynamics over a 50 time step horizon in 87s on a laptop computer. Algorithm source code: https://github.com/StanfordMSL/Neural-Network-Reach.
翻译:我们为深神经网络提供了一种计算精确可达数据集的方法,该方法有纠正线性单元(ReLU)激活功能。我们的方法非常适合用于对机器人感知和控制系统以及深神经网络组件进行严格的安全分析。我们的算法可以对RELU网络进行前向和后向可达数据集的计算,在多个时间步骤中反复出现RELU网络。在机器人系统中的感知-动作环中可以看到,我们的算法是独一无二的。我们的算法是,它通过输入空间中递增地罗列多功能细胞来建立可达数据集,而不是与其他方法一样通过网络对层逐层进行迭代。如果找到一个不安全的单元格,我们的算法就可以在不完成完全可达性计算的情况下返回这一结果,从而在任何时间里都有加速安全核查的属性。此外,我们的方法在执行过程中需要的记忆力会比现有的方法要少一些限制因素。我们展示了ACAS Xu飞机咨询系统的安全核查算法。我们发现不安全的行动比现有最快的方法要快很多倍,并且在现有方法的两倍的时间里不存在不安全的行动。在现有的方法的两倍的时间里,并且没有不安全的行动存在不安全的行动。我们还可以在现有的方法上一个前向前向前向和后向后向后向后向的轨道上,我们学习一个计算机定位的代码。我们是在现有的版本。我们学习了一个前向前向前向前和向前和向前向后方的码。在现有的代码系统。我们方的轨道上学习了。我们学习了。在现有的标准。在现有的一个前和向-向后向-向-向的轨道上,在现有的代码。在现有的代码。在现有的轨道上,在现有的轨道上向后向后向方向/向方向/向后向后向后向方向/向。我们学习了。在现有的代码S-S-S-S-S-S-S-CL-S-S-CL-CL-S-CL-S-S-CL-S-S-CL-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-