Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

像搭乐高一样做数学定理证明题,GPT-3.5证明成功率达新SOTA

中山大学和华为等机构的研究者提出了 LEGO-Prover,实现了数学定理的生成、整理、储存、检索和复用的全流程闭环。


背景

作为长链条严格推理的典范,数学推理被认为是衡量语言模型推理能力的重要基准,GSM8K 和 MATH 等数学文字问题(math word problem)数据集被广泛应用于语言模型的测评和比较中。事实上,数学作为一项科学研究并不仅仅包括计算具体实例,还包括推演一般性的定理。不同于简单的计算问题仅仅需要验证最终的结果与答案是否匹配,定理的证明要求对数学概念拥有更严格的理解,而这种定理证明的正确性是难以通过直接的自然语言生成和判别或是简单的程序调用就能够完成的。

正如自然语言处理希望能够使用计算机直接对人类语言进行数字化计算一样,对于数学对象的数字化也有着数十年的探索,甚至现代形式逻辑的诞生在很大程度上也正是源于对数学命题进行演算的想法。从事形式化验证的计算机科学家致力于为数学论述构造表达自然且计算高效的形式语言和证明验证器,人工编写的形式化数学代码在通过计算机的形式化验证后被认为具有高度的严格性。然而,这一过程需要大量的人工成本,著名的 Flyspeck project 甚至花费了二十年的时间才完成开普勒猜想的证明,而自动化的证明搜索算法则面临着搜索空间的组合爆炸问题,导致非平凡的定理证明往往超出了当前的计算能力限制。

深度学习的发展为形式化数学和自动定理证明提供了新的机遇。近年来,一种名为神经定理证明(neural theorem proving)的新范式以两种方式尝试将神经网络与形式定理证明相结合:使用神经网络对数学库中的定理和当前的证明目标分别进行向量表征并进行匹配,筛选出最可能被使用的定理,帮助纯符号计算的自动定理证明器缩小证明搜索空间;或者将证明目标作为提示输入语言模型,使其直接生成相应的形式化数学证明代码,再使用相应的形式化验证器来判断该证明的正确性,这种直接代替人类编码者完成主要证明内容书写的直接模式在大语言模型取得突破后备受关注。

然而,与数学文字问题一样,当前进行定理证明的方法通常是 “一次性的”,也即推理过程和中间结论仅仅作为通向最终证明的临时性路径,在完成证明的验证后即被丢弃、并不对后续的定理证明产生贡献。这种方式更像是对大语言模型进行静态测试,而没有对其能力的持续提升做出贡献。

事实上,数学的发展并不仅仅是简单的重复尝试解题,还包括从实例中「抽象」出普遍的数学结构和定理、从特殊的定理推广到一般的定理和根据已有的定理演绎地「推出」新的结论。

随着这一过程的演进,数学家对更复杂的问题拥有更强大的工具和更深刻的理解,最终才能解决先前无法解决的困难问题。

为了解决这一问题,模拟人类数学家在进行定理证明时通常进行的分解复杂问题、引用已有知识,并积累成功证明的新定理的迭代过程,中山大学和华为等机构的研究者提出了 LEGO-Prover,实现了数学定理的生成、整理、储存、检索和复用的全流程闭环。

LEGO-Prover 使 GPT-3.5 在形式化定理证明数据集 miniF2F-valid(证明成功率从 48.0% 提高到 57.0%)和 miniF2F-test(证明成功率从 45.5% 提高到 50.0%)上都达到了新的 SOTA。在证明过程中,LEGO-Prover 还成功地生成了超过 20,000 个引理并将它们添加到了不断增长的定理库中。

消融研究表明,这些新添加的技能确实对证明定理有帮助,在 miniF2F-valid 上的证明成功率从 47.1% 提高到 50.4%。

图片

  • 论文地址:https://arxiv.org/abs/2310.00656
  • 代码地址:https://github.com/wiio12/LEGO-Prover

方法

图片

图片

LEGO-Prover 采取了一系列的流程来实现对定理证明的规划、实施和可复用定理库的收集:

1. 给定一个以自然语言描述的数学定理及其人类编写的形式化描述,使用 GPT-3.5(informal solver)直接生成的自然语言证明。
2. 使用分解器(decomposer)将这一自然语言证明分解为具体的证明步骤,并以引理的形式对这些证明步骤中的子目标进行对应的形式语言描述(作为检索的 request)。
3. 利用这些以形式语言描述的子目标尝试从定理库(也即 skill library)中检索相关的已证明定理,将其与上述内容一同输入 GPT-3.5(formalizer),在这些提示的基础上进行目标定理的形式化证明,并使用形式化验证器检验证明的正确性。
4. 从通过验证的形式化证明中,提取出除目标定理外的其他通过验证的定理(或引理)和在分解过程后得到的子目标形式语言描述,对它们进行 embedding 后加入到维护的定理库中。

此外,LEGO-Prover 还对定理库进行了专门的整理和维护流程,对分解过程中收集到的子目标进行单独的证明尝试,通过多种类别的 prompt 引导 GPT-3.5 对证明过程中收集到的成功证明的定理进行演化,从具体的证明实例抽象出一般的数学命题,以增进定理库中命题的多样性、概括性和可复用性:

图片

实验

图片

实验表明,这些演化得到的新定理在后续的定理证明中起到了关键性的作用,miniF2F 数据集中的许多定理都是在利用这些从定理库中抽取得到的结果才得以证明的。使用收集和演化得到的定理库后,LEGO-Prover 的证明成功率从 47.1% 提高到 50.4%,而在使用定理库的情形下,有 24% 的问题是在技能库的帮助下完成的,这表明技能库的使用对于大语言模型进行定理证明任务而言帮助很大。此外,使用定理库技术的优势在较小的尝试次数下具有较高的比例,表明这一方法对于计算资源相当有限的情形下具有相当可观的使用价值。

