当前位置: 首页 > 科技观察

PNAS最新研究:81%解题率,神经网络Codex推开高等数学世界大门

时间:2023-03-12 06:42:47 科技观察

近日,PNAS上发布了一项新研究,再次刷新了神经网络的能力。这次用神经网络来解决一道高等数学题,也是MIT数学课上的一道数学难题!在这项新研究中,研究团队证明了OpenAI的Codex模型可以进行程序综合来解决大规模数学问题,并通过小样本学习自动解决了数据集中81%的数学课程问题,Codex在这方面的表现这些任务达到人类水平。原文链接:https://www.pnas.org/doi/10.1073/pnas.2123433119这项研究的出现颠覆了神经网络无法解决高等数学问题的共识。研究团队指出,Codex之所以能够实现这一能力,正是因为团队进行了重大创新。过去那些不成功的研究只是采用了基于文本的预训练,而这次出现的Codex神经网络不仅要在文本上进行预训练,还要对代码进行微调。研究题数据集选自MIT的6门数学课和哥伦比亚大学的1门数学课,随机抽取了7门课的25道题:MIT的单变量微积分、多变量微积分、微分方程、概率与统计概论、线性代数和计算机科学数学和哥伦比亚大学的COMS3251计算线性代数。同时,研究团队使用最新的评估数学推理的高级数学问题基准MATH来测试OpenAICodex的能力。MATH包括6个主要数学部分:初级代数、代数、计数和概率、中级代数、数论,Precalculus和Precalculus各15题。图片说明:研究中使用的课程问题数据集和MATH基准研究表明,Codex解决了问题和MATH数据集中的265个问题,其中213个是自动解决的。1创新点在Transformer发布后,基于Transformer的语言模型在各种自然语言处理(NLP)任务中取得了巨大的成功,包括零样本和少样本语言任务。但由于Transformer只是在文本上进行预训练,这些模型基本上无法解决数学问题。GPT-3就是一个典型的例子。后来通过few-shotlearning和Chain-of-thought(CoT)hints,提升了GPT-3的数学推理能力;然而,在没有代码的情况下,即使有小样本,Learning和CoT也暗示GPT-3在大学水平的数学问题和MATH基准测试中仍然无能为力。过去对解决数学问题的研究可能在相对简单的数学水平上取得了一定的成果。例如,基于协同训练输出验证或预测表达式树的技术,如MAWPS和Math23k,可以解决小学水平的数学问题,准确率超过81%,但不能解决高中、奥林匹克数学或大学数学问题。困难的数学问题。课程。协同训练结合图神经网络(GNN)预测算术表达式树可以解决大学级别的机器学习问题,准确率高达95%。但这项工作也仅限于数字答案,并产生无法推广到其他类别的过度拟合。这项工作最大的创新之一是它不仅在文本上预训练了Codex的Transformer模型,而且还对代码进行了微调,使其能够生成解决数学问题的大规模程序。研究团队从数据集中随机选择不需要输入图像或证明的问题样本进行测试。其中,仅在文本上预训练的语言模型(GPT-3text-davinci-002)仅自动解决了18%的课程问题和25.5%的MATH基准问题。相比之下,使用零样本学习和在文本上预训练并在代码上微调的神经网络合成的程序(OpenAICodexcode-davinci-002)可以自动解决71%的课程问题和72.2%的MATH基准问题.使用相同的神经网络Codex加上少样本学习自动解决了课程中81%的问题和MATH基准测试中81.1%的问题。而其余19%的课程题和18.9%的MATH基准题无法被剩余模型自动解决,最终通过人工提示解决。小样本学习方法的补充是本研究的第二大创新点。从上图可以看出,当zero-shotlearning无法回答一个问题时,使用(question,code)对(pair)进行small-shotlearning:1)使用OpenAI的text-similarity-babbage-001embedding嵌入所有问题的引擎;2)使用嵌入式余弦相似度计算同类中最相似的已解决问题与未解决的问题;3)用最相似的问题及其对应的代码作为few-shot问题的例子。图注:4种方法自动解题率对比上图是Codex的零样本学习、小样本学习与GPT-3的零样本学习和小样本自动解题率的对比样本学习。从图中可以看出,以橙色条为代表的小样本学习法典在自动解题率上表现优异,基本上在每个数学领域的表现都强于其他三种方法。这项研究的第三个重大创新是提供了解决数学问题的管道,并解释了为什么这样解决。下图展示了5门MIT数学课程中pipelines的执行流程。以18.01单变量微积分问题为例。给定一个问题和自动生成的前缀“UsingSymPy”,提示Codex并输出一个程序。运行该程序会生成具有正确答案的方程式。然后程序会自动再次提示输入法典,从而生成代码解释。2解题后除了解数学题和解读答案,Codex还被用来为每门课程生成新题。为了评估出题水平,该团队对参加过这些课程或同级别课程的麻省理工学院学生进行了调查,主要是比较机器出题和人工出题的质量和难度。在麻省理工学院的6门课程中,每门课程都随机选择了5个人工编写的问题和5个模型生成问题。对于60个问题中的每一个,参与学生被要求回答3个调查问题:1)你认为这个问题是由人写的还是机器生成的?2)你认为这个问题适合还是不适合特定课程?3)在1(最简单)和5(最难)之间,您认为这道题的难度是多少?在返回的问卷中,学生的调查结果总结如下:机器生成的问题和人工编写的问题难度相似。人工编写的问题比机器生成的问题更适合课程。人写的答案很难被错误识别,而机器生成的问题被学生认为是机器生成的或人写的。学生无法区分机器生成的问题,这表明Codex在生成新内容方面已达到人类水平的表现。但是,该模型也存在无法解决的问题,例如如果问题以图像或其他非文本形式呈现,则无法回答;解决方案需要证明的问题,或计算上难以处理的问题,例如分解的非常大的素数,该模型也无法解决。然而,最后一类问题不应该出现在任何数学课程中,因为即使是真正的学生也无法回答。