Auto Byte

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

微信扫一扫获取更多资讯

Science AI

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

微信扫一扫获取更多资讯

机器之心编辑部编译

AI生成高数题,难出新高度:MIT提出首个可出题、做题、评分的算法模型

你的考卷,也有可能是机器生成的。

前段时间,DeepMind 的一项研究登上《Nature》封面,通过引导直觉解决了两大数学难题;之后,OpenAI 教 GPT-3 学会了上网,能够使用基于文本的 Web 浏览器。

就在 2021 年的最后一天, MIT 与哥伦比亚大学、哈佛大学、滑铁卢大学的联合研究团队发表了一篇长达 114 页的论文,提出了首个可以大规模自动解决、评分和生成大学水平数学问题的模型,可以说是人工智能和高等教育的一个重要里程碑。其实在这项研究之前,人们普遍认为神经网络无法解决高等数学问题。

图片

值得一提的是,该研究用到了 OpenAI 的 Codex。

这项研究有多厉害呢?我们以下图为例,下图展示了计算洛伦茨吸引子及其投影,计算和演示奇异值分解 (SVD) 方法的几何形状等。机器学习模型很难解决上述问题,但这项研究表明它们不仅可以解决这些问题,还可以大规模解决所属课程以及许多此类课程问题。

该研究表明对文本进行预训练并在代码上进行微调的神经网络,可以通过程序合成(program synthesis)解决数学问题。具体而言,该研究可将数学问题转化为编程任务,自动生成程序,然后执行,以解决 MIT 数学课程问题和来自 MATH 数据集的问题。其中,MATH 数据集是专门用于评估数学推理的高等数学问题最新基准,涵盖初级代数、代数、计数与概率、数论与微积分

此外,该研究还探索了一些提示(prompt)生成方法,使 Transformer 能够为相应主题生成问题解决程序,包括带有图象的解决方案。通过量化原始问题和转换后的提示之间的差距,该研究评估了生成问题的质量和难度。

图片

论文地址:https://arxiv.org/pdf/2112.15594.pdf

方法

数据集

该研究首先从 MIT 的以下六门课程中,每门课程随机选取了 25 个问题:
  • 单变量微积分

  • 多元微积分

  • 微分方程;

  • 概率与统计概论;

  • 线性代数

  • 计算机科学数学。

对于 MATH 数据集,该研究从每个主题中随机抽取 5 个问题,并通过在应用线性代数新课程 COMS3251 上的实验验证了该方法的结果不仅仅是过拟合训练数据。

图片

方法流程

如下图 2 所示,该研究使用 Codex 将课程问题转换为编程任务并运行程序以解决数学问题。下图共包含 A-E 5 个面板,每个面板的左侧部分显示了原始问题和重新表述的提示,其中提示是通过添加上下文、交互、简化描述等形成的。

图片

该研究将从原始课程问题到 Codex 提示的转换分为以下三类:
  • 原生提示:Codex 提示和原始问题相同;

  • 自动提示转换:Codex 提示和原始问题不同,由 Codex 自动生成;

  • 手动提示转换:Codex 提示和原始问题不同,由人工生成。

问题与提示之间的差距

将问题转换为 Codex 提示的关键是:从语义上讲,原始问题与产生正确解决方案的提示之间的接近程度。为了度量原始问题和成功提示之间的差距,该研究使用 Sentence-BERT 嵌入之间的余弦相似度,如下图 3 所示。 

图片

Sentence-BERT 使用 siamese 和 triplet 神经网络结构对预训练的 BERT 模型进行微调。其中至关重要的是,Sentence-BERT 能够在句子级别生成语义嵌入,从而可以在长文本之间进行语义相似性比较。

在该研究的实验中,原始问题和生成正确答案的提示之间的相似度如下图 4 所示。

图片

Codex 用于提示生成

