The Machine Proposes. The Proof Disposes: Neuro-Symbolic Synthesis of Formally Verified Markov Usage Models from Natural Language Requirements
本文介绍了神经符号 MBST,这是一个通过集成 L* 学习、语法约束的大语言模型以及凸优化,将自然语言需求自动合成形式化验证的马尔可夫使用模型,从而实现高保真故障检测与覆盖率,在显著超越纯神经基准模型的同时,消除了安全关键系统中人工建模瓶颈的框架。
原始论文采用 CC BY 4.0 许可(https://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正在试图教一个机器人如何驾驶汽车或浏览网站。为了做到这一点,你需要一张包含机器人所有可能动作的地图。在软件测试领域,这张图被称为“使用模型”(usage model)。它就像一张流程图,展示了系统可能处于的所有状态(例如“正在刹车”或“购物车已满”)以及从一个状态转移到另一个状态的概率(例如“用户点击‘购买’的概率为 80%”)。
几十年来,专家们一直使用这些地图来进行“统计测试”。统计测试不仅仅是检查代码是否运行一次成功,而是利用这张地图模拟成千上万次在系统中的随机旅程。如果地图是准确的,这些测试就能发现那些只在罕见、棘手情况下才会出现的隐藏漏洞(bugs)。然而,这里有一个巨大的问题:手工绘制这些地图既慢又枯燥,而且容易出现人为错误。这就像是在蒙着眼睛尝试绘制一整座城市的详细地图。最近,我们有了一个新工具:人工智能(AI),它可以阅读文本并猜测地图应该是什么样子的。但问题在于:AI 擅长猜测地图的“形状”,却不擅长把“数字”搞对。它可能会画出一条并不存在的路,或者说降水概率是 150%(这在现实中是不可能的)。这篇论文探讨的是:我们能否将 AI 的创造力与严格的数学“规则手册”结合起来,从而自动构建出一张完美的地图?
这篇题为《机器提议,证明处置》(The Machine Proposes. The Proof Disposes)的论文介绍了一种名为 NeSy-MBST 的新系统。你可以把它想象成一个创意作家与一位严厉数学老师的搭档。这个“作家”是一个大语言模型(LLM),它通过阅读自然语言需求(例如“用户应该能够将物品添加到购物车”)来起草一份系统地图的草案。而“数学老师”是一个符号求解器(symbolic solver),这是一个用于检查草案是否符合数学规律的计算机程序。
以下是这个团队是如何协作的:
- 提议(The Proposal): AI 阅读需求并勾勒出状态和转换路径。它速度很快,且能很好地理解人类语言。
- 证明(The Proof): 数学老师立即检查这份草图。AI 是否发明了一个物理上不可能存在的转换?它是否遗漏了某个步骤?老师会说:“不,那条路不存在,”或者“你漏掉了一个转弯。”
- 修正(The Fix): AI 接收反馈,修正地图,然后再次尝试。
- 数字(The Numbers): 一旦地图的形状完美无缺,数学老师就会接管并分配概率。与其让 AI 去瞎猜数字(这通常会导致错误),老师会使用“凸优化器”(convex optimizer)来精确计算概率,确保它们正确地加总为 100%,并反映真实的实际使用情况。
研究人员在两种类型的挑战上测试了这个系统:一辆自动驾驶汽车(自动驾驶汽车系统)和两个电子商务网站(一个用户购物页面和一个管理后台)。他们将这种全新的“搭档”系统与仅使用 AI 以及传统的纯人工方法进行了对比。
结果令人印象深刻。当仅使用 AI 时,系统会遗漏大约一半的重要路径,并在地图结构上出错。但通过 NeSy-MBST 这一组合,系统的得分达到了 0.9125,而在对于自动驾驶汽车等关键系统而言,0.90 是必须达到的安全阈值。这意味着仅靠 AI 是不够好的,但通过这种“搭档”模式则通过了安全测试。
具体而言,新系统成功覆盖了 85.7% 的可能转换(即系统可以采取的路径),而仅使用 AI 的版本仅覆盖了 50%。这是一个巨大的 35.7 个百分点 的增幅。用通俗的话说,新系统找到了更多样化的潜在漏洞,因为它不会像单纯的 AI 那样产生“死胡同”或“不存在的道路”等幻觉。
论文还研究了该系统在处理数字方面的表现。它使用了名为 Jensen–Shannon 散度(Jensen–Shannon divergence)的指标来衡量 AI 的概率猜测与真实数学值之间的接近程度。新系统的得分达到了 0.012,极其接近完美,而仅使用 AI 的版本则远在 0.157 之外。这证明了数学老师成功修正了 AI 的错误数学。
研究人员还进行了一项名为“消融实验”(ablation study)的特别实验,以观察团队中哪个部分承担了主要工作。他们发现,符号验证循环(即检查地图结构的数学老师)是系统找到更多路径的主要原因。而凸优化器(即进行概率计算的数学老师)则是数字如此准确的主要原因。闭环反馈(即系统通过运行测试进行学习)也有一定的帮助,但核心的魔力在于最初的这种“搭档”协作。
总之,这篇论文表明,我们不必在 AI 的速度和人类专家的安全性之间做选择。通过让 AI 提出想法,并由严格的数学系统进行验证和纠正,我们可以构建出既能快速创建又足以应对关键系统的软件测试地图。作者指出,虽然这在他们测试的系统(高达 42 个状态)中表现出色,但仍需更多研究来观察其是否能扩展到大规模、复杂的工业级系统。但就目前而言,他们已经证明了“机器提议”是一个伟大的开始,只要在最终使用地图之前,由“证明处置”掉其中的任何错误即可。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。