Skip to main content
QUICK REVIEW

[论文解读] A Certified Proof Checker for Deep Neural Network Verification in Imandra

Remi Desmartin, Omri Isac|arXiv (Cornell University)|May 17, 2024
Adversarial Robustness in Machine Learning被引用 1
一句话总结

本文在 Imandra 交互式定理证明器中,为 Marabou 的深度神经网络(DNN)验证证书实现了一个形式化验证的、可信的证明检查器。通过在 Imandra 的函数式语言中实现检查器,并利用其形式化验证能力与任意精度算术,作者构建了一个完全验证的、可信的证书检查器,确保结果正确性且不受浮点数精度误差影响,从而为安全关键系统中的 DNN 验证提供更强的保障。

ABSTRACT

Recent advances in the verification of deep neural networks (DNNs) have opened the way for a broader usage of DNN verification technology in many application areas, including safety-critical ones. However, DNN verifiers are themselves complex programs that have been shown to be susceptible to errors and numerical imprecision; this, in turn, has raised the question of trust in DNN verifiers. One prominent attempt to address this issue is enhancing DNN verifiers with the capability of producing certificates of their results that are subject to independent algorithmic checking. While formulations of Marabou certificate checking already exist on top of the state-of-the-art DNN verifier Marabou, they are implemented in C++, and that code itself raises the question of trust (e.g., in the precision of floating point calculations or guarantees for implementation soundness). Here, we present an alternative implementation of the Marabou certificate checking in Imandra - an industrial functional programming language and an interactive theorem prover (ITP) - that allows us to obtain full proof of certificate correctness. The significance of the result is two-fold. Firstly, it gives stronger independent guarantees for Marabou proofs. Secondly, it opens the way for the wider adoption of DNN verifiers in interactive theorem proving in the same way as many ITPs already incorporate SMT solvers.

研究动机与目标

  • 为解决 DNN 验证器中信任问题这一关键挑战,这类验证器易受实现错误和数值精度误差影响。
  • 为 Marabou 的 UNSAT 证书提供一个形式化验证的、可独立检查的证明检查器,确保验证结果的正确性。
  • 通过在可信的形式化函数式编程语言中实现可信检查器,消除对未经验证的 C++ 基础证书检查器的依赖。
  • 实现 DNN 验证与具有强保障能力的交互式定理证明环境的集成。
  • 通过形式化验证 DNN 验证工作流的正确性,为可携带证明的神经符号系统奠定基础。

提出的方法

  • 在 Imandra(一种函数式编程语言与交互式定理证明器)中实现证书检查器,以确保检查器正确性的形式化验证。
  • 将 Marabou 的证明树与 Farkas 向量编码为 Imandra 类型系统中的数据结构,以表示 DNN 验证证明。
  • 利用 Imandra 的任意精度实数算术,避免证明检查中因浮点数精度误差带来的问题。
  • 在多项式形式下形式化并证明 Farkas 引理,以支持 Imandra 中的高效自动化与验证。
  • 通过遍历证明树并使用形式化 Farkas 引理验证 Farkas 向量,重建 Marabou 证书的完整正确性证明。
  • 利用 Imandra 的证明自动化与基于策略的交互机制,在性能与验证严谨性之间取得平衡。

实验结果

研究问题

  • RQ1是否可以在交互式定理证明器中对 DNN 验证器的证书检查器进行形式化验证,以消除对实现代码的信任?
  • RQ2如何利用可信的、形式化验证的检查器来认证 Marabou 的 UNSAT 证书的正确性?
  • RQ3相较于传统的 C++ 基础检查器,使用可信的高级语言(如 Imandra)在正确性与精度方面具有哪些优势?
  • RQ4将 DNN 验证器集成到 ITP(交互式定理证明)环境中,能在多大程度上提升 AI 安全验证的可靠性?
  • RQ5在多项式形式下对 Farkas 引理的形式化,是否能实现在 Imandra 中高效且自动化的证明重建?

主要发现

  • 作者成功在 Imandra 中实现了对 Marabou 的 UNSAT 证书的完全形式化验证的证明检查器,实现了完整的可携带证明代码保障。
  • 该检查器使用 Imandra 的函数式语言实现,并通过同一语言的形式化证明其正确性,消除了对外部代码的信任依赖。
  • 通过使用任意精度算术,该检查器避免了传统 DNN 验证器及其检查器中普遍存在的浮点数精度误差问题。
  • 在多项式形式下对 Farkas 引理的形式化,使得 Imandra 中的高效证明自动化与验证成为可能。
  • 该方法实现了 DNN 验证与交互式定理证明工作流的集成,为可携带证明的神经符号系统铺平了道路。
  • 评估表明,可靠性与可扩展性之间存在权衡,主要源于无限精度算术与面向验证的数据结构。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。