在某些课程中,直接使用未转换的原始问题提示 Codex,无法产生正确的解决方案。因此,需要将原始问题转化为 Codex 可以处理的形式,主要分为以下三类:
  • 主题上下文形式:该形式为 Codex 提供了与一般课程和特定问题相关的主题和子主题,以帮助指导 Codex 生成相关正确的答案。例如,对于概率中的条件期望问题,提供有关贝叶斯定理、期望等的上下文信息会很有帮助。

  • 库上下文:该形式为 Codex 提供了解决给定问题所需的编程包 / 库。例如,指导 Codex 使用 Python 中的 numpy 包来解决线性代数问题。

  • 定义上下文:很多时候,Codex 对某些术语的定义缺乏现实背景。举例来说,Codex 不理解扑克牌中的 Full House 是什么意思。因此让 Codex 理解这些术语并明确定义,可以更好地指导其程序合成

生成问题以及人类评估

该研究使用 Codex 为每门课程生成新的问题,通过数据集创建有编号的问题列表来完成,这个列表在生成随机数量的问题之后会被截断断,结果将用于提示 Codex 生成下一个问题。不断的重复这个过程,就可以为每门课程产生许多新的问题。

该研究对参加过这些课程或同等课程的、来自 MIT 和哥伦比亚大学的学生进行了一项长期调查。调查的目的是比较每门课程机器生成的问题与人工编写的问题的质量和难度。该研究为每门 MIT 的课程随机抽取五个原始问题和五个生成的问题。在调查中,学生被要求阅读每门课程的十个问题,这些问题是人工编写的问题和机器生成的问题的混合。

对于 60 个问题中的每一个,学生都被问到三个问题,如图 5 所示:他们是否认为给定的问题是 (i) 人工编写的或机器生成的,(ii) 适合或不适合特定课程,以及 (iii) ) 在 1(最简单)和 5(最难)之间的范围内,问题的难度级别是多少。要求学生提供他们对数学问题的评分,而不是解决这些问题。该调查以在线和匿名的形式提供。

图片

调研结果

问题求解

研究者共求解了补充资料中展示的 210 个问题,其中包括 6 门课程各自对应的 25 个随机问题以及 MATH 数据集中 6 个主题(初级代数、代数、数论、计数与概率、中极代数、微积分)各自对应的 10 个随机问题。

生成新问题

研究者生成了 120 个新问题,其中包括 6 门课程和 6 个 MATH 主题各自对应的 10 个新问题。下表 2 展示了每门课程和每个 MATH 主题对应的一个生成问题。生成一个问题只需不到 1 秒的时间,研究者可以生成任意数量的问题。他们为 Codex 能够生成正确答案的 25 个随机选择的问题创建了提示,切入随机问题,并让 Codex 完成下一个新问题。

图片

学生调研结果

研究者表示,共有 13 位参与者完成了全部 60 个问题的问答调研,平均耗时 40 分钟。下图 6 总结了学生调研中人工编写(human-written)和机器生成(machine-generated)问题的比较情况,并得出了以下几项结果:
  • 机器生成的问题要比人工编写的问题难度高,但在置信区间内;

  • 人工编写的问题要比机器生成的问题更适合课程;

  • 人工编写的问题更容易被认为人写的,并且将机器生成问题看作机器生成和人工编写的概率相同。

图片

答案定级

Codex 能够回答所有随机采样的大学水平和 MATH 数据集数学问题,无论它们是原始状态还是整理后状态。

挑战

研究者的方法还有一些无法解决的技术障碍。

1、输入图像。Codex 的一个基础限制是它只能接收基于文本的输入。因此,Codex 无法使用图形或图表等必要的视觉组件来回答问题。

2、高等数学证明。这项研究的另一个限制是缺乏对高等数学的证明。研究者强调称,这是由研究自身的广度而不是 Codex 的证明能力导致的。事实上,该研究中提交至 Codex 的大多数简单分析证明都已成功地被执行,这令人震惊,因为证明通常不是基于代码的。

