将数学题转化成代码,谷歌这项研究让机器证明的正确率大幅提高

简介: 将数学题转化成代码,谷歌这项研究让机器证明的正确率大幅提高
研究者预估,如果达到 100% 的正确率水平,「我们肯定会创造出赢得国际数学奥林匹克金牌的 AI 智能体。」

计算机被用来验证数学证明已经有一段时间了,但它们只有在使用专门设计的证明语言准备问题时才能做到这一点,而无法处理数学符号和数学家使用的书面文本的混合体。

如果把用自然语言编写的数学问题转换为正式代码,让计算机更容易解决它们,或许能够帮助构建能探索数学新发现的机器。

这个过程被称为形式化(formalisation),但仅仅一个证明就可能需要数年的工作,因此只有一小部分数学知识被形式化,然后由机器证明。

自动形式化(Autoformalization)指的是自动从自然语言数学翻译成正式语言的任务。一个成功的自动形式化工具在实践和哲学上的意义都是巨大的,它可以减少目前过度的形式化成本,并且从长远来看,它可以连接各种研究领域数学推理的自动化方面。

在最近的一项研究中,谷歌的 Yuhuai Wu 与其合作者使用 OpenAI Codex 的神经网络进行自动形式化工作。Codex 已经接受了来自网络的大量文本和编程数据的训练,程序员可以使用它来生成可靠的代码。


论文链接:https://arxiv.org/pdf/2205.12615.pdf

将 12500 个中学数学竞赛问题形式化

大型语言模型的一系列最新进展展示了模型理解形式化语言的潜力。然而,现有的成功仅限于在网络上存在大量语料库的形式化语言 (例如 Python)。相比之下,形式化的数学数据非常缺乏,最大的形式化数学语言库之一 Archive of Formal Proofs 只有 180mb 大小,这还不到大语言模型 Codex 训练数据的 0.18% 。

此外,与通用编程语言的情况不同,自然语言文档字符串是广泛可用的,自然语言和形式化数学语言之间几乎没有对齐的数据。因此,大型语言模型的成功是否能直接促进自动形式化的发展,仍是未知的。

鉴于证明语言与编程语言有相似之处,因此该团队决定看看 Codex 是否可以将包含 12500 个中学数学竞赛问题的库形式化。它能够将四分之一的问题转换为与形式证明求解程序 Isabelle 兼容的格式。

Wu 表示,许多不成功的转换是系统不理解某些数学概念的结果。「如果你用一个解释这个概念的例子来展示模型,那么模型就可以快速掌握它。」

这项工作探讨了大语言模型的自动形式化的前景,研究者发现大型语言模型已经在一个交互式定理证明器中具备相当好的形式化自然语言数学的能力。

下图 1 是一个完美的自动形式化示例。该模型不仅转换成了语法上正确的 Isabelle 代码,而且还能够掌握自然语言中的重要推理点。


为了测试这种自动形式化程序的效力,团队随后又将 Codex 应用于一组已经有人类形式化版本的问题,Codex 也为这些问题生成了自己的形式化版本。团队使用了另一个名为 MiniF2F 的 AI 来解决这两个版本的问题。

自动形式化的问题将 MiniF2F 的成功率从 29% 提高到了 35%,这表明 Codex 在问题形式化方面取得了重要进展。


值得注意的是,许多数学竞赛的陈述往往是这样一种形式:一个人被要求找到某个问题的答案,而不是证明一个给定的命题。然而形式化的数学陈述是以命题的形式,而不是以问题的形式。

为了把一个问题转换成一个命题,研究者在问题后面附上了「The Final Answer」:


用来进行自动形式化的 prompt 格式是:


AI 将与人类数学家竞争?

这是一项有趣的进展,但 Wu 表示团队的工作只是一个概念证明。「如果目标是训练一台媲美最顶级人类数学家的机器,那么自动形式化似乎是实现这个目标的关键道路。」

剑桥大学团队成员 Albert Jiang 表示,如果进一步提高成功率,AI 将能够与人类数学家竞争。「如果我们达到了 100% 的水平,我们肯定会创造出赢得国际数学奥林匹克金牌的 AI 智能体。

团队近期的目标是改进自动形式化模型和自动化证明机器,但研究成果的未来影响将会更深远。Wu 表示,这些模型可以揭示人类目前未知的数学领域。

