来源:AI科技评论

“高等数学里程碑式的研究”,114页论文让AI文理双修,也许不久后机器出的高数试卷就会走进高校课堂,这下可以说“高数题不是人出的了”。

人工智能虽然给我们带来了诸多便利,但也不免受到了各种质疑。在互联网领域表现良好的人工智能,在数学领域的很多表现却被认为是“出乎意料地糟糕”。基于Transformers的语言模型在零样本和少样本等各种自然语言处理(NLP)任务中取得了令人难以置信的成功。但是,“这些模型在解决数学问题方面基本上是失败的。”

中国科学院院士、普林斯顿大学数学系和应用数学研究所教授、北京大数据研究院院长鄂维南曾表示,神经网络可以帮助我们有效地表示或逼近高维函数,深度神经网络是一个有效的工具,它带来的影响是巨大的。

以上思路更多还是基于深度学习在特征提取上的优势,然而,在更简单或“低维”函数的、符号逻辑层面的推理中,神经网络真的毫无希望了吗?

回归人工智能发展萌芽阶段,符号语言的思想为数理逻辑的产生和发展奠定了基础。当时人们试图将对一切事物的理解与认知化为符号语言以及符号间的推理,以此思路构建的模型以符号为基底,但或许可以尝试另一种思路,就是先用神经网络挖掘符号的特征。

在最新的一项研究中,用神经网络的方法精确求解低维的数学问题被证实非常有效。

值得一提的是,该项研究中还用到了OpenAI Codex。作为一种生成软件源代码的深度学习模型,Codex 可以理解十几种编程语言,通过 API 提供的 Codex 模型在 Python 编程中也具有极强的能力,它在执行编程任务时能够考虑到上下文信息,包括转译、解释代码和重构代码。

该研究还被其研究团队称为“第一项可以规模化自动解决、评分和生成大学水平数学课程问题”的工作,打破了人们普遍认为的神经网络不能解决高等数学问题的观点。

“这些所谓不成功的研究只使用了基于文本的预训练,而既对文本进行预训练又对代码进行微调的神经网络,可以通过程序合成成功解决大学水平的数学问题。”

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

1

秒速解高数

机器学习模型真的可以解决单变量函数的图形绕轴旋转产生的体积、洛伦兹吸引子及其投影、奇异值分解(SVD)方法的几何图形等问题吗?

这项研究展示了机器学习在这方面的强大能力。机器学习模型可以大规模很好地解决麻省理工学院包括单变量微积分、多变量微积分、微分方程、概率和统计学导论在内的数学课程问题。

不仅如此,该团队的研究证实它还可以解决MATH数据集的问题,“MATH数据集是衡量模型的数学问题解决能力的基准,该数据集的主要来源是高中数学竞赛,如AMC 10、AMC 12和AIME等。目前为止,最先进的 Transformers ,如GPT-3,只对文本进行了预训练,GPT-3取得的最好成绩总体准确率为6.9%,并且在所有题目上的准确率都低于8.8%”。

图1:图中展示了模型可求解的高数问题。例如,在微积分18.01-02中,求由两个二维图形限定的二维区域围绕z轴旋转一周得到的体积(右上);在微分方程18.03中,求解洛伦兹奇异吸引子(右下);在线性代数18.06中,画出奇异值分解(SVD)的几何图形(右下)。

“以前使用Transformers解决数学课程问题的工作之所以失败,是由于像GPT-3一样的Transformers,只在文本上进行了预训练。”

研究团队认为此前工作使用验证或预测表达式树的联合训练输出,虽然在解决小学水平的数学问题(如MAWPS和Math23k)时,准确率超过80%。然而,这种方法的有效性并未在高中、数学奥林匹克或大学水平的数学课程中得到扩展。后来有人通过与图神经网络(GNN)配对预测算术表达式树(expression trees),并在文本上预训练Transformers,来求解大学水平问题,且准确率高达95%。但是这个结果仅限于数字答案,并局限于特定课程,不容易扩展到其他课程。

而本文的这项研究证明,把问题变成编程任务进行程序合成,是大规模解决数学和STEM课程的关键。“对文本进行预训练并对代码进行微调的 Transformers ,可以在MATH数据集和大学水平的数学课程上取得完美表现。”

如图1所示,研究团队将麻省理工学院课程中的数学问题和MATH数据集进行处理,并将其作为输入传给OpenAI Codex Transformers,使要解决的问题转化为编程任务,然后执行自动生成程序。问题不同,运行程序的输出形式也不同,包含数字输出形式,甚至可以通过程序合成从文本中产生图片输出形式。该团队用prompt生成法(prompt generation methods ),使Transformers能够为每个随机抽到的问题生成带图的解题程序和方案。相比之下,这项工作可以输出包括图表在内的多种模式,并且不需要专门的训练就可以扩展到其他数学课程。

