NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - AI模型在线查看 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割 - 3D道路快速建模
在处理密集、计算量大的数学问题时,计算机系统一直是人类最好的朋友。从计算器上的简单计算到 R 中的大型统计运算,这一技术前沿使我们很多人的生活变得更加轻松。
然而,即使是计算机,当数字变成字母并开始涉及代数时,也会出现故障。人们可能希望随着日益复杂的机器学习和人工智能算法的出现,这个问题可以得到解决——但希望和梦想仍然只是希望和梦想……直到现在。
Facebook AI 的优秀员工最近发布了一篇研究论文,他们使用一种称为神经机器翻译的方法“教”计算机如何解微分方程。然而,阅读学术论文对某些人来说可能是一项繁琐的任务,因此这里是对向计算机教授符号数学的实际情况的解构版本。
1、问题是什么?
神经网络已经存在了很长时间(实际上从 1958 年开始),但直到最近,它们在代数方程求解方面的应用才有了重大进展。
你可能想知道,在这个不断研究和突破的时代,为什么要花这么多时间才能完成看似相当容易的任务。然而,就像神经网络的情况一样,没有什么事情看起来那么简单。
上述陈述几乎完美地总结了这个问题。神经网络一直用于统计数据,使用不同形式的模式识别来学习给定的任务。
传统的模式匹配可以让网络识别出像素的特定排列应该被归类为狗,但不能让它求解多元方程。求解复杂方程需要比泛化更高的精度,而泛化并不是神经网络所做的。
此外,在求解方程时,人类往往会对如何处理特定问题有“直觉”。我们往往对最终解决方案的组成有一个大致的了解,我们的整个思维过程都是为了证明这一点。如果没有直觉或预知能力,计算机系统在解决复杂方程式时基本上会迷失方向。
2、方程式求解 AI 是如何诞生的
让我们深入了解一下,了解研究人员如何实现这一以前不可能实现的壮举。
复杂方程式被视为 NLP(自然语言处理)的一部分,因此,研究人员更倾向于使用 NLP 领域中先前已证明有效的技术来解决这个问题。接下来是利用神经机器翻译 (NMT) 将问题转化为解决方案的天才之举。
听起来很奇怪,但提出的方法效果出奇地好,与基于代数的方程式求解软件(如 Matlab 或 Mathematicia)相比,速度和准确性显著提高。
2.1 将方程式转换成句子
NLP 技术通常应用于单词或单词序列以生成适当的输出。研究人员决定用于解决此问题的 NMT 技术本质上是一个序列到序列 (seq2seq) 神经网络。
seq2seq 模型本质上将一个单词序列作为输入,并输出一个具有某种含义的序列。因此,要将方程式应用于 seq2seq 模型,研究人员首先需要将它们转换为单词序列。
为了实现这一点,研究人员决定采用两步方法。最初,开发了一个系统,该系统本质上是解开提供的方程式并将其放在树状结构中。
这种“树状结构”成功地为符号方程式提供了一个更易于理解的视角,然后将其扩展为一种可以与所提出的 seq2seq 模型很好地配合的形式。
树的结构是这样的:常量和变量成为叶子,而运算符充当内部节点,连接树的不同分支。继续使用方程式句子类比,数字和变量可以看作是句子中的名词,而运算符本质上充当动词。
这种方法帮助研究人员利用了强大的 seq2seq NMT 模型,该模型以前用于句子和单词序列;只是这次,单词被变量和运算符取代了。
2.2 训练提出的模型
鉴于这是一种通过深度学习解决方程式的全新方法,因此没有为此特定目的而精心挑选的数据集。这是训练模型时面临的首要挑战——没有任何数据就无法训练模型。
为了确保准确性,研究人员决定创建自己的数据集,其中包含特定问题,以确保模型在测试时的准确性。在整理数据时,我们发现了一个有趣(且相当令人沮丧)的问题:由于方程最终会被积分(或微分),所以并非所有方程都有解。因此,数据集需要完全新颖,即以树的形式重构已解方程的示例。
研究人员在数据采集和积累过程中注意到一个有趣的现象:最终,数据集归结为问题-解决方案对,这与翻译成其他语言的词库相似。最终的训练数据集包含数百万个示例。
训练过程的下一阶段需要将此数据集应用于所提出的模型。因此,数据集在 seq2seq Transformer 模型架构上进行训练,该架构具有八个注意力头和六层。Transformer 通常用于翻译任务,网络本质上是将问题转化为解决方案。
3、这个模型真的有效吗?
现在你对底层机制有了更多的了解,你可能会想知道计算机程序是否真的可以将微分方程转化为它们的解。为了测试这个模型,研究人员为其提供了 5,000 个未见过的方程(即不属于训练数据的方程),并迫使模型识别模式并求解方程。
经测试,该模型对积分问题的准确率高达 99.7%,对一阶和二阶微分方程的准确率分别为 94% 和 81.2%,令其他传统方程求解器相形见绌。
相比之下,Mathematicia 对基于积分的问题取得了第二好的结果,准确率为 84%,而对一阶和二阶微分方程的准确率分别为 77.2% 和 61.6%。与其他软件相比,该模型在 0.5 秒内成功给出了最大预测,而其他软件则需要几分钟或完全超时。
Charton 和 Lample 提出了一个有趣的观察,即该模型有时会为一个问题预测多个解决方案。考虑到开发该模型的翻译方法,这完全是有道理的,因为对于给定的单词序列,通常存在多个翻译(具有不同的含义)。
4、下一步是什么?
Charton 和 Lample 提出的模型目前只能解决单变量方程。但这并不是人们在阅读《下一步是什么?》时想到的。
当然,这项工作让我们深入了解了神经网络可以以非传统方式应用的方式。这些不断发展的模型被设计得坚定而聪明,这两个特质有利于揭示现有学术和实践数学方法中的盲点。
该模型通过以最疯狂的方式应用 NLP 技术,提出并实现了一项长期以来被认为对神经网络来说不可能完成的任务。这项研究为更广阔的视角和大量的开放式问题打开了大门,这些问题最终可能会被愿意冒险的人以完全非正统的方式解决。
原文链接:Solving equations using neural networks: Exploring Facebook AI’s latest research effort
BimAnt翻译整理,转载请标明出处