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

近十年论文数量激增,深度学习如何慢慢打开数学推理之门

时间:2023-03-23 10:05:07 科技观察

数学推理是人类智能的重要体现,它使我们能够根据数值数据和语言来理解和做出决策。数学推理适用于科学、工程、金融和日常生活等多个领域,涵盖一系列能力,从模式识别和数字运算等基本技能到解决问题、逻辑推理和抽象思维等高级技能。开发能够解决数学问题和证明数学定理的人工智能系统一直是机器学习和自然语言处理领域的研究重点。这也可以追溯到1960年代。在深度学习兴起的最后十年里,人们对该领域的兴趣显着增长:图1:估计每年发表的关于数学推理的深度学习论文数量。自2018年以来,该领域经历了快速增长。深度学习在各种自然语言处理任务中取得了巨大的成功,例如问答和机器翻译。同样,研究人员已经开发出各种用于数学推理的神经网络方法,这些方法已被证明在复杂任务(例如文字问题、定理证明和几何问题求解)中行之有效。例如,基于深度学习的问题解决器采用序列到序列框架,并以注意力机制作为中间步骤生成数??学表达式。此外,借助大规模语料库和Transformer模型,预训练语言模型在各种数学任务上取得了可喜的成果。最近,像GPT-3这样的大型语言模型在复杂推理和上下文学习方面表现出了令人印象深刻的能力,进一步推进了数学推理领域。在最近发表的一份报告中,来自加州大学洛杉矶分校和其他机构的研究人员系统回顾了深度学习在数学推理方面的进展。论文链接:https://arxiv.org/pdf/2212.10535.pdf项目地址:https://github.com/lupantech/dl4math具体来说,本文讨论了各种任务和数据集(第2节),以及数学领域的进展研究了神经网络(第3节)和预训练语言模型(第4节)。还探讨了用于数学推理的大型语言模型的上下文学习的快速发展(第5节)。我们进一步分析现有基准,发现对多模式和低资源设置的关注较少(第6.1节)。循证研究表明,当前对计算能力的表示是不充分的,深度学习方法在其数学推理方面不一致(第6.2节)。随后,作者建议在泛化和稳健性、可信推理、从反馈中学习和多模态数学推理(第7节)方面改进当前工作。任务和数据集本节检查目前可用于使用深度学习方法研究数学推理的各种任务和数据集,请参见表2。应用问题(数学单词问题)应用问题包含涉及人、实体和数量的简短叙述。数学关系可以用一组方程来建模,方程的解揭示了问题的最终答案。表1是一个典型的例子。一个问题涉及加、减、乘、除四种基本数学运算,具有单个或多个运算步骤。应用题对NLP系统的挑战在于对语言理解、语义分析和各种数学推理能力的需求。现有的单词问题数据集涵盖了从在线学习网站上抓取、从教科书中收集或由人工手动注释的小学水平问题。早期的单词问题数据集相对较小,或者仅限于少量的操作步骤。最近的一些数据集旨在增加问题的多样性和难度。比如目前最大的公开题集Ape210K,包含了210k道小学单词题;而GSM8K中的问题可能涉及多达8个步骤的解决方案。SVAMP是一个基准测试,用于测试深度学习模型对具有简单变体的单词问题的稳健性。一些最近建立的数据集还涉及文本以外的模式。例如,IconQA提供抽象图形作为可视化背景,而TabMWP则为每个问题提供表格背景。大多数单词问题数据集都提供了将带注释的方程式作为解决方案的理由(见表1)。为了提高学习求解器的性能和可解释性,MathQA使用精确的算术程序进行注释,MathQA-Python提供了具体的Python程序。其他数据集使用被认为更易于人类阅读的多步自然语言解决方案来注释问题。Lila用Python程序的原理对前面提到的许多单词问题数据集进行了注释。理论证明定理证明自动化是人工智能领域的一个长期挑战。问题通常是通过一系列逻辑论证来证明数学定理的真实性。定理证明涉及多种技能,例如选择有效的多步策略、使用背景知识以及执行算术或推导等符号运算。最近,人们越来越关注在形式化交互式定理证明器(ITP)中使用语言模型进行定理证明。定理是用ITP的编程语言陈述的,然后通过生成“证明步骤”来简化,直到它简化为已知事实。结果是构成验证证明的一系列步骤。非正式定理证明为定理证明提出了一种替代媒介,其中陈述和证明以自然语言和“标准”数学符号(例如LATEX)的混合形式编写,并由人类检查其正确性。一个新兴的研究领域旨在结合非正式和正式定理证明的要素。例如,吴等人。(2022b)探索将非正式句子翻译成正式句子,而Jiang等人。(2022b)发布了新版本的miniF2F基准测试,添加了非正式的句子和证明,称为miniF2F+informal。姜等。(2022b)探索将提供的(或生成的)非正式证明转换为正式证明。GeometryProblemsAutomatedGeometryProblemSolving(GPS)也是数学推理研究中长期存在的AI任务,近年来受到广泛关注。与文字题不同,几何题由自然语言文本描述和几何图形组成。如图2所示,多模态输入描述了几何元素的实体、属性和关系,而目标是找到未知变量的数值解。由于需要复杂的技能,GPS对于深度学习方法来说是一项具有挑战性的任务。它涉及解析多模态信息、执行符号抽象、利用定理知识和执行定量推理的能力。早期的数据集刺激了这一领域的研究,但这些数据集相对较小或不公开,这限制了深度学习方法的发展。为了解决这个限制,Lu等人。创建了Geometry3K数据集,该数据集由3002道几何多选题组成,并以统一的逻辑形式注释多模态输入。最近,引入了更大规模的数据集,如GeoQA、GeoQA+和UniGeo,并用神经求解器可以学习和执行的程序进行注释以获得最终答案。《数学问答》最近的研究表明,SOTA数学推理系统在推理上可能存在“脆性”,即模型依赖特定数据集的虚假信号和即插即用的计算来达到“令人满意”的性能。为了解决这个问题,已经从各个方面提出了新的基准。数学(Saxtonetal.,2020)数据集包括许多不同类型的数学问题,涵盖算术、代数、概率和微积分。该数据集可以衡量模型的代数泛化能力。同样,MATH(Hendrycks等人,2021年)包含具有挑战性的竞赛数学,以衡量模型在复杂情况下的问题解决能力。一些工作在问题输入中包含了表格背景。例如,FinQA、TAT-QA和MultiHiertt收集需要表格理解和数字推理才能回答的问题。多项研究提出了大规模数值推理的统一基准。NumGLUE(Mishraetal.,2022b)是一个多任务基准测试,旨在评估模型在八个不同任务上的性能。米什拉等。2022a通过Lila进一步推动了这一方向,它包含23个数字推理任务,涵盖广泛的数学主题、语言复杂性、问题格式和背景知识要求。人工智能在其他类型的量化问题上也取得了成功。例如,图形、图表和绘图是以简洁的方式传达大量信息的基本媒介。FigureQA、DVQA、MNS、PGDP5K和GeoRE都被引入以研究模型推理基于图的实体之间的定量关系的能力。NumerSense研究现有的预训练语言模型是否以及在何种程度上能够感知数字常识知识。EQUATE在自然语言推理框架中形式化了定量推理的各个方面。定量推理也经常出现在特定领域,例如金融、科学和编程。例如,ConvFinQA以对话问答的形式对财务报告进行数值推理;ScienceQA处理科学领域的数值推理;P3研究深度学习模型的功能推理能力,找到使给定程序返回True的有效输入。用于数学推理的神经网络本文作者还总结了几种常见的用于数学推理的神经网络。Seq2SeqNetworksSeq2Seq神经网络已成功应用于数学推理任务,例如单词问题、定理证明、几何问题和数学问答。Seq2Seq模型使用编码器-解码器架构,通常将数学推理形式化为序列生成任务。这种方法的基本思想是将输入序列(如数学问题)映射到输出序列(如方程、程序和证明)。常见的编码器和解码器包括长短期记忆网络(LSTM)、门控循环单元(GRU)。大量工作表明,Seq2Seq模型比以前的统计学习方法具有性能优势,包括它们的双向变体BiLSTM和BiGRU。DNS是第一个使用Seq2Seq模型将单词问题中的句子转换为数学方程式的工作。基于图的网络Seq2Seq方法的优点是可以生成数学表达式,而不依赖于手工制作的特征。数学表达式可以转化为基于树的结构,例如抽象语法树(AST)和基于图的结构,它们描述了表达式中的结构信息。然而,这一重要信息并未通过Seq2Seq方法明确建模。为了解决这个问题,研究人员开发了基于图形的神经网络来明确地对表达式中的结构进行建模。序列到树(Seq2Tree)模型在编码输出序列时显式地建模树结构。例如,刘等人。设计了一个Seq2Tree模型以更好地利用方程的AST信息。相比之下,Seq2DAG在生成方程时应用序列图(Seq2Graph)框架,因为图解码器能够提取多个变量之间的复杂关系。在对输入数学序列进行编码时,也可以嵌入基于图形的信息。例如,ASTactic在AST上应用TreeLSTM来表示定理证明的输入目标和前提。基于注意力的网络注意力机制已成功应用于自然语言处理和计算机视觉问题,其中在解码过程中考虑了输入隐藏向量。研究人员一直在探索它在数学推理任务中的作用,因为它可以用来识别数学概念之间最重要的关系。例如,MATH-EN是一个问题解决器,它受益于通过自注意力学习的长距离依赖信息。基于注意力的方法也被应用于其他数学推理任务,例如几何问题和定理证明。为了提取更好的表示,已经研究了各种注意力机制,例如使用不同的多头注意力来提取各种类型的MWP特征的Group-ATT,以及应用于提取知识感知信息的图形注意力。其他神经网络用于数学推理任务的深度学习方法也可以利用其他神经网络,例如卷积神经网络和多模态网络。一些作品使用卷积神经网络架构对输入文本进行编码,使模型能够捕获输入中符号之间的长期关系。例如,欧文等人。研究提出了深度神经网络在定理证明中的首次应用,它依赖于卷积网络在大型理论中进行前提选择。多模态数学推理任务,例如几何问题求解和基于图形的数学推理,被形式化为视觉问答(VQA)问题。在这个领域中,视觉输入使用ResNet或Faster-RCNN进行编码,而文本表示则通过GRU或LTSM获得。随后,使用BAN、FiLM和DAFA等多模态融合模型学习联合表示。其他深度神经网络结构也可以用于数学推理。张等。利用图神经网络(GNN)在空间推理方面的成功并将其应用于几何问题。由于能够求解纵向时间序列数据,WaveNet被应用于定理证明。此外,Transformer被发现在DDT中生成数学方程式时优于GRU。并且,MathDQN是第一个探索解决数学单词问题的强化学习工作,主要是利用其强大的搜索能力。用于数学推理的预训练语言模型预训练语言模型在广泛的NLP任务上显示出显着的性能提升,并且同样适用于与数学相关的问题。以前的工作表明,预训练的语言模型可以有效地回答应用问题。具有良好的性能,辅助定理证明和其他数学任务。然而,将其用于数学推理存在一些挑战。首先,预训练语言模型不是专门针对数学数据训练的。这可能导致他们在数学相关任务中的熟练程度低于自然语言任务。与文本数据相比,可用于大规模预训练的数学或科学数据也较少。其次,预训练模型的规模持续增长,使得针对特定下游任务从头开始训练整个模型的成本很高。此外,下游任务可能会处理不同的输入格式或模式,例如结构化表格或图形。为了应对这些挑战,研究人员必须微调预训练模型或调整下游任务的神经架构。最后,尽管预训练的语言模型可以编码大量的语言信息,但仅从语言建模的目标来看,模型可能难以学习数值表示或高级推理技能。考虑到这一点,最近的研究调查了从基础开始的课程中数学相关技能的注入。数学中的自我监督学习下面的表4提供了为数学推理中的自我监督任务预训练的语言模型列表。Task-specificmathematicalfine-tuning当没有足够的数据从头开始训练大型模型时,Task-specific的微调也是一种常见的做法。如表5所示,现有工作试图在各种下游任务上微调预训练语言模型。除了微调模型参数外,许多作品还使用预训练的语言模型作为编码器,并将其与其他模块结合起来完成下游任务。例如,IconQA提出分别使用ResNet和BERT进行图形识别和文本理解。数学推理中的上下文学习上下文样本通常由输入输出对和一些提示词组成,例如,请从列表中选择最大的数字。输入:[2,4,1,5,8]输出:8.小样本学习给定多个样本,然后模型在最后一个输入样本上预测输出。然而,这种标准的小样本提示,其中大型语言模型在测试时间样本之前被给予输入输出对的上下文样本,尚未被证明足以在数学推理等具有挑战性的任务上取得良好的性能。思维链提示(CoT)使用中间自然语言解释作为提示,使大型语言模型首先生成推理链,然后预测输入问题的答案。例如,Kojima等人可以提出解决应用问题的CoT提示。(2022),为模型提供“Let'sthinkstepbystep!(让我们一步步思考!)”的提示将使大型语言模型成为良好的零样本推理器。除此之外,最近的大部分工作都集中在如何在零样本推理的设置中改进思维链推理。这类工作主要分为两部分:(i)选择更好的上下文样本和(ii)创建更好的推理链。上下文样本选择早期的思想链工作是随机或启发式地选择上下文样本。相反,最近的工作表明,这种类型的小样本学习在不同的上下文示例选择中可能非常不稳定。因此,哪些上下文推理样本能够做出最有效的提示,在学术上仍然是一个未知的问题。为了解决这个限制,最近的几项工作研究了各种方法来优化上下文样本的选择过程。例如,鲁宾等人。(2022)试图通过检索语义相似的样本来解决这个问题。然而,这种方法在数学推理问题上效果不佳,如果包含结构化信息(例如表格),则很难衡量相似性。此外,傅等人。(2022)提出基于复杂性的提示,它选择具有复杂推理链(即具有更多推理步骤的链)的样本作为提示。卢等人。(2022b)提出了一种通过强化学习选择上下文样本的方法。具体来说,代理学习从候选池中找到最佳上下文样本,目标是在与GPT-3环境交互时最大化给定训练样本的预测奖励。此外,张等人。(2022b)发现示例问题的多样化也可以提高模型性能。他们提出了一种在上下文中构建示例问题的两步法:首先,将给定数据集的问题分成几个集群;其次,从每个集群中选择一个有代表性的问题,并使用一个简单的启发式零样本思维链生成其推理链。高质量的推理链思维链的早期工作在很大程度上依赖于一个单一的人工注释推理链作为提示。然而,人工创建推理链有两个缺点:首先,随着任务变得越来越复杂,当前的模型可能不足以学习执行所有必要的推理步骤,并且不能轻易泛化到不同的任务;第二,单个解码过程容易出现错误的推理步骤,导致对最终答案的预测不正确。为了解决这一局限性,最近的研究集中在两个方面:(i)手工制作更复杂的例子,称为基于过程的方法;(ii)利用类似集成的方法,称为基于结果的方法。在评估现有基准和方法之后,作者还讨论了该领域未来的研究方向。有关研究的更多详细信息,请参阅原始论文。