Classifiers learnt from data are increasingly being used as components in systems where safety is a critical concern. In this work, we present a formal notion of safety for classifiers via constraints called safe-ordering constraints. These constraints relate requirements on the order of the classes output by a classifier to conditions on its input, and are expressive enough to encode various interesting examples of classifier safety specifications from the literature. For classifiers implemented using neural networks, we also present a run-time mechanism for the enforcement of safe-ordering constraints. Our approach is based on a self-correcting layer, which provably yields safe outputs regardless of the characteristics of the classifier input. We compose this layer with an existing neural network classifier to construct a self-correcting network (SC-Net), and show that in addition to providing safe outputs, the SC-Net is guaranteed to preserve the classification accuracy of the original network whenever possible. Our approach is independent of the size and architecture of the neural network used for classification, depending only on the specified property and the dimension of the network's output; thus it is scalable to large state-of-the-art networks. We show that our approach can be optimized for a GPU, introducing run-time overhead of less than 1ms on current hardware -- even on large, widely-used networks containing hundreds of thousands of neurons and millions of parameters.
翻译:在这项工作中,我们提出了一个正式的分类者安全概念,即通过所谓的安全排序限制,分类者的安全概念。这些限制涉及分类者对分类输出顺序的要求及其输入条件,足以将分类者安全规格的各种有趣的实例从文献中编码出来。对于使用神经网络实施的分类者,我们还提出了一个执行安全排序限制的运行时间机制。我们的方法基于一个自我修正层,无论分类者输入的特性如何,都可安全地产生产出。我们用一个现有的神经网络分类师构建一个自我校正网络(SC-Net),并表明除了提供安全输出之外,SC-Net还保证尽可能保存原始网络的分类准确性。我们的方法独立于用于分类的神经网络的规模和结构,仅取决于特定属性和网络输出的层面;因此,这个层可以与现有的神经网络的大型状态和神经系统参数相连接,以构建一个自我校正网络(SC-Net),并显示除了提供安全产出之外,SC-Net保证尽可能保持原始网络的分类准确性。我们的方法可以独立于用于分类的神经网络的规模和结构结构,仅取决于特定属性和网络产出的层面;因此,它甚至可以伸缩到大规模的神经网络的状态,在现有的数百个硬件网络上,我们可以显示一个运行的大规模的硬件网络中可以广泛使用。我们可以显示,可以对数百的硬件网络进行。