神经网络还能求解高级数学方程吗(教你用神经网络求解高级数学方程!)

admin 婚礼暖场 2023-03-29 00:49 129
神经网络还能求解高级数学方程吗(教你用神经网络求解高级数学方程!)

自变量x开n次方余弦函数不定积分法教你用神经网络解高等数学方程!

作者:弗朗索瓦查顿,纪尧姆兰普尔,

翻译:冯玉

校对:吴金娣

这篇文章是关于2650字,的,我建议阅读10分钟.

介绍了一种利用深度学习中的神经机器翻译(NMT)技术求解方程问题的方法和系统。该系统在更广泛的领域展示了深度学习的潜力。

标签:神经网络

脸书人工智能建立了第一个可以使用符号推理来解决高级数学方程的人工智能系统。通过开发一种新的方法来将复杂的数学表达式表达为语言,然后将解决方案视为序列到序列的神经网络翻译问题,我们构建了一个在解决积分问题和一阶和二阶微分方程方面优于传统计算系统的系统。

此前,这类问题被认为是深度学习模型无法解决的,因为求解复杂方程需要的是精度而不是近似。神经网络擅长通过近似来获得成功,例如,识别特定模式的像素很可能是一只狗的图片,或者一种语言的句子特征与另一种语言的句子特征相匹配。解复杂方程还需要处理符号数据的能力,比如方程b-4ac=7中的字母。这样的变量可以& amp#039;不能直接相加、相乘或相除。仅通过使用传统的模式匹配或统计分析,神经网络局限于极其简单的数学问题。

我们的解决方案是一种全新的方法,可以把复杂的方程当作语言中的句子来处理。这使我们能够充分利用已被证明在神经机器翻译(NMT)中有效的技术,并通过训练模型将问题转化为解决方案。为了实现这种方法,需要开发一种方法,将现有的数学表达式分解成相似的语言语法,并生成超过100M配对方程和解的大规模训练数据集。

当有成千上万个未知表达式时(这些方程不是训练数据的一部分),我们的模型比传统的代数方程求解软件,如Maple、Mathematica和Matlab,表现出更快的速度和更高的精度。这项工作不仅表明深度学习可以用于符号推理,还表明神经网络具有解决各种任务的潜力,包括与模式识别无关的任务。我们将分享我们的方法和生成相似训练集的方法的细节。

擅长符号数学的人往往依靠一种直觉。他们对给定问题的解应该是什么有一种感觉,比如观察积分函数中是否有余弦,这意味着它的积分中可能有正弦,然后做必要的工作来证明这种直觉。这和代数要求的直接计算不同。通过训练模型来检测符号方程中的模式,我们认为神经网络可以拼凑出导致其解决方案的线索,这大致类似于人类对复杂问题的直觉方法。因此,我们开始探索作为NMT问题的符号推理。在该模型中,模型可以根据问题实例及其匹配解预测可能的解。

作为一个例子,我们的方法将展示如何将左边的现有等式扩展到表达式树,该表达式树可以用作翻译模型的输入。对于这个方程,模型的前序输入为:(加,乘,3,幂,x,2,减,余弦,乘,2,x,1)。

为了使用神经网络实现这一应用,我们需要一种新颖的方式来表达数学表达式。NMT系统通常是序列到序列(seq2seq)模型,使用单词序列作为输入,输出新的序列,从而允许它们翻译完整的句子,而不是单个单词。我们使用两步法将这种方法应用于符号方程。首先,我们开发了一个过程来有效地分解方程,并将分解的方程排列在树结构的分支中,然后将树结构扩展为与seq2seq模型兼容的序列。常数和变量充当树叶,而运算符(如加号和减号)和函数是连接树的分支的内部节点。

虽然它看起来可能不像传统的语言,但以这种方式组织表达式可以为方程提供类似语言的语法,其中数字和变量是名词,运算符充当动词。我们的方法使NMT模型能够学习将给定的树结构问题的模式与其匹配方程(也表示为树)的解对齐,这类似于将语言的句子与确认的翻译进行匹配。这种方法使我们能够使用强大的现成的seq2seq NMT模型来用符号序列替换单词序列。

