。cc-by-nc 4.0国际许可(未获得同行评审证明),他授予Biorxiv授予Biorxiv的许可,以永久显示预印本。这是该版本的版权持有人,该版本发布于2024年12月31日。 https://doi.org/10.1101/2024.12.30.630796 doi:Biorxiv Preprint
隐私声明Safework NSW尊重您的隐私,并致力于保护个人信息。本文档中提供的信息是为了为《 WHS法》第11部分的目的做出一项承诺。此信息将按照现任州政府隐私制度的要求进行管理。新南威尔士州的Safework可以出售该承诺和其中包含的信息,以便在承诺中确定的目的或出于报纸和网站等各种出版物中的其他适当法律目的。Safework NSW可能需要根据其他执法活动向其他监管机构披露个人信息,这可以作为调查的一部分进行。有关我们隐私政策的更多信息,请访问safework.nsw.gov.au。
神经网络可以看作是一种新的编程范式,即不再通过程序员头脑中(通常是非正式的)逻辑推理来构建越来越复杂的程序,而是通过使用大数据优化通用神经网络模型来构建复杂的“人工智能”系统。在这个新范式中,TensorFlow 和 PyTorch 等人工智能框架起着关键作用,与传统程序的编译器一样重要。众所周知,编程语言(如 C)缺乏适当的语义,即编译器的正确性规范,导致了许多有问题的程序行为和安全问题。虽然由于编程语言的高度复杂性及其快速发展,通常很难为编译器制定正确性规范,但这次我们有独特的机会为神经网络(具有一组有限的功能,并且大多数具有稳定的语义)做到这一点。在这项工作中,我们报告了我们在提供 TensorFlow 等神经网络框架的正确性规范方面的努力。我们在逻辑编程语言 Prolog 中指定了几乎所有 TensorFlow 层的语义。我们通过两个应用程序展示了语义的实用性。一个是 TensorFlow 的模糊测试引擎,它具有强大的 oracle 和生成有效神经网络的系统方法。另一种是模型验证方法,可为 TensorFlow 模型提供一致的错误报告。