这种机器的推理能力也非常适合更广泛领域的验证任务。「你可以验证一个软件是否完全按照你的要求做,或者可以验证硬件芯片,因此它在金融交易算法和硬件设计中都会有所应用。」

利用机器探索数学是一个令人兴奋的发展,伦敦数学科学研究所的 Yang-Hui He 说,但真正的挑战是在大部分是用 LaTex 编写的数学研究中使用该模型。「我们只用 LaTex 是因为它打字顺畅,但它在某种意义上是一种自然语言,也有自己的规则。」

He 说,因为用户可以在 LaTeX 中定义自己的函数和符号,这些函数和符号可能只在一篇数学论文中使用,这对于仅在纯文本上训练过的神经网络来说可能很棘手。

参考链接: https://www.newscientist.com/article/2322999-ai-translates-maths-problems-into-code-to-make-them-easier-to-solve/#ixzz7VmyPBQM7

相关文章
|
机器学习/深度学习 自然语言处理 算法
Jieba分词的准确率提升:使用paddle模式进行分词(使用百度飞桨深度学习模型进行分词)
jieba中的paddle模式是指使用飞桨(PaddlePaddle)深度学习框架加速分词的一种模式。相对于传统的分词算法,paddle模式采用了深度学习模型,可以获得更高的分词准确度和更快的分词速度。
|
4月前
|
存储 安全 Linux
Proxmox VE 9.0 正式版发布 - 开源虚拟化管理平台
Proxmox VE 9.0 正式版发布 - 开源虚拟化管理平台
705 0
|
12月前
|
算法 索引
【算法】——二分查找合集
二分查找基础模版和进阶模版,查找元素位置,搜索插入位置,x的平方根,山脉数组的峰顶索引,寻找峰值,点名
|
11月前
|
安全 应用服务中间件 API
Ascend+FastAPI+ Uvicorn 实现推理
FastAPI 是一个高性能的 Python Web 框架,专为构建 RESTful API 设计,支持异步编程和数据验证。Uvicorn 是基于 ASGI 的轻量级异步服务器,与 FastAPI 结合使用可提供高效、高并发的服务。在生产环境中,二者配合 Nginx 可实现稳定安全的部署。示例代码展示了如何通过 FastAPI 和 Uvicorn 启动服务,并在 Ascend 平台上运行推理模型,处理自然语言任务。 简介字数:239
|
12月前
|
存储 缓存 监控
极致 ElasticSearch 调优,让你的ES 狂飙100倍!
尼恩分享了一篇关于提升Elasticsearch集群的整体性能和稳定性措施的文章。他从硬件、系统、JVM、集群、索引和查询等多个层面对ES的性能优化进行分析,帮助读者提升技术水平。
|
缓存 Shell iOS开发
修改 torch和huggingface 缓存路径
简介:本文介绍了如何修改 PyTorch 和 Huggingface Transformers 的缓存路径。通过设置环境变量 `TORCH_HOME` 和 `HF_HOME` 或 `TRANSFORMERS_CACHE`,可以在 Windows、Linux 和 MacOS 上指定自定义缓存目录。具体步骤包括设置环境变量、编辑 shell 配置文件、移动现有缓存文件以及创建符号链接(可选)。
3813 2
|
Java API
QLExpress功能清单
QLExpress从一开始就是从复杂的阿里电商业务系统出发,并且不断完善的脚本语言解析引擎框架,在不追求java语法的完整性的前提下(比如异常处理,foreach循环,lambda表达式,这些都是groovy是强项),定制了很多普遍存在的业务需求解决方案(比如变量解析,spring打通,函数封装,操作符定制,宏替换),同时在高性能、高并发、线程安全等方面也下足了功夫,久经考验。
21890 1
|
存储 Python
dill:Python中增强版的pickle
dill:Python中增强版的pickle
527 4
|
Linux Python
Python获得本机本地ip地址的方法
【10月更文挑战第8天】 socket模块包含了丰富的函数和方法,可以获取主机的ip地址,例如gethostbyname方法可以根据主机名获取ip地址,gethostbyname_ex方法可以获得本机所有ip地址列表,也可以使用netifaces模块获取网卡信息。
393 0