Occlusion is a prevalent and easily realizable semantic perturbation to deep neural networks (DNNs). It can fool a DNN into misclassifying an input image by occluding some segments, possibly resulting in severe errors. Therefore, DNNs planted in safety-critical systems should be verified to be robust against occlusions prior to deployment. However, most existing robustness verification approaches for DNNs are focused on non-semantic perturbations and are not suited to the occlusion case. In this paper, we propose the first efficient, SMT-based approach for formally verifying the occlusion robustness of DNNs. We formulate the occlusion robustness verification problem and prove it is NP-complete. Then, we devise a novel approach for encoding occlusions as a part of neural networks and introduce two acceleration techniques so that the extended neural networks can be efficiently verified using off-the-shelf, SMT-based neural network verification tools. We implement our approach in a prototype called OccRob and extensively evaluate its performance on benchmark datasets with various occlusion variants. The experimental results demonstrate our approach's effectiveness and efficiency in verifying DNNs' robustness against various occlusions, and its ability to generate counterexamples when these DNNs are not robust.
翻译:封闭性是深入神经网络(DNNS)的一种普遍且容易实现的语义扰动。 它可能愚弄一个 DNN 将输入图像错误分类, 将某些部分插入, 可能导致严重错误。 因此, 在安全关键系统中植入的 DNNS 应该被核查为强力, 防止在部署之前的封闭性。 然而, DNS 现有的多数稳健性核查方法都侧重于非语义扰动, 不适合隔离性。 在本文中, 我们提出了第一个基于 SMT 的高效方法, 正式核实 DNNS 的固态性。 我们设计了隐蔽性强性核查问题, 证明它是NP的完整性。 然后, 我们设计了一种新颖的方法, 将封闭性编码成神经网络的一部分, 引入两种加速技术, 使扩展的神经网络能够使用现成的基于 SMT 的神经网络核查工具得到高效的验证。 我们用一种名为 OccRob 的基于 SMT 的方法, 并广泛评估其在基准数据稳健性测试中的表现, 以各种固性模型来显示我们的数据安全性, 的NPNPNPD 的模型将显示我们是否具有各种的结果。