他们还对原始问题和转化后的问题进行了对比量化,并通过调查评估了生成问题的质量和难度。

表1:针对六门课程(18.01, 18.02, 18.03, 18.05, 18.06, 6.042)和MATH数据集的六个主题(预-代数,代数,中级代数,计数和概率,预-微积分,数论)中的一些问题的解决方案。解决方案可包含数字答案、方程式和图表等。

在上表所列的麻省理工学院的数学课程中,使用该方法可以很好地自动解决、评分和生成问题,并且所有这些都是实时的,每个问题处理时间竟不到一秒。

2

关键

研究实验题目来自麻省理工学院六门课程中随机抽取的25个问题,和MATH数据集的六个主题中各随机抽取5个问题。并且,为了说明他们的研究结果不是过度拟合训练数据,他们还用了在训练期间网上查不到的新的应用线性代数课程COMS3251来进行验证。

技术代替人进行解题时,并不是使用技术对问题进行重大修改,而是努力提取问题的本质,因此,该团队使用Codex对问题进行了整理。

图2:问题的扩充和重组得到正确的Codex输出。

上图中,显示了使用Codex将课程问题转化为编程任务并运行程序以解决数学问题的方法。每个面板的左半部分显示了原始问题和通过添加问题背景、互动或简化后而重新表述的问题。

添加问题背景是非常有必要的,对学生和程序来说,解题域是选择合适的解题方法的必要信息。例如,如果没有问题背景,一个关于网络的问题,可能是关于神经网络的问题也可能是关于通信网络的问题。

  • 面板A中对微积分方程问题的主题背景进行了补充,将其重新表述为一个编程任务的问题。补充背景包括澄清含糊不清的定义和运算符,或有一个以上标准用法的符号,说明学生通过学习课程就会知道的隐含假设,包括课程的主题或课题,指出学生从与问题相关的讲座或教科书章节中学到的适当方法。

  • 面板B中使用了Python库、sympy库和streamplot库的背景,用于解题和绘制可视化图。如果程序的语法与Python版本不兼容,或者数据类型有错误,又或者没有使用库,合成程序在执行中可能无法得到正确的答案。

  • 面板C中显示了概率和统计学中的一个例子,原始问题被转化为生成模拟的概率编程任务。在做题时学生可以从课程的主题和涵盖的材料中得到一些信息,在这个过程中,要通过了解问题背景,确定所需要的是什么类型的答案,对处理形式有一个合理预期。例如,概率或组合学中的许多问题可能需要用阶乘、组合函数或指数来回答。因此在实验中也必须要提供背景,以便用正确的方法来处理问题。

  • 面板D考虑到NLP模型在处理长而复杂的文本方面有困难,因此将较长的问题分解成了具体的编程任务,并删除了多余的信息。通过互动产生了多个图,交互式使用Codex可以使可视化图很好地被绘制出来,并且可以发现缺失的功能或需要的库。

  • 面板E来自《计算机科学数学》,对问题进行了简化处理,简化包括删除多余的信息,将长的句子结构分解成较小的组成部分,并将提示转换为编程格式。概括提炼出简洁的提示和一系列较短的问题,可以提高Codex性能。

除此之外,他们还考虑了原始课程问题转化为Codex 提示的三种情况:

  • 原样提示。原始问题和Codex 提示是相同的;

  • 自动提示转换。原始问题和Codex提示不同,Codex提示是由其本身自动生成的;

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

当把问题转化为Codex提示时,又出现了一个关键性的问题:原始问题与之后产生正确答案的提示在语义上的接近程度如何?

图3:按课程和类别划分的所有问题的余弦相似度分布。

如图3所示,为了测量原始问题和转化后之间的差距,他们使用Sentence-BERT嵌入之间的余弦相似度。Sentence-BERT使用siamese和triplet网络结构对预训练的BERT模型进行了微调。Sentence-BERT能够在句子层面上产生语义嵌入,从而可以在长篇文本中进行语义相似度比较。

应用他们的方法,对于难度较低的课程,修改少量原始问题(高余弦相似度分数),就可以达到Codex提示,输出一个提供正确答案的程序。而每个框图左边的线代表每门课程的基准相似度分数,通过平均每门课程中所有这样的问题组之间的相似度计算得出。

他们还做了原始问题和产生正确答案的转换版本之间的相似性分数的直方图,用来评估。

图4:最右边的一列代表了按原样或做了非常小的改动就能正确回答问题所占的百分比。

