文献阅读:Solving olympiad geometry without human demonstrations

news2024/11/25 5:31:58
  • 文献阅读:Solving olympiad geometry without human demonstrations
    • 1. 文章简介
    • 2. 方法介绍
      • 1. Overview
      • 2. Symbolic deduce
      • 3. Language Model
      • 4. 联合使用
    • 3. 实验考察 & 结论
      • 1. 基础实验考察
      • 2. 结果分析
      • 3. 样例展示
    • 4. 总结 & 思考
  • 文献链接:https://www.nature.com/articles/s41586-023-06747-5
  • GitHub链接:https://github.com/google-deepmind/alphageometry

1. 文章简介

这篇文章是Google Deepmind在今年1月发表在Nature正刊上的一篇工作,讲道理,ML的文章能发到Nature的正刊上面也是牛得飞起了,所以虽然和工作关系不大,也是忍不住跑过来观摩了一下这个工作。

这篇文章的核心就是提出了一个AlphaGeometry的模型框架,用于挑战奥林匹克竞赛的几何部分,并且获得了堪比高中奥赛金牌的乘积,从方法命名也可以看出,基本对标的就是AlphaGo,AlphaFold等一系列模型了。

不过虽然同为Alpha命名系列,这篇文章中给出的AlphaGeometry模型较之其他几个至少感觉在形式上感觉并不像另外那些那么优雅,因为这并不是一个端到端的模型,而是一个基于搜索的模型生成结果,感觉像是RAG那样像是一个拼凑的系统而不是一个纯粹的技术突破。

但无论如何,这个结果也确实够这篇工作上Nature,我等普通小民负责喊666就行了LOL

2. 方法介绍

下面,我们来具体看一下文中的AlphaGeometry方法到底是怎么做的。

1. Overview

给出文中关于AlphaGeometry的整体方法示意图如下:

在这里插入图片描述

上图是AlphaGeometry在一个简单问题和一个复杂问题当中的demo,其中AlphaGeometry的部分主要由上图中的b,c两部分展示,其主要包括一个符号推理系统和一个语言模型,后者用于辅助线的构造等发散性的部分,而前者则进行符号推理等确定性的内容。

下面,我们分别来看一下这两部分的内容。

2. Symbolic deduce

首先,我们来看一下文中的符号推理引擎的部分。

这部分又可以主要分为DD和AR两个部分:

  • DD: deductive database
  • AR: algebraic reasoning

这两部分的内容主要是来源于以下一些外部文献:

  • A Deductive Database Approach to Automated Geometry Theorem Proving and Discovering
  • Ye, Z., Chou, S. C. & Gao, X. S. in Proc. Automated Deduction in Geometry: 7th International Workshop, ADG 2008 (eds Sturm, T. & Zengler, C.) 189–195 (Springer, 2011).

文中并没有对其进行过度的展开,只是给出了几个example如下:

在这里插入图片描述

3. Language Model

然后,文中关于Language Model的部分,则基本和普通的language model没啥太大的差别,唯一的问题在于说数据的表示和准备。

首先,关于数据的表示,这里主要就是使用latex的符号语言表达。

然后,关于数据的准备,则是使用上一部分当中给出的DD和AR的方式进行的,文中给出这部分内容的过程示意图如下:

在这里插入图片描述

文中得到的训练数据的推理长度分布,或者说单条数据的长度分布则如下所示:

在这里插入图片描述

而关于模型的训练部分倒是感觉没啥,基本就是一个Language Model而已。

4. 联合使用

具体到使用方面,其实就如上述Fig.1当中所展示的那样,整体过程就是:

  1. 先使用DD+AR进行符号推导,直至无法推出新的结论
  2. 使用LM生成辅助线,然后重复符号推理过程

当然,上述过程可能会陷入重复推理以及过于繁复的问题,因此文中还需要对中间过程进行一些剪操作。

3. 实验考察 & 结论

然后,我们来看一下文中对于AlphaGeometry的一些实验考察和分析。

1. 基础实验考察

首先,文中给出的最主要的实验结果就是在奥赛题目上面对AlphaGeometry进行了效果考察,得到结果如下:

在这里插入图片描述

可以看到,AlphaGeometry一共答出了25道IMO试题,操过了银牌选手,几乎逼近了金牌选手的水平。

其更为详细的结果可以查看下表获得:

在这里插入图片描述

2. 结果分析

然后,文中考察了一下上述IMO竞赛题当中题目的难度(选手的平均得分)和AlphaGeometry做题所使用的推导步数的关系如下:

在这里插入图片描述

可以看到:

  • 对于较难的问题,AlphaGeometry往往也需要很多的步数来完成题目,但是对于简单的题目,AlphaGeometry使用的步数和题目的难易关系没有可靠的关联关系。

3. 样例展示

最后,文中给出了一个具体的AlphaGeometry的题解如下:

在这里插入图片描述

可以看到,AlphaGeometry不但搞定了这道题目,且方法较之人类选手还更好。

4. 总结 & 思考

综上,文中提出了AlphaGeometry,能够在数学奥林匹克的几何问题上达到几乎金牌选手的水平,考虑到LLM在数学问题上的各种拉胯属性(毕竟数学还是推理系统不是模式匹配问题),AlphaGeometry简直强到不行了。

不过具体方法和实现方面,文中的方法倒是没觉得有什么特别大的突破,而且确实和工作差的有点远,所以细节就不打算去追了,有空的时候拿开源代码玩玩看好了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1806877.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《web应用技术》第十次作业

将自己的项目改造为基于vue-cli脚手架的项目&#xff0c;页面有导航&#xff0c;学会使用router。 <el-aside width"200px" style"background-color: aliceblue;"> <el-menu :default-openeds"[1]" style"background-color:rgb(1…

关于Redis中哨兵(Sentinel)

Redis Sentinel 相关名词解释 名词 逻辑结构 物理结构 主节点 Redis 主服务 一个独立的 redis-server 进程 从节点 Redis 从服务 一个独立的 redis-server 进程 Redis 数据节点 主从节点 主节点和从节点的进程 哨兵节点 监控 Redis 数据节点的节点 一个独立的 re…

Cyber Weekly #10

赛博新闻 1、最强开源大模型面世&#xff1a;阿里发布Qwen2 6月7日凌晨&#xff0c;阿里巴巴通义千问团队发布了Qwen2系列开源模型。该系列模型包括5个尺寸的预训练和指令微调模型&#xff1a;Qwen2-0.5B、Qwen2-1.5B、Qwen2-7B、Qwen2-57B-A14B以及Qwen2-72B。据Qwen官方博客…

开发没有尽头,尽力既是完美

最近遇到了一些难题&#xff0c;开发系统总有一些地方没有考虑周全&#xff0c;偏偏用户使用的时候“完美复现”了这个隐藏的Bug...... 讲道理创业一年之久为了生存&#xff0c;我一直都有在做复盘&#xff0c;复盘的核心就是&#xff1a;如何提升营收、把控开发质量&#xff0…

嵌入式仪器模块:示波器模块和自动化测试软件

示波器模块 • 32 位分辨率 • 125 MSPS 采样率 • 支持单通道/双通道模块选择 • 低速模式可实现实时功率分布和整机功率检测 • 高速模式可实现信号分析和上电时序测量 应用场景 • 抓取并分析波形的周期、幅值、异常信号等指标 • 电源纹波与噪声分析 • 信号模板比…

vue28:组件化开发和根组件