图片

最后,实验结果表明 LEGO-Prover 在 miniF2F 数据集上的证明成功率显著优于基于先前的方法。使用人类编写的证明,LEGO-Prover 在验证集和测试集上的证明成功率分别比先前最好的方法高出 19% 和 3.5%。当使用模型生成的非正式证明替代人类编写的非正式证明时,LEGO-Prover 在验证集上的证明成功率仍然达到了 52.4%,接近于使用人类编写的非正式证明的证明成功率 55.3%。

图片

LEGO-Prover 探索了如何以块状的方式证明定理。然而数据稀缺问题在定理证明这个领域内依旧非常严重。因此,与此同时,中山大学联合北京大学还推出了基于三角函数的定理证明基准数据集 TRIGO (https://arxiv.org/abs/2310.10180),发表于EMNLP 2023。

TRIGO 对自动引理生成以及如何从合成的引理数据的分布泛化到真实世界数据的分布进行了进一步的探索。当前的自动定理证明数据集主要侧重于符号推理,很少涉及复杂数字组合推理的理解。TRIGO 不仅要求模型通过逐步证明来简化三角函数表达式,还评估了生成式语言模型在公式和数字术语的操作、分组和因式分解方面的推理能力。研究团队从网络上收集了三角函数表达式及其简化形式,人工标注了简化过程,然后将其转化为 LEAN 形式系统下的语言。在有一定的来自于真实世界的形式化定理数据后,研究团队利用引理生成器,从已标注的样本中初始化 Lean-gym 来自动生成新的引理以扩展数据集。

此外,TRIGO 还开发了基于 lean-gym 的自动生成器,用以创建不同难度和分布的数据集拆分,以全面分析模型的泛化能力。TRIGO 在定理证明领域提供了新的挑战,同时也提供了一种研究生成式语言模型在形式和数学推理方面能力的新工具。

图片

此外,为了探索定理证明模型的能力在更难的数据集上的表现,中山大学联合北京大学还提出了 FIMO 基准数据集(https://arxiv.org/abs/2309.04295)。形式化数学数据稀缺,手工形式化成本非常高昂。当前主流的数据集主要聚焦于初高中水平的应用题,难度普遍偏低,对于 IMO 等需要高水平解题技巧的数学竞赛题目关注较少,而且常常不包括自然语言题解。

针对现有数据集的问题,FIMO 探索了使用反馈信息的自动形式化方法,使用 GPT-4 和自动、手动两种反馈信息,将数量较为丰富的 IMO Shortlisted 候选题转换为了 Lean 语言描述的形式语言。

实验结果表明,反馈机制的加入大大缓解了先前自动形式化的语法错误和语义错误,显著提升了自动形式化的成功率(32.6%→60.8),成功形式化了 89 道代数和 60 道数论的高难度题目。进一步的实验表明,虽然 GPT-4 无法直接生成 IMO 级别题目的形式化题解,但是它可以跟随自然语言答案的解题思路,暗示了使用自然语言辅助机器定理证明的可能性。
理论LEGO-Prover
相关数据
华为机构

华为创立于1987年,是全球领先的ICT(信息与通信)基础设施和智能终端提供商。

https://www.huawei.com/cn/
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

规划技术

人工智能领域的「规划」通常是指智能体执行的任务/动作的自动规划和调度,其目的是进行资源的优化。常见的规划方法包括经典规划(Classical Planning)、分层任务网络(HTN)和 logistics 规划。

自动定理证明技术

自动定理证明(简称ATP)是自动推理(automated reasoning)以及数理逻辑(利用计算机程序进行数学定理证明)的分支。以数学证明为基础的自动推理曾经是计算机科学发展的主要驱动力。

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

因式分解技术

在数学中,把一个数学因子(比如数字,多项式,或矩阵)分解其他数学因子的乘积。比如:整数15可以分解成两个质数3和5的乘积,一个多项式x^2 -4 可被因式分解为(x+2)(x-2)。

自然语言生成技术

自然语言生成(NLG)是自然语言处理的一部分,从知识库或逻辑形式等等机器表述系统去生成自然语言。这种形式表述当作心理表述的模型时,心理语言学家会选用语言产出这个术语。自然语言生成系统可以说是一种将资料转换成自然语言表述的翻译器。不过产生最终语言的方法不同于编译程式,因为自然语言多样的表达。NLG出现已久,但是商业NLG技术直到最近才变得普及。自然语言生成可以视为自然语言理解的反向: 自然语言理解系统须要厘清输入句的意涵,从而产生机器表述语言;自然语言生成系统须要决定如何把概念转化成语言。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

北京大学机构

北京大学创办于1898年,初名京师大学堂,是中国第一所国立综合性大学,也是当时中国最高教育行政机关。辛亥革命后,于1912年改为现名。2000年4月3日,北京大学与原北京医科大学合并,组建了新的北京大学。原北京医科大学的前身是国立北京医学专门学校,创建于1912年10月26日。20世纪三、四十年代,学校一度名为北平大学医学院,并于1946年7月并入北京大学。1952年在全国高校院系调整中,北京大学医学院脱离北京大学,独立为北京医学院。1985年更名为北京医科大学,1996年成为国家首批“211工程”重点支持的医科大学。两校合并进一步拓宽了北京大学的学科结构,为促进医学与人文社会科学及理科的结合,改革医学教育奠定了基础。

官网,http://www.pku.edu.cn/
推荐文章
暂无评论
暂无评论~