3、程序评估。该研究的最后一步是执行程序,例如使用 Python 解释器。参加大学水平课程的学生也会编写代码来解决他们的部分问题。因此,该研究以与人类学生相同的方式测试神经网络解决问题的能力,让他们使用必要的工具。还有关于神经程序评估的工作,演示了使用机器学习来预测程序输出。LSTM 用于成功预测某些线性时间和恒定空间程序的输出 (18)。这些都增加了内存暂存器以允许更大的程序类别 (19)。最近的方法使用因果 GNN (20) 和 transformer (21)。尽管评估任意代码是不可判定的,但特殊情况,例如由另一个 transformer 生成的用于解决简单数学问题的程序,原则上应该是可学习的。

4、理论复杂性。计算复杂度的结果表明,该研究无法解决大学数学课程中一般问题的每一个具体实例。例如,以下问题具有难以处理的结果:向量 v 可以表示为来自集合 S 的向量之和吗?以下一阶微分方程的解是什么?但是,我们知道作业和考试给出的问题可以由人类解决,因此这些复杂性结果不适用于该研究的特定实例解决。
理论高数题AI
1
相关数据
DeepMind机构

DeepMind是一家英国的人工智能公司。公司创建于2010年,最初名称是DeepMind科技(DeepMind Technologies Limited),在2014年被谷歌收购。在2010年由杰米斯·哈萨比斯,谢恩·列格和穆斯塔法·苏莱曼成立创业公司。继AlphaGo之后,Google DeepMind首席执行官杰米斯·哈萨比斯表示将研究用人工智能与人类玩其他游戏,例如即时战略游戏《星际争霸II》(StarCraft II)。深度AI如果能直接使用在其他各种不同领域,除了未来能玩不同的游戏外,例如自动驾驶、投资顾问、音乐评论、甚至司法判决等等目前需要人脑才能处理的工作,基本上也可以直接使用相同的神经网上去学而习得与人类相同的思考力。

https://deepmind.com/
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

基准技术

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

奇异值分解技术

类似于特征分解将矩阵分解成特征向量和特征值,奇异值分解(singular value decomposition, SVD)将矩阵分解为奇异向量(singular vector)和奇异值(singular value)。通过分解矩阵,我们可以发现矩阵表示成数组元素时不明显的函数性质。而相比较特征分解,奇异值分解有着更为广泛的应用,这是因为每个实数矩阵都有一个奇异值分解,但未必都有特征分解。例如,非方阵型矩阵没有特征分解,这时只能使用奇异值分解。

神经网络技术

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

置信区间技术

在统计学中,一个概率样本的置信区间(Confidence interval),是对这个样本的某个总体参数的区间估计(Interval Estimation)。置信区间展现的是,这个总体参数的真实值有一定概率落在与该测量结果有关的某对应区间。置信区间给出的是,声称总体参数的真实值在测量值的区间所具有的可信程度,即前面所要求的“一定概率”。这个概率被称为置信水平。举例来说,如果在一次大选中某人的支持率为55%,而置信水平0.95上的置信区间是(50%, 60%),那么他的真实支持率落在50%和60%之区间的机率为95%,因此他的真实支持率不足50%的可能性小于2.5%(假设分布是对称的)。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

微积分技术

微积分(Calculus)是高等数学中研究函数的微分(Differentiation)、积分(Integration)以及有关概念和应用的数学分支。它是数学的一个基础学科。内容主要包括极限、微分学、积分学及其应用。微分学包括求导数的运算,是一套关于变化率的理论。它使得函数、速度、加速度和曲线的斜率等均可用一套通用的符号进行讨论。积分学,包括求积分的运算,为定义和计算面积、体积等提供一套通用的方法 。

线性代数技术

线性代数是数学的一个分支,它的研究对象是向量,向量空间(或称线性空间),线性变换和有限维的线性方程组。向量空间是现代数学的一个重要课题;因而,线性代数被广泛地应用于抽象代数和泛函分析中;通过解析几何,线性代数得以被具体表示。线性代数的理论已被泛化为算子理论。由于科学研究中的非线性模型通常可以被近似为线性模型,使得线性代数被广泛地应用于自然科学和社会科学中。

程序合成技术

在计算机科学中,程序合成是自动构建满足给定高级规范的程序的任务。

量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

推荐文章
暂无评论
暂无评论~