“出乎意料地糟糕”的深度神经网络是一个有效的工具

当 AI 学习大量数字时:解决问题、制造问题并对所有内容进行评分

“高等数学的里程碑式研究”,这篇 114 页的论文允许 AI 研究艺术和科学。也许机器出的高等数学试卷很快就会进入大学课堂。现在可以说“高级数学题不是人写的”。

编译 | 王野

编辑 | 暮

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

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

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

回到人工智能发展的萌芽阶段,符号语言的思想为数理逻辑的产生和发展奠定了基础。那时,人们试图把对万物的理解和认知转化为符号语言和符号之间的推理。用这个想法构建的模型是基于符号的,但也许另一种思维方式是先使用神经网络来挖掘符号。特征。

在最近的一项研究中,使用神经网络准确解决低维数学问题的方法被证明是非常有效的。

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

该研究也被其研究团队描述为“第一个大规模自动解决、评分和生成大学水平数学课程问题的研究”,打破了神经网络无法解决高级数学问题的普遍观念。

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

论文地址:

1秒快速解大数

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

这项研究证明了机器学习在这方面的力量。机器学习模型适用于 MIT 数学课程,包括单变量微积分、多元微积分、微分方程以及概率和统计概论。

不仅如此,该团队的研究证实它还可以用 MATH 数据集解决问题,“MATH 数据集是衡量模型数学问题解决能力的基准,而这个数据集的主要来源是高中数学竞赛等如 AMC 1 0、AMC 12 和 AIME 等。到目前为止,state-of-the-art Transformers,如 GPT-3,仅在文本上进行预训练,而 GPT-3 取得了最佳的整体准确率6.9%,所有项目的准确率均低于 8.8%”。

图 1:显示模型可以解决的大量问题的图表。例如,在微积分 18.01-02 中,求一个由两个二维图形围绕 z 轴旋转一圈的二维区域的体积(右上角);在微分方程 18.03 中,求解洛伦兹奇异吸引子(右下);在线性代数 18.06 中,绘制奇异值分解 (SVD) 的几何图形(右下)。

“以前使用变形金刚解决数学课程问题的工作失败了,因为变形金刚和 GPT-3 一样,只是在文本上进行了预训练。”

尽管在解决诸如 MAWPS 和 Math23k 之类的初级数学问题时,该研究团队使用联合训练输出验证或预测表达式树,但其准确率达到了 80% 以上。然而,这种方法的有效性并没有在高中、数学奥林匹克或大学水平的数学课程中得到推广。后来,有人与图神经网络 (GNN) 配对,以预测算术表达式树和对文本进行预训练的 Transformer,以 95% 的准确率解决大学水平的问题。但这个结果仅限于数字答案,仅限于特定课程,不易扩展到其他课程。

而本文的这项研究证明,将问题转化为编程任务的程序合成是大规模解决数学和STEM课程的关键。“经过文本预训练和代码微调的转换器在 MATH 数据集和大学数学课程中表现完美。”

如图 1 所示,研究团队将 MIT 课程中的数学问题和 MATH 数据集进行处理,并作为输入传递给 OpenAI Codex Transformers,由 OpenAI Codex Transformers 将要解决的问题转化为编程任务,然后进行自动生成程序。根据问题不同,运行程序的输出形式也不同,包括数字输出形式,甚至可以通过程序合成从文本生成图像输出形式。该团队使用即时生成方法使 Transformers 能够为每个随机绘制的问题生成图形化的问题解决程序和解决方案。相比之下,这项工作可以输出多种模式,包括图形,并且无需专门培训即可扩展到其他数学课程。

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

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

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

2键

研究实验主题是从麻省理工学院六门课程的 25 个问题中随机选择的,MATH 数据集中六个主题中的每一个都有 5 个问题。并且,为了证明他们的发现没有过度拟合训练数据,他们还使用了新的应用线性代数课程 COMS3251(在训练期间无法在线获得)来验证它。

当技术为人类解决问题时,并不是用技术来大幅度修改问题,而是试图提炼问题的本质,所以团队使用 Codex 来组织问题。

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