使用Codex进行提示生成也会产生一些问题。在某些课程中,直接用未经转化的原始问题来提示Codex并不能得到正确的答案。因此,需要将原始问题的形式进行转化,他们将其主要分为三类:

  1. 主题背景。为Codex提供与一般课程和具体问题相关的主题和副主题,可以帮助指导Codex产生正确答案。例如,对于概率中的条件预期问题,提供有关贝叶斯定理、预期值等背景。

  2. 库背景。为Codex提供解决特定问题所需的编程包/库也是非常有帮助的。例如,引导Codex使用Python中的Numpy包以解决线性代数问题。

  3. 定义背景。很多时候,Codex缺乏某些术语的定义基础。例如,Codex并不清楚扑克牌中 "Full House "的含义。明确这些术语的定义并让Codex理解它们,可以更好地指导其程序合成。

此外,他们还使用Codex,通过从数据集中创建一个有编号的问题列表,为每门课程生成了新的问题。这个列表在生成随机数量的问题后会被切断,其结果将用于提示Codex生成下一个问题。重复进行此过程,就可以为每门课程生成许多新问题。

图5:学生调查问题。学生要对60个问题中的每一个问题进行评分。

如上图所示,他们还在麻省理工学院和哥伦比亚大学选修过这些课程或其同等课程的学生中进行了长时间调查,比较了机器生成的问题和人写的问题在每门课程中的质量和难度。

图6. 学生调查结果。A组基于学生的评分,比较了人工编写的问题和本文研究方法为每门课程产生的问题的难度。该图显示了1(最容易)和5(最难)之间的难度评分的平均值,以及它们的95%置信区间。B组显示的是人工编写的和机器生成的问题被评为适合和不适合该课程的百分比。C组显示了被评为人写的或机器生成的问题的百分比。

然而,该研究还有一些局限性,如Codex只能接受基于文本的输入,因此该团队的方法无法对输入图像进行处理,无法回答带有必要视觉组成部分的问题,如数字或图表。其次,本研究没有涉及高级数学证明的问题,他们强调,这是研究的广度所带来的限制,而不是Codex的限制。

并且,他们的方法最后一步是通过执行一个程序来完成的,例如使用Python解释器,存在局限性。此外,理论上复杂性结果也不适用于本研究解决的具体实例。

3

总结

该团队的研究证明,对文本进行预训练并对代码进行微调的 Transformers能够解决训练能够通过程序合成解决、评定和生成大学水平的数学问题。

问题集的生成和分析进一步验证了这些惊人的结果。这项研究成功证实了现代程序设计语言可以作为一种替代性的表述和计算环境。由他们的方法不需要额外的训练,就可以扩展到其它STEM课程,并且可以给高等教育带来巨大的帮助。

他们的研究证实了,用现代编程语言进行的神经网络合成是更有活力和广泛适用的,有可能解决更广泛的问题。尽管任何有限的计算都可以被表示为足够大的表达式树,但人们可能会看到所需的表达式树的大小可能是任意大的。与图灵完备语言相比,这种灵活性得到了加强,因为已经存在的大量程序语料库让可用的标记表达式树的数量黯然失色。

“程序输出在本质上也更适合人类阅读。因为使用抽象化、模块化和高级逻辑的能力可以更清晰地说明解决问题的方法。”此外,程序生成可以通过解释性的注释以及函数和变量的名称,直接传达逻辑推论。值得一提的是,在他们的这项研究中在Codex的一些输出中看到了这样的解释文字和推导。

“这种正式和非正式语言的统一是我们方法论的一个固有的优势。”

参考资料:

1. CQ Choi, 7 revealing ways AIs fail: Neural networks can be disastrously brittle, forgetful, and surprisingly bad at math. IEEE Spectr. 58, 42–47 (2021)

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)大脑研究计划,构建互联网(城市)大脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。每日推荐范围未来科技发展趋势的学习型文章。目前线上平台已收藏上千篇精华前沿科技文章和报告。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

