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

fcd8f4afcb1152a7ea3448ea4c2c1842.png

来源:AI科技评论

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

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

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

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

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

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

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

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

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

f5e3d4832096411bf8db55d852898ab3.png

论文地址: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%”。

2472b91f445c9e4d0612ddfe9194e765.png

图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能够为每个随机抽到的问题生成带图的解题程序和方案。相比之下,这项工作可以输出包括图表在内的多种模式,并且不需要专门的训练就可以扩展到其他数学课程。

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

fd88bba81df4412c3fd12ca2ff876daa.png

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

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

2

关键

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

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

9d8e34829a4b1fc8de3adc1adf15f8bb.png

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

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

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

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

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

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

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

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

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

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

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

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

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

35384503b300e8c62499f38083044a5e.png

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

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

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

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

50ce507767765b8a876abae455a31c91.png

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

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

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

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

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

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

bc23d3951c8c7ce7d5b860c13bf1d512.png

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

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

fd89f7b244491978fe4ac56e92410768.png

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

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

65ff43a688638b447a18059551c05315.png

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

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

相关文章

2.3_ 1_ 进程同步、进程互斥

2.3_ 1_ 进程同步、进程互斥 文章目录2.3_ 1_ 进程同步、进程互斥1.知识概览2.什么是进程同步?2.什么是进程互斥3.知识回顾1.知识概览 2.什么是进程同步? 2.什么是进程互斥 3.知识回顾

IEEE Fellow李世鹏 :人工智能与机器人前沿研究之思考

来源:AI科技评论作者:维克多编辑:青暮2021年12月9日,由粤港澳大湾区人工智能与机器人联合会、雷峰网合办的第六届全球人工智能与机器人大会(GAIR 2021)在深圳正式启幕,140余位产学领袖、30位Fel…

2.3.2. 进程互斥的软件实现方法

2.3.2. 进程互斥的软件实现方法 文章目录2.3.2. 进程互斥的软件实现方法1.知识总览2.单标志法3.双标志先检查法4.双标志后检查法5. perterson算法6. 知识回顾1.知识总览 2.单标志法 3.双标志先检查法 4.双标志后检查法 5. perterson算法 6. 知识回顾

哲学的终极解释:48张图了解48种主义

来源:今日头条编辑:nhyilin哲学家建立了事物的基本概念,我们在讨论中遵循它,有时误用它,有时颠覆它。以下48个基本概念常常出现在公共讨论里,伦敦设计师Genis Carreras用最简单的线条、形状和色块对它们进行…

2.1.5编码与调制(1)

文章目录2.1.5编码与调制(1)1.基带信号与宽带信号2. 编码与调制2.1.5编码与调制(1) 1.基带信号与宽带信号 2. 编码与调制

改名Meta俩月,脸书放弃虚拟现实操作系统:负责人跳槽谷歌

来源:机器学习研究组订阅元宇宙,到头来还得是安卓系统?这些年来,facebook 在增强现实和虚拟现实领域投入了大量资金。扎克伯格甚至已经把公司名称改成了 Meta,认为元宇宙将是公司未来的主营业务,不过理想很…

2.2物理层传输介质

2.2物理层传输介质 文章目录2.2物理层传输介质1. 传输介质和分类2.导向性传输介质--1.双绞线3.导向性传输介质--2.同轴电缆4.非导向性传输介质思维导图1. 传输介质和分类 2.导向性传输介质–1.双绞线 3.导向性传输介质–2.同轴电缆 4.非导向性传输介质 思维导图

C#拼装JSON数组简易方法

下面是我们想要拼接出来的JSON字符串,返回给前台 1 {"success":"true","msg":"","data":[{"macName":"正面预拼装机","state":1.0},{"macName":"正面拼板压力架&q…

IEEE年终AI大盘点:网友教会GPT-3骂人、DeepMind再造机器人

来源:新智元【导读】2021年即将过去,IEEE Spectrum盘点了今年的十大AI新闻。在过去的一年里,AI模型训练成本起飞、GPT-3从网友那儿学会了「阴阳怪气」,此外,研究人员还总结了AI绕不过去的七大弱点。2021 年&#xff0c…

2. 3物理层设备

2. 3物理层设备 文章目录2. 3物理层设备中继器2.集线器(多口中继器)中继器 2.集线器(多口中继器)

谁是深度学习框架一哥?2022 年,PyTorch 和 TensorFlow 再争霸

来源:机器学习研究组订阅用PyTorch还是TensorFlow,对于大部分深度学习从业者来说真是一个头疼的问题。最近Reddit上有个帖子从三个方面对比了两个框架,结果竟然是平手?你用PyTorch还是用TensorFlow?对于不同人群可能有…

深度学习不可信?大脑建模先驱有话说

来源:ScienceAI编辑:萝卜皮在过去的 20 年里,深度学习通过一系列有用的商业应用主导了人工智能的研究和应用。但在耀眼的背后是一些根深蒂固的问题,威胁着技术的提升。例如,典型的深度学习程序无法在一项以上的任务上表…

python模块补充

collections模块 collections模块namedtupe方法。又称具名元组。 from collections import namedtuple point namedtuple(空间坐标, x y z) # x y z可以写成列表形式,元组等可迭代对象 res point(3, 4, 5) print(res) # 空间坐标(x3, y4, z5) print(poin…

《力学》课时二质点运动学(二)

视频链接 1.角位移/角速度/角加速度

ListObject 多条件去重

上一篇将到根据某一条件去重List<Object> 对象链表。本文章根据多条件去重List<Object>去重 1 private List<StaingMD0010> getSecondProductWork(List<StaingMD0010> list) {2 for (int i 0; i < list.size(); i) {3 for (int j 0; …

More than Moore的探索

来源&#xff1a;内容由半导体行业观察&#xff08;ID&#xff1a;icbank&#xff09;编译&#xff1a;porsche众所周知&#xff0c;现代电子学于1947年12月16日在新泽西州 Murray Hill的贝尔实验室诞生&#xff0c;在那里物理学家Walter Brattain 首次成功使用一种临时制作的半…

用scikit-learn学习主成分分析(PCA)

在主成分分析&#xff08;PCA&#xff09;原理总结中&#xff0c;我们对主成分分析(以下简称PCA)的原理做了总结&#xff0c;下面我们就总结下如何使用scikit-learn工具来进行PCA降维。 一、scikit-learn PCA类介绍 在scikit-learn中&#xff0c;与PCA相关的类都在sklearn.deco…