QNNVerifier is the first open-source tool for verifying implementations of neural networks that takes into account the finite word-length (i.e. quantization) of their operands. The novel support for quantization is achieved by employing state-of-the-art software model checking (SMC) techniques. It translates the implementation of neural networks to a decidable fragment of first-order logic based on satisfiability modulo theories (SMT). The effects of fixed- and floating-point operations are represented through direct implementations given a hardware-determined precision. Furthermore, QNNVerifier allows to specify bespoke safety properties and verify the resulting model with different verification strategies (incremental and k-induction) and SMT solvers. Finally, QNNVerifier is the first tool that combines invariant inference via interval analysis and discretization of non-linear activation functions to speed up the verification of neural networks by orders of magnitude. A video presentation of QNNVerifier is available at https://youtu.be/7jMgOL41zTY
翻译:QNNVer化器是核查神经网络实施情况的第一个开放源码工具,该工具考虑到其功能的有限单词长度(即量化),通过采用最先进的软件模型检查(SMC)技术实现对量化的新支持。它将神经网络的实施转化为基于可视性模调理论的第一阶逻辑的分解碎片。固定点和浮点操作的效果通过基于硬件确定的精确度的直接实施得到体现。此外,QNNNVer化器允许指定安全特性,并用不同的核查战略(智力和K-感应)和SMT解答器核查所产生的模型。最后,QNNNVer化器是第一个通过间隙分析和非线性激活功能的离散化来结合变化性推断的工具,以加速按数量顺序对神经网络的核查。QNNNVer化器的视频演示可在https://youtu.be/7MgOL41TY上查阅。