前段时间,DeepMind的一项研究登上了《Nature》的封面,并通过引导直觉解决了两个主要的数学问题;后来,OpenAI教GPT-3学习上网和使用基于文本的网络浏览器。2021年最后一天,来自麻省理工学院、哥伦比亚大学、哈佛大学和滑铁卢大学的联合研究团队发表了114页的论文,提出了第一个大规模自动求解、评分和生成大学级数学问题该模型可以说是人工智能和高等教育的一个重要里程碑。事实上,在这项研究之前,人们普遍认为神经网络无法解决高等数学问题。值得一提的是,该研究使用了OpenAI的Codex。这项研究有多强大?我们以下图为例,展示了洛伦兹吸引子及其投影的计算、奇异值分解(SVD)方法的几何计算和演示等,机器学习模型很难解决上述问题,但这项研究表明,他们不仅可以解决它们,还可以大规模解决同类问题和许多此类问题。研究表明,在文本上预训练并在代码上微调的神经网络可以通过程序综合解决数学问题。具体来说,该研究将数学问题转化为编程任务,自动生成程序,然后执行它们来解决MIT数学课程问题和来自MATH数据集的问题。其中,MATH数据集是专门评估数学推理的高等数学问题的最新基准,涵盖初等代数、代数、计数与概率、数论和微积分。此外,该研究探索了生成提示的方法,这些提示允许Transformer为相应的主题生成问题解决程序,包括带有图像的解决方案。通过量化原始问题和转换提示之间的差距,该研究评估了生成问题的质量和难度。论文地址:https://arxiv.org/pdf/2112.15594.pdfMethodDataset该研究首先从麻省理工学院的以下六门课程中各随机抽取25道题:单变量微积分;多元微积分;微分方程;概率统计概论;线性代数;计算机科学数学。对于MATH数据集,该研究从每个主题中随机抽取5个问题,并通过在应用线性代数新课程COMS3251上的实验验证了该方法的结果,而不仅仅是过度拟合训练数据。方法流程如下图2所示,该研究使用Codex将课程问题转化为编程任务并运行程序来解决数学问题。下图一共有5个面板A-E,每个面板的左侧部分显示了原始问题和重新制定的提示,其中提示是通过添加上下文、交互、简化描述等形成的。该研究对原始课程的转换进行了分类Codex提示的问题分为以下三类:Native提示:Codex提示与原始问题相同;提示自动转换:Codex提示与原题不同,由Codex自动生成;手动提示转换:Codex提示与原始问题不同,它是人为生成的。问题和提示之间的差距将问题转换为Codex提示的关键是:从语义上讲,原始问题与产生正确解决方案的提示的接近程度。为了衡量原始问题和成功提示之间的差距,该研究使用了Sentence-BERT嵌入之间的余弦相似度,如下图3所示。Sentence-BERT使用siamese和triplet神经网络架构来微调预训练的BERT模型。至关重要的是,Sentence-BERT能够在句子级别生成语义嵌入,从而实现长文本之间的语义相似性比较。在本研究的实验中,原始问题与生成正确答案的提示之间的相似性如下图4所示。CodexforPromptGeneration在一些课程中,直接用未转换的原始问题提示Codex并没有产生正确的解决方案。因此,需要将原始问题转化为Codex能够处理的形式,主要分为以下三类:Topiccontextform:该形式为Codex提供与通用课程和具体问题相关的topic和subtopic,帮助指导Codex生成相关且正确的答案。例如,对于概率中的条件期望问题,提供有关贝叶斯定理、期望等的上下文信息会很有帮助。库上下文:这种形式为Codex提供解决给定问题所需的编程包/库。例如,Codex被教导使用Python中的numpy包来解决线性代数问题。定义上下文:很多时候,食品法典在没有现实世界上下文的情况下定义了某些术语。例如,Codex不理解FullHouse在扑克牌中的含义。因此,让Codex理解这些术语并明确定义它们可以更好地指导其计划综合。问题生成和人工评估该研究使用Codex为每门课程生成新问题,方法是从数据集中创建问题编号列表,在生成随机数量的问题后截断该列表,结果用于提示Codex生成下一个问题。一遍又一遍地重复这个过程可以为每门课程产生许多新问题。该研究是对麻省理工学院和哥伦比亚大学的学生进行的一项长期调查,这些学生参加了这些课程或同等课程。该调查的目的是比较每门课程机器生成的问题与人工编写的问题的质量和难度。该研究为麻省理工学院的每门课程随机抽取了五个原始问题和五个生成的问题。在调查中,学生被要求阅读每门课程的十个问题,这些问题是人工编写的和机器生成的问题的混合体。对于60个问题中的每一个,学生都被问到三个问题,如图5所示:他们认为给定的问题是(i)人工编写的还是机器生成的,(ii)适合或不适合特定课程,以及(iii))问题的难度级别在1(最简单)和5(最难)之间。学生被要求提供他们在数学问题上的成绩,而不是解决这些问题。该调查可在线匿名进行。调查结果解决问题的研究人员总共解决了补充材料中提出的210个问题,包括MATH数据集中六门课程和六个主题(初级代数、代数、数论、计数和概率、中级10个随机)的25个随机问题ExtremeAlgebra,Calculus各自的问题生成新问题研究人员生成了120个新问题,包括6门课程和6个MATH主题各10个新问题。下表2显示了每门课程和每个MATH主题的一个生成问题。生成一个问题不到1秒,研究人员可以生成任意数量的问题。他们为25个随机选择的问题创建了提示,Codex能够为这些问题生成正确答案,切入随机问题,让Codex完成下一个newquestion.StudentSurveyResults研究人员表示,共有13名参与者完成了60个问题的问答调查,该调查采取了av40分钟的时代。下面的图6总结了学生调查中人写和机器生成的问题的比较,结果如下:机器生成的问题比人写的问题更难,但在置信区间内;人工编写的问题比机器生成的问题更适合课程;人写的问题更可能被认为是人写的,机器生成的问题被认为是机器生成的和人写的概率是一样的。AnswerGradingCodex能够回答所有随机抽样的大学水平和MATH数据集数学问题,无论它们是原始状态还是策划状态。还有一些无法解决的技术障碍挑战着研究人员的方法。1.输入图像。Codex的一个基本限制是它只能接受基于文本的输入。因此,Codex无法使用图形或图表等必要的视觉组件来回答问题。2.高等数学证明。这项研究的另一个局限性是缺乏高等数学的证明。研究人员强调,这是由于研究本身的广度,而不是食典的证明力。事实上,在这项研究中提交给Codex的大多数简单分析证明都已成功执行,这令人惊讶,因为证明通常不是基于代码的。3.方案评价。本研究的最后一步是执行程序,例如使用Python解释器。参加大学课程的学生也编写代码来解决他们的一些问题。因此,该研究以与人类学生相同的方式测试神经网络解决问题的能力,让他们能够使用必要的工具。还有关于神经程序评估的工作,展示了使用机器学习来预测程序输出。LSTM已被用于成功预测某些线性时间和恒定空间程序的输出(18)。这些增加了内存寄存器以允许更大类的程序(19)。最近的方法使用因果GNN(20)和转换器(21)。虽然评估任意代码是不可判定的,但特殊情况,例如由另一个转换器生成的程序来解决简单的数学问题,原则上应该是可学习的。4.理论复杂性。计算复杂度的结果表明,该研究无法解决大学数学课程中一般问题的每个具体实例。例如,以下问题的结果很棘手:向量v可以表示为集合S中的向量之和吗?以下一阶微分方程的解是什么?然而,我们知道作业和考试给出的问题可以由人类解决,因此这些复杂性结果不适用于本研究中解决的特定实例。
