Auto Byte

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

微信扫一扫获取更多资讯

Science AI

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

微信扫一扫获取更多资讯

杨阳报道

AI几秒钟内解决大学数学问题,拿到80%多准确率,还充当出题老师

或许,你做的数学考题,是机器生成的。

MIT 的学生可以不费吹灰之力就能解决多元微积分、微分方程、线性代数等数学课题,但这些却把机器学习模型给难倒了。因为机器学习模型只能回答小学或高中水平的数学问题,而且它们并不总是能找到正确答案。

现在,来自 MIT、哥伦比亚大学、哈佛大学和滑铁卢大学的研究者,他们使用小样本学习、OpenAI 的 Codex 来自动合成程序,在几秒钟内解决了大学数学问题,达到了人类水平。这项研究发表在《美国国家科学院院刊》(PNAS)上。

此外,该模型对生成的解决方案还能进行解释,并能快速生成新的大学数学问题。当研究人员向学生展示这些机器生成的问题时,学生们甚至无法判断这些问题是由算法生成的还是由人类生成的。

这项研究还可以用来简化课程内容生成,这对拥有数千名学生的学校和大型开放式网络课程(MOOC)尤其有用。该系统还可以充当在线导师,向学生展示解决数学问题的步骤。
图片
论文地址:https://www.pnas.org/doi/epdf/10.1073/pnas.2123433119

该研究的方法结合了三个创新:

  • 与只在文本上进行预训练不同,该研究在文本上进行预训练的同时,还在代码上进行微调;
  • 采用小样本学习合成程序能够正确解决数学问题;
  • 该研究能够解决问题、解释解决方案以及生成新问题。

该研究生成新问题示例如下。
图片
能答题、解题、出题的模型

研究团队已经为这个项目花费了近两年时间。他们发现,仅使用文本进行预训练的模型,在高中数学问题上的准确率不会超过 8%,而使用神经网络模型,可以在机器学习课程问题上做得很好,但需要一周的时间来训练。

该研究从七门课程中随机抽取 25 个问题:MIT 的 18.01 单变量微积分、18.02 多变量微积分、18.03 微分方程、18.05 概率与统计概论、18.06 线性代数、6.042 计算机科学数学和哥伦比亚大学的 COMS3251 计算线性代数

对于 MATH 数据集,该研究从数据集中的六个主题(代数、计数与概率、中级代数、数论、初级代数和微积分)中随机抽取 15 个问题。
图片
在将这些编程任务输入到神经网络之前,研究人员添加了一个新步骤,使其能够大大优于以前的尝试。

与 GPT-3 等网络只在文本上进行预训练不同。他们把这些问题转化为编程任务,并应用程序合成小样本学习技术。把数学问题变成编程任务,就像可以简单地把求两点之间的距离这个问题改写为编写一个程序来求两点之间的差。

值得一提的是该研究不仅对 Codex 进行了文本上的预训练,还在代码上进行了微调,使得其可以生成大规模解决数学问题的程序。
图片
预训练模型显示了来自在线存储库的数百万个代码示例。由于该模型的训练数据包括数百万自然语言单词和数百万行代码,因此它可以学习文本片段和代码片段之间的关系。

如下图所示该研究使用零样本和小样本学习来自动生成程序,该程序可以解决 81% 数学问题。然后他们使用 Codex 来解释生成的程序。生成的程序可以输出多种形式的答案。比如计算和描绘奇异值分解(SVD)的几何形状,不光给出正确答案,还能给出对应的解释!
图片
应用神经网络 OpenAI Codex 来解决、解释和生成数学问题。

论文作者之一 Drori 解释说,许多数学问题可以用图或树来解决,但很难将文本编写的问题转化为这种表示形式。但是,由于该模型已经学习了文本和代码之间的关系,因此它可以将文本问题转换为代码,只需给出几个问题代码示例,然后运行代码就可以来回答问题。

「当你只使用文本提问题时,机器学习模型很难给出答案,即使答案可能在文本中,这项工作填补了代码和程序合成中缺失的部分。」Drori 说。

Drori 还补充说,这项工作是第一次解决本科数学问题,并将准确率从 8% 提高到 80% 以上。

添加上下文

其实将数学问题转化为编程任务并不总是那么简单。有些问题需要研究人员添加上下文,以便神经网络能够正确处理问题。一个学生在学习这门课程时会了解到这种背景知识,但除非研究人员明确说明,否则神经网络不具备这种背景知识。

例如,他们需要说明文本中的网络指的是神经网络而不是通信网络。或者他们可能需要告诉模型使用哪个编程包。他们可能还需要提供某些定义,例如在关于扑克牌的问题中,他们可能需要告诉模型每副牌包含 52 张牌。

该研究会自动将这些编程任务以及包含的上下文和示例输入到经过预训练和微调的神经网络,该神经网络会输出一个通常能产生正确答案的程序。80% 以上的问题都是正确的。

研究人员还使用他们的模型来生成问题,通过给神经网络一系列关于某个主题的数学问题,然后让它创建一个新的问题。例如,有关于水平线和垂直线的量子检测问题,它产生了关于对角线量子检测的新问题。因此,它不仅仅是通过替换现有问题中的值和变量来产生新问题。

人类提出的问题与机器生成的问题

研究人员通过向大学生展示机器生成的问题来测试这些问题。研究人员随机给学生们 10 道来自本科数学课程的问题;其中 5 个是由人类创造的,5 个是由机器生成的。

学生们无法判断机器生成的问题是由算法还是由人工生成的,他们对课程的难度和适当性给予了类似的评分。
图片
不过,Drori 指出这项工作并不是为了取代人类教授。

「现在准确率已经达到 80%,但不会达到 100%。每当你解决了一个问题,就会有人提出一个更难的问题。但这项工作为人们开始用机器学习解决越来越难的问题开辟了领域。我们认为这将对高等教育产生巨大影响。」Drori 表示。

研究团队对他们方法的成功感到兴奋,并将工作扩展到处理数学证明上,同时他们还计划解决一些限制,目前,该模型无法使用可视化组件回答问题,也无法解决由于计算复杂性而难以计算的问题。

除了克服这些障碍外,该研究还致力于将模型扩展到数百门课程。有了这些课程,他们将生成更多的数据,以提高自动化程度,并提供对课程设计和课程的见解。

原文链接:https://news.mit.edu/2022/machine-learning-university-math-0803
理论解题出题模型麻省理工学院(MIT)
相关数据
机器学习技术

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

奇异值分解技术

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

神经网络技术

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

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

图神经网络技术

图网络即可以在社交网络或其它基于图形数据上运行的一般深度学习架构,它是一种基于图结构的广义神经网络。图网络一般是将底层图形作为计算图,并通过在整张图上传递、转换和聚合节点特征信息,从而学习神经网络基元以生成单节点嵌入向量。生成的节点嵌入向量可作为任何可微预测层的输入,并用于节点分类或预测节点之间的连接,完整的模型可以通过端到端的方式训练。

微积分技术

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

线性代数技术

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

小样本学习技术

人类非常擅长通过极少量的样本识别一个新物体,比如小孩子只需要书中的一些图片就可以认识什么是“斑马”,什么是“犀牛”。在人类的快速学习能力的启发下,研究人员希望机器学习模型在学习了一定类别的大量数据后,对于新的类别,只需要少量的样本就能快速学习,这就是 Few-shot Learning 要解决的问题。

程序合成技术

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

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