前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AI几秒钟内解决大学数学问题,拿到80%多准确率,还充当出题老师

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

作者头像
机器之心
发布2022-08-25 19:31:47
2870
发布2022-08-25 19:31:47
举报
文章被收录于专栏:机器之心

机器之心报道

编辑:杨阳

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

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

© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档