上图显示了如何使用 Codex 将课程问题转化为编程任务并运行程序来解决数学问题。每个面板的左半部分显示原始问题和通过添加上下文、交互或简化重新表述的问题。

添加问题背景是非常有必要的。对于学生和项目,问题域是选择合适的问题解决方法的必要信息。例如,如果没有问题上下文,关于网络的问题可能是关于神经网络的问题或关于通信网络的问题。

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

将问题翻译成 Codex 提示时,会出现另一个关键问题:原始问题与产生正确答案的后续提示在语义上的接近程度如何?

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

如图 3 所示,为了测量原始问题和转换后的问题之间的差距,他们使用 Sentence-BERT 嵌入之间的余弦相似度。Sentence-BERT 使用连体和三元网络结构对预训练的 BERT 模型进行微调。Sentence-BERT 能够在句子级别生成语义嵌入,从而在长文本中进行语义相似性比较。

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

他们还对原始问题和产生正确答案的转换版本之间的相似度得分进行了直方图,以进行评估。

图 4:最右侧的一列表示按原样正确回答或有非常微小变化的问题的百分比。

使用 Codex 生成提示也会产生一些问题。在某些课程中,直接用未转换的原始问题提示 Codex 不会导致正确答案。因此定义新运算怎么做,需要对原问题的形式进行改造,主要分为三类:

主题背景。向 Codex 提供与一般课程和具体问题相关的主题和子主题有助于指导 Codex 产生正确的答案。例如,对于概率中的条件期望问题,提供贝叶斯定理的背景、期望值等库背景。向 Codex 提供解决特定问题所需的编程包/库也将非常有帮助。例如,指导 Codex 在 Python 中使用 Numpy 包解决线性代数问题。定义背景。很多时候,食典委对某些术语缺乏明确的基础。例如,Codex 并不清楚扑克牌中“Full House”的含义。澄清这些术语的定义并让 Codex 理解它们可以更好地指导其程序合成。

此外定义新运算怎么做,他们使用 Codex 通过从数据集中创建问题编号列表来为每门课程生成新问题。此列表在生成随机数个问题后被截断,结果将用于提示 Codex 生成下一个问题。通过重复这个过程,可以为每门课程生成许多新问题。

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

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

图 6. 学生调查结果。小组 A 比较了手写问题的难度和根据学生评分为每门课程生成的问题。该图显示了 1(最简单)和 5(最难)之间的难度分数的平均值,以及它们的 95% 置信区间。面板 B 显示了被评为适合和不适合课程的人工编写和机器生成的问题的百分比。面板 C 显示了被评为人工编写或机器生成的问题的百分比。

但是,该研究也存在一些局限性,例如 Codex 只能接受基于文本的输入,因此该团队的方法无法处理输入图像,也无法用数字或图表等必要的视觉组件回答问题。其次,这项研究没有解决高级数学证明的问题,他们强调这是研究范围的限制,而不是法典的限制。

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

3 总结

该团队的研究表明,经过文本预训练和代码微调的变形金刚可以解决经过训练的数学问题,通过程序合成来解决、评分和生成大学水平。

问题集的生成和分析进一步验证了这些惊人的结果。这项研究成功地证明了现代编程语言可以用作替代表示和计算环境。由于他们的方法不需要额外的培训,因此可以扩展到其他 STEM 课程,对高等教育有很大帮助。

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

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

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

参考:

1. CQ Choi,AI 失败的 7 种揭示方式:神经网络可能非常脆弱、健忘,并且在数学方面出奇地糟糕。IEEE光谱。58, 42–47 (2021)

GAIR 2021 大会首日:18 位研究员的 40 年 AI 年,一场关于技术前沿的遗产和激烈辩论

2021-12-10

致敬传奇:中国并行处理四十年,从无人区探索到计算的黄金时代 盖尔 2021

2021-12-09

时间的力量——1991 年人工智能辩论 30 周年

2021-12-12

关于智慧、串行通信、连接到边缘、进化认知和机器融合的三种简单方式:听五位 IEEE 研究员谈论人工智能的未来 | 盖尔 2021

2021-12-25

新一代人工智能人才从何而来,又将何去何从?| GAIR 2021院长论坛

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论