Facebook的神经网络也可以计算积分和求解微分方程啦!尽管其他的神经网络还没有超越简单的加减法和乘除法。这是怎么回事呢?让我们来一探究竟!
近日,Facebook AI Research的研究人员Guillaume Lample 和 François Charton 开发了一套新算法,只需一点思考的时间就可以解出一阶微分方程。他们训练了一个神经网络来执行必要的符号推理,首次实现了对数学表达式的微分和积分。这项成果是迈向更强大的数学推理的重要一步,也是利用神经网络超越传统模式识别任务的新方法。
在模式识别任务(如面部和物体识别,某些自然语言处理,甚至是玩象棋、围棋和太空侵略者这样的游戏)上,神经网络已经取得了巨大的成就。但是,尽管付出了很大努力但仍没人能够训练神经网络完成像数学那样的符号推理任务,神经网络所取得的最好成绩是整数的加法和乘法。神经网络和人类相似,分析高级数学表达式的难点之一是它们所依赖的简写。例如,表达式是x乘以x乘以x的简写形式。要让神经网络 “掌握” 这种逻辑非常困难。如果它们不明白简写代表什么,那么就几乎学不会如何使用简写。实际上,人类也有类似的问题,但解决办法通常是从小就开始灌输。
从本质上来讲,微分和积分的运算过程仍涉及到模式识别,尽管被数学简写所遮蔽。
将数学式表示为自然语言
Lample和Charton 提出了一种优雅的解决方法:他们先将数学简写拆分为基本单位;然后教神经网络去识别积分和微分中包含的数学运算模式;最后他们再用全新的表达式去测试神经网络,并将结果与传统运算器(如Mathematica和Matlab)进行对比。
这个过程的第一步,是把数学表达式分解成它们的组成部分,Lample和Charton通过将表达式表示为树状结构来实现:这些树上的叶子是数字、常量和变量,如x;内部节点是运算符,如加法、乘法、微分等。
如:表达式
可分别表示为:
如果不同树的数学运算结果相同,那么就认为这些树是相同的,如:2 + 3 = 5 = 12 - 7 = 1 x 5是相同的。这样以来,表达式简化相当于找到一个更短的等价树表示。这些树也可以写成每个节点连续组成的序列,现在正好可以被一种名为Seq2Seq的神经网络来处理。这种方法也被用于机器翻译:其中一种语言的单词序列必须翻译成另一种语言的单词序列。而他们的方法本质上是将数学视为一种自然语言。
下一步就是训练过程,这需要大量的数据来学习。Lample 和 Charton 通过从二元运算符库(如加法、乘法等)、一元运算符库(如cos、sin和exp)以及一组变量、整数和常数(如π和e)中随机组合数学表达式来创建新的数据库。他们还限制了树的内部节点数量,以免方程变得过于庞大。即使节点和数学组件的数量相对较少,可能的表达式也是很多的。然后利用计算机代数系统对每个随机方程进行积分和微分;任何无法积分的表达式都会被丢弃。
通过这种方式,研究人员生成了一个庞大的训练数据集,其中包含8000万个一阶和二阶微分方程示例、2000万个分部积分表达式示例。神经网络使用这些数据集进行训练,学习如何对给定的数学表达式求导或积分。
最后,Lample和Charton在神经网络中输入了5000个以前从未见过的表达式,并将500个例子的结果与商业软件(如Maple、Matlab和Mathematica)等的结果进行了比较。
结果显示,在所有的任务中,都观察到神经网络明显优于Mathematica;在函数积分方面,神经网络的准确性接近100%,而Mathematica勉强达到85%;Maple和Matlab软件包的平均性能不如Mathematica。
在许多情况下,传统的运算器在30秒的时间内根本找不到解;而神经网络需要大约1秒钟就能找到解。
论文简介:求解器的未来是数学框架+神经网络
论文链接:https://arxiv.org/pdf/1912.01412.pdf
本文证明了标准seq2seq模型可以应用于诸如函数积分或求解微分方程之类的困难任务。本文提出了一种生成任意大的方程式数据集及其相关解的方法,并证明了在这些数据集上训练的简单转换器模型在计算函数积分和求解微分方程方面都表现出色,其表现优于依赖大量算法和启发式方法的最新数学框架(如Matlab或Mathematica) ,以及复杂的其他实现方式。
实验结果还表明,该模型能够以完全不同的方式编写相同的表达式。鉴于神经模型难以执行更简单的任务(例如整数加法或乘法),因此这些结果令人惊讶。但是,提出的假设有时是不正确的,并且通常需要考虑多个波束假设才能获得有效的解决方案。模型本身并未提供解决方案本身的有效性,而是由外部符号框架提供的。这些结果表明,将来,标准数学框架可能会将神经网络组件集成到求解器中,从而提高性能。
图1 不同运算符和表达式下的树和叶子的不同数量
图2 本文seq2seq模型求解微分方程/积分方程精度与其他求解方案的对比
图3 本文seq2seq模型求解测试集500个方程的精度与Mathematica, Maple和Matlab求解结果的对比
该论文一出,各学术研究者都纷纷加入了激烈的讨论之中!
对于这个新的研究成果,您怎么看?