简单写个点击事件 <template> <div class"app"><div class"box" click"fn"></div></div> </template><script> export default {//导出当前组件的配置项//里面可以提供 data methods computed wat…

SpringBoot: 启动流程和类装载

前面我们学过Spring定制了自己的可执行jar&#xff0c;将真正执行时需要的类和依赖放到BOOT-INF/classes、BOOT-INF/lib来&#xff0c;为了能够识别这些为止的源文件&#xff0c;Spring定制了自己类加载器&#xff0c;本节我们来讲解这个类加载器。本节涉及的内容主要包括: Sp…

web端中使用vue3 实现 移动端的上拉滚动加载功能

需要再web端实现上拉加载 纯属web端的东西 类似这样的功能效果 能够在web端实现滚动分页 overflow-y: scroll;首先给这个大盒子 一个 css 样式 支持滚动 再给固定高度 这个盒子里的内容就能立马滚动起来 给这个盒子一个ref 的属性 以及 有原生滚动事件 scroll const handle…

Wireshark TS | 应用传输丢包问题

问题背景 仍然是来自于朋友分享的一个案例&#xff0c;实际案例不难&#xff0c;原因也就是互联网线路丢包产生的重传问题。但从一开始只看到数据包截图的判断结果&#xff0c;和最后拿到实际数据包的分析结果&#xff0c;却不是一个结论&#xff0c;方向有点跑偏&#xff0c;…

gdb 【Linux】

程序发布方式&#xff1a;  1、debug版本&#xff1a;程序会被加入调试信息&#xff0c;以便于进行调试。  2、release版本&#xff1a;不添加任何调试信息&#xff0c;是不可调试   确定一个可执行程序是debug&#xff0c;还是release [cxqiZ7xviiy0goapxtblgih6oZ test_g…

张大哥笔记:经济下行,这5大行业反而越来越好

现在人们由于生活压力大&#xff0c;于是就干脆降低自己的欲望&#xff0c;只要不是必需品就不买了&#xff0c;自然而然消费也就降低了&#xff0c;消费降级未必是不好的现象&#xff01; 人的生物本能是趋利避害&#xff0c;追求更好的生存和发展空间&#xff0c;回避对自己有…

Vue3+Vite报错:vite忽略.vue扩展名 Failed to resolve import ..... Does the file exist?

Vue3Vite报错&#xff1a;vite忽略.vue扩展名 Failed to resolve import … Does the file exist? 先看报错&#xff1a; 分析原因 原因是我们没有写后缀名 建议你在你的vite.config.js中加上如下配置 import { defineConfig } from "vite"; import vue from &qu…

华为坤灵路由器配置SSH

配置SSH服务器的管理网口IP地址。 <HUAWEI> system-view [HUAWEI] sysname SSH Server [SSH Server] interface meth 0/0/0 [SSH Server-MEth0/0/0] ip address 10.248.103.194 255.255.255.0 [SSH Server-MEth0/0/0] quit 在SSH服务器端生成本地密钥对。 [SSH Server…

SpringAI(二)

大模型:具有大规模参数和复杂计算结构的机器学习模型.通常由深度神经网络构建而成,拥有数十亿甚至数千亿个参数.其设计目的在于提高模型的表达能力和预测性能,应对复杂的任务和数据. SpringAI是一个AI工程领域的应用程序框架 大概推出时间是2023年7月份(不确定) 目的是将S…

单片机数码管时钟电路的设计

5 调试 数码管的引脚1&#xff5e;4&#xff0c;a&#xff5e;g以及小数点的排列都不是连续的&#xff0c;这就意味着难免需要飞线。数码管是分共阴和共阳的&#xff0c;起初我错把原理图中的共阳数码管当成了共阴数码管&#xff0c;焊上去了之后才发现&#xff0c;为了避免拆卸…

如何下载BarTender软件及详细安装步骤

BarTender是美国海鸥科技推出的一款优秀的条码打印软件&#xff0c;应用于 WINDOWS95 、 98 、 NT 、 XP 、 2000 、 2003 和 3.1 版本&#xff0c; 产品支持广泛的条形码码制和条形码打印机&#xff0c; 不但支持条形码打印机而且支持激光打印机&#xff0c;还为世界知名品牌条…

sqli-labs 靶场 less-11~14 第十一关、第十二关、第十三关、第十四关详解:联合注入、错误注入

SQLi-Labs是一个用于学习和练习SQL注入漏洞的开源应用程序。通过它&#xff0c;我们可以学习如何识别和利用不同类型的SQL注入漏洞&#xff0c;并了解如何修复和防范这些漏洞。Less 11 SQLI DUMB SERIES-11判断注入点 尝试在用户名这个字段实施注入,且试出SQL语句闭合方式为单…

基于stm32最小版的超声波测距模块

目录 一、模块准备 二、HC-SR04模块原理解释 三、程序完整代码 四、烧录结果 总结 一、模块准备 STM32F103C8T6 HC-SR04 ST-Link&#xff08;其他烧录器也可以&#xff09; 0.96寸OLED屏幕&#xff08;非必须&#xff0c;仅供显示测距结果&#xff0c;可以使用串口助手代替…

PHP函数大全之array_count_values()

array_count_values()函数是用于计算数组中每个值的出现次数的PHP函数&#xff0c;并返回一个关联数组&#xff0c;该数组的键表示原始数组中的唯一值&#xff0c;而键值表示该值在原始数组中的出现次数。 array_count_values()函数的一些注意事项&#xff1a; 该函数不区分大…

敏捷开发实践 —— 测试驱动开发(TDD)

一.什么是测试驱动开发&#xff08;TDD&#xff09; 测试驱动开发(Test Driven Development, 简称TDD)是敏捷开发中的一项核心实践和技术&#xff0c;也是一种设计方法论。TDD的原理是在开发功能代码之前&#xff0c;先编写单元测试用例代码&#xff0c;测试代码确定需要编写什…