Deep Neural Networks (DNNs) have grown in popularity over the past decade and are now being used in safety-critical domains such as aircraft collision avoidance. This has motivated a large number of techniques for finding unsafe behavior in DNNs. In contrast, this paper tackles the problem of correcting a DNN once unsafe behavior is found. We introduce the provable repair problem, which is the problem of repairing a network N to construct a new network N' that satisfies a given specification. If the safety specification is over a finite set of points, our Provable Point Repair algorithm can find a provably minimal repair satisfying the specification, regardless of the activation functions used. For safety specifications addressing convex polytopes containing infinitely many points, our Provable Polytope Repair algorithm can find a provably minimal repair satisfying the specification for DNNs using piecewise-linear activation functions. The key insight behind both of these algorithms is the introduction of a Decoupled DNN architecture, which allows us to reduce provable repair to a linear programming problem. Our experimental results demonstrate the efficiency and effectiveness of our Provable Repair algorithms on a variety of challenging tasks.
翻译:深神经网络(DNN)在过去10年中越来越受欢迎,现在被用于避免飞机碰撞等安全关键领域。这引发了在DNN中发现不安全行为的大量技术。与此相反,本文件解决了一旦发现不安全行为后纠正DNN的问题。我们引入了可证实的修复问题,即修复网络N的问题,以建立一个满足特定要求的新网络N'。如果安全规格超过一定的一组点,那么我们的可探测点修理算法可以找到一个可以想象的最低限度的修理方法,满足规格要求,而不管使用的是哪些激活功能。对于包含无限多点的 convex 聚点的安全规格,我们可探测的聚合修复算法可以找到一个可证实的最起码的修理方法,用小线性激活功能来满足DNN的规格。这两种算法背后的关键洞察力是引入一个脱coupled DNNN结构,这使我们能够减少可探测的修理到的线性编程问题。我们的实验结果表明,我们可探测的修复算法在各种具有挑战性的任务上的效率和有效性。