一种应用NMT的新方法

虽然我们的expression ——树语法使得NMT模型在理论上可以有效地将复杂的数学问题转化为方程的解,但是训练这样的模型将需要大量的例子。而且因为我们关注的两类问题(积分和微分方程),随机产生的问题并不总是有解的,所以我们可以& amp#039;不要简单地收集方程式并输入系统。我们需要生成一个全新的训练集,包括作为模型可读表达式树重建的求解方程的例子。这产生了一组二进制方程和解,类似于在语言之间翻译的句子语料库。我们的收集也必须比该领域以前的研究中使用的训练数据大得多,这些研究试图系统地训练成千上万个例子。由于神经网络只有在拥有更多训练数据时才会表现得更好,因此我们创建了一个包含数百万个示例的集合。

建立这个数据集需要我们整合一系列的数据清洗和生成技术。比如我们的符号积分方程,我们把翻译方法反过来了:不是生成问题,求其解,而是生成解,求其问题(其导数),这是一件容易得多的事情。这种从解决方案中产生问题的方法(有时被工程师称为陷阱问题)使得创建数百万个整数示例变得可行。我们的翻译启发数据集包括大约1亿个成对的例子,包括积分问题和一阶和二阶微分方程的子集。

我们使用这个数据集来训练seq2seq transformer模型,该模型具有8个注意头和6个层。t

ransformer通常用于翻译任务,而我们的网络旨在预测各种方程的解,例如确定给定函数的不定积分。为了评估模型的性能,我们向模型提供了5000种未知表达式,使系统识别出训练中未出现的方程模式。我们的模型在求解积分问题时显示出99.7%的准确度,对于一阶和二阶微分方程,它们的准确度分别为94%和81.2%。这些结果超出了我们测试的所有三个传统方程求解器的结果。Mathematica取得了次佳的结果,在相同的积分问题上准确度为84%,对于微分方程结果的准确度为77.2%和61.6%。我们的模型还可以在不到0.5秒的时间内返回大多数预测,而其他系统则需要几分钟来找到解决方案,有时甚至会完全超时。

我们的模型将左侧的方程式(Mathematica和Matlab都无法求解的方程式)作为输入,并且能够在不到一秒钟的时间内找到正确的解决方案(如上图所示)。

将生成的解决方案与参考解决方案进行比较,使我们能够轻松,准确地验证结果。但是我们的模型也为给定方程生成了多个解。这类似于机器翻译中发生的事情,在机器翻译中,有很多翻译输入句子的方法。

AI方程求解器的下一步是什么

目前,我们的模型适用于单变量问题,我们计划将其扩展为多变量方程。这种方法还可以应用于其他基于数学和逻辑的领域,例如物理领域,从而有可能开发出可帮助科学家进行广泛工作的软件。

但是我们的系统对于神经网络的研究和使用具有更广泛的意义。通过在以前认为不可行的地方发现一种使用深度学习的方法,这项工作表明其他任务可以从人工智能中受益。无论是通过将NLP技术进一步应用到传统上与语言没有关联的领域,还是通过在新的或看似无关的任务中对模式识别进行更开放的探索,神经网络的局限性可能来自想象力的局限,而不是技术。

撰写者

弗朗索瓦·沙顿 Facebook AI客座企业家

纪尧姆·兰普尔 Facebook AI研究科学家

原文

Using neural networks to solve advanced mathematics equations

原文链接:

https://ai.facebook.com/blog/using-neural-networks-to-solve-advanced-mathematics-equations/

编辑:于腾凯

校对:林亦霖

译者简介

冯羽,算法工程师。负责设计个人或企业信用风险评估算法、市场风险评估算法、仿真优化算法等。数据派志愿者。

—完—

关注清华-青岛数据科学研究院官方微信公众平台“ AI数据派 ”及姊妹号“ 数据派THU ”获取更多讲座福利及优质内容。

神经网络求解三维对流方程 神经网络解线性方程组
相关推荐

评论列表
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~
关闭

用微信“扫一扫”