既然你点开了这篇文章,说明你对自己的数学能力很有自信,那先来做个数学题吧!
看到下面这个一阶微分方程了吗?求 y 的通解。你有 30 秒的时间,用什么办法都可以,借助 Mathematica,MATLAB 或者 Maple 这样的计算工具都行,写代码的时间不算在内,只计入计算时间。
…
…
…
…
…
正确答案是:
答对了吗?如果没有也不要难过,这个方程非常难解,即使是 MATLAB 和 Mathematica 这样强大的数学运算软件在 30 秒之内也解不出来。
不过,Facebook AI 的研究人员 Guillaume Lample 和 Fran ois Charton 开发了一套新算法,可以在数秒内求解类似的方程。他们训练了一套神经网络来执行必要的符号推理和数学运算,首次实现了数学表达式的微分和积分。
这项成果是迈向更强大的数学推理工具的重要一步,也是利用神经网络的新方法。
在发现和识别规律上,神经网络可以有很好的表现,因此我们用它来执行面部识别、物体识别和自然语言识别等任务。
但是尽管付出了很大努力,仍然没人训练出一套可以高效完成数学类象征性推理任务的神经网络。在这方面,神经网络甚至比不上小学生的水平,最好成绩是学会整数的加法和乘法。
和人类相似,对于神经网络来说,分析高级数学表达式的难点之一在于解析式子中的简写模式。举个例子,x3 代表了 x 乘以 x 乘以 x,其中的 “乘法” 代表了重复的加法,而 “加法” 本身又代表了两个变量之和。
因此,一条看似简单的数学表达式,可能是由一系列更简单的数学运算高度精简之后得出的。
想让神经网络 “掌握” 这种逻辑非常困难。如果他们不明白简写的含义和规则,那么就几乎学不会如何使用它们,更不用说求解了。实际上,人类也有类似的问题,但解决办法通常是从小就开始灌输,形成习惯。
如果掀开数学简化规则的面纱,从本质上来讲,微分和积分的运算过程会涉及到规律识别。这给了神经网络发挥的机会,只要解决了简化的难题。
Lample 和 Charton 提出了一种优雅的解决方法,把神经网络的数学水平从小学提升到了大学。
他们先将数学表达式拆分为多个基本单位,然后教神经网络如何识别积分和微分中包含的数学运算模式,最后再用全新的表达式测试网络的表现,与传统运算工具 Mathematica 和 MATLAB 的表现进行对比。
在第一步中,研究人员采用了树状结构拆分表达式。树叶代表数字、常量和变量,比如 2 和 x,节点则代表运算符号,比如 + 和 -。
例如,表达式 2 + 3 x (5+2)可以分解成:
更复杂的表达式 3x2+cos(2x)-1 可以写成:
如果不同树的数学运算结果相同,那么它们就被视为是相同的,比如 2+3 和 1x5 是相同的。
这样一来,表达式的简化就等同于找到数的较短等价表示方法,很多数学运算就更好处理了。
这些树也可以写成多个节点连续组成的序列,而现有的一种名为 Seq2Seq 的模型正好可以很好地处理序列形式的信息。
实际上,Seq2Seq 通常用于机器翻译,将一长串的单词从一种语言翻译成另一种语言。“我们的方法本质上将数学视为一种自然语言,”两名研究人员表示。
图 | 拆分更复杂的表达式
下一步是训练过程,这需要大量的数据支持。Lample 和 Charton 通过从二进制运算符库中随机组合数学表达式来创建新的数据库,其中包含加减乘除、三角函数、变量和常数等等。他们还限制了树的节点数量,防止方程变得过于庞大。
针对随机生成的表达式,他们使用计算工具对其积分和微分。任何不能被积分的表达式都会被丢弃。
通过这样的操作,研究人员生成了超大规模的训练数据集,包含 8 千万个一阶和二阶微分方程,2 千万个分部积分表达式。
神经网络使用这些数据进行训练,学习如何对给定数学表达式求导或积分。
为了测试神经网络的表现,研究人员使用了它从没见过 5000 个表达式。它的计算结果还会与现有主流数学计算工具 Mathematica,MATLAB 和 Maple 进行对比,限时 30 秒得出计算结果。这些计算工具使用的算法是美国数学家 Robert Risch 在 1960 年代提出的简化版本。
图 | 神经网络与三种主流计算工具的表现对比
测试结果显示,神经网络模型的准确率明显优于 Mathematica,在积分任务上的准确率高达 99.6%,而 MATLAB 和 Maple 甚至还不如 Mathematica,跟神经网络更没有可比性。
在许多情况下,传统计算工具在尝试 30 秒之后根本无法得出结果,而神经网络只需要 1 秒。文章开头的表达式就是其中之一。
另一个有趣的发现是,神经网络通常会找到相同问题的不同解,因为表达式有很多种不同的写法。这让研究人员感到惊讶。
图 | 传统计算工具 30 秒之内算不出结果的表达式
“该模型在未经针对性训练的情况下就能找到等效表达式,非常吸引人,”Lample 和 Charton 表示,“据我们所知,目前还没有针对神经网络检测数学表达式模式能力的研究。这是一个重大突破。”
研究人员没有透露 Facebook AI 会如何利用这套算法。不过他们认为,在日趋复杂的计算数学世界中,更加强大的运算能力是必不可少的,在标准数学运算框架下引入神经网络必会成为未来的趋势。
-End-
翻译:Ren
参考:
https://www.technologyreview.com/s/614929/facebook-has-a-neural-network-that-can-do-advanced-math/