当AI学会高数:解题、出题、评分样样都行相关推荐

  1. AI学高数达到MIT本科水平,学了微积分线性代数概率论等6门课,不光能做题还能出题...

    梦晨 发自 凹非寺 量子位 报道 | 公众号 QbitAI 让语言模型做数学题,有多难? 强如GPT-3,在9-12岁的小学数学上,第一次才考20多分. 去年底GPT-3用上新方法努力了很久终于拿到5 ...

  2. 用AI生成高数题?学霸听了都流泪|一周AI新闻

    家人们,一周一会 又来带你沉浸式体验 AI 的世界啦 从会出高数题的算法模型 到 MIT 开源最强虚拟角色生成器 AI 让生活更精彩- - 我用 AI 技术制作的视频回答你 ✨ 点击丨AI 创作的智能 ...

  3. 高数解题神器:拍照上传就出答案,这个中国学霸做的AI厉害了 | Demo

    一位叫Roger的中国学霸小哥的拍照做题程序mathAI一下子火了,这个AI,堪称数学解题神器. 输入一张包含手写数学题的图片,AI就能识别出输入的数学公式,然后给出计算结果. 不仅加减乘除基本运算, ...

  4. AI攻破高数核心,1秒内精确求解微分方程、不定积分,性能远超Matlab

    栗子 鱼羊 发自 海边边  量子位 报道 | 公众号 QbitAI 大家都知道,AI (神经网络) 连加减法这样的简单算术都做不好: 可现在,AI已经懂得微积分,把魔爪伸向你最爱的高数了. 它不光会求 ...

  5. AI攻破高数核心,1秒内精确求解微分方程、不定积分

    大家都知道,AI (神经网络) 连加减法这样的简单算术都做不好: 可现在,AI已经懂得微积分,把魔爪伸向你最爱的高数了. 它不光会求不定积分: 还能解常微分方程: 一阶二阶都可以. 这是Faceboo ...

  6. AI攻破高数核心 1秒内精确求解微分方程、不定积分

    作者:栗子 鱼羊 来源:量子位(QbitAI) 大家都知道,AI (神经网络) 连加减法这样的简单算术都做不好: 可现在,AI已经懂得微积分,把魔爪伸向你最爱的高数了. 它不光会求不定积分: 还能解常 ...

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

    你的考卷,也有可能是机器生成的. 前段时间,DeepMind 的一项研究登上<Nature>封面,通过引导直觉解决了两大数学难题:之后,OpenAI 教 GPT-3 学会了上网,能够使用基 ...

  8. 大一微积分笔记整理_大一上学期 高数复习要点整理

    高数解题技巧.高数(上册)期末复习要点 高数(上册)期末复习要点 第一章: 1 .极限 2 .连续(学会用定义证明一个函数连续,判断间断点类型) 第二章: 1 .导数(学会用定义证明一个函数是否可导) ...

  9. 【前沿技术】AI终于攻陷了数学领域!高数考试超过普通博士??

    来源:智能研究院 高数考不好,不知道是多少人的噩梦. 如果说你高数考得还不如AI好,是不是就更难以接受了? 没错,来自OpenAI的Codex已经在MIT的7门高数课程题目中正确率达到81.1%,妥妥 ...

最新文章

  1. 阿里云助力合作伙伴帮助政府、企业体验云计算大数据魅力!
  2. android 获取位置数据库,尝试从webview获取位置时,Android“SQLite数据库无法从/CachedGeoposition.db加载”错误...
  3. golang中的栈(LeetCode刷题)
  4. Tiray.SMSTiray.SMSTiray.SMSTiray.SMSTiray.SMSTiray.SMS
  5. 业务展示类网站高保真原型模板库、企业品牌官网、公司业务介绍、产品展示及营销、首页模板、内页模板、单页模板、整站模板、导航、轮播、横幅、列表、客户、案例、页脚、动态面板、母版、页面事件、窗口函数
  6. mysql C where语句_mysql – 在WHERE子句中使用substr的SELECT语句
  7. VoltDB培训PPT一则
  8. np.random.uniform,random,choice,newaxis
  9. DisC-Decompiler for TurboC
  10. 从哪查找当前程序所有可用的环境变量?
  11. 2018年计算机数据结构试题答案,2018年数据结构期末考试题及答案.pdf
  12. Excel作图-制作复合饼图
  13. 图像坐标球面投影_从球面到平面的投影
  14. 如何进行多平台整合,实现数据变现?
  15. R矩形树状图 treemap
  16. php网站系统说明,PHP电影网站系统光线CMS(GXCMS)模板制作标签说明
  17. 移动应用广告之商业变现的实现策略
  18. 3D模型【茶几垫子】
  19. matlab 运动检测,如何使用MATLAB进行运动目标的检测
  20. cnpm不是内部命令的解决方案:配置环境变量【推荐】

热门文章

  1. 2021年秋季学期“大数据能力提升项目”证书办理及领取通知
  2. 更好用的3D打印“活体”墨水来了,合成生物的新工具包!
  3. 清华大学:2021元宇宙研究报告!(附PPT下载)
  4. 数据派翻译组招募 | 寻找最志同道合的你!
  5. 赠书 | 热潮下的冷思考,人工智能即将改变的三大领域
  6. 干货 | “青年AI自强计划项目”首节讲座视频、课件分享
  7. 避坑指南:数据科学家新手常犯的13个错误(附工具、学习资源链接)
  8. 推导和实现:全面解析高斯过程中的函数最优化(附代码公式)
  9. 研究生被录取后放导师鸽子,学校要上报教育部失信名单取消其推免资格
  10. 重大里程碑!VOLO屠榜CV任务,无需额外数据,首次在ImageNet